2017-08-01 4 views
1

Ich versuche, ein System-Agnostic-Projekt mit Visual Studio Code zu erstellen. Dieses Projekt wird auf x86/64 Linux sowie Arm32 Linux und Windows laufen. Dieses Projekt muss von Mono abhängen.Visual Studio-Code: Verwenden von Mono und Aktivieren von IntelliSense

Ich habe VSCode auf allen Systemen installiert. Ich habe Debugging (über mcs). Alles scheint in Ordnung zu sein ... außer IntelliSense. Ich muss diese Eigenschaft arbeiten lassen (ich bin in einem Team und das Team sagte, dass der Mangel dort ein Abschalter sein würde)

Jetzt, nach Forschung fand ich, dass DNX ist, was ich installieren musste Aktivieren Sie IntelliSense für Mono-Projekte. Außer, DNX ist veraltet. Alle Tutorials (für example) zeigen auf Skripts, die 404 zurückgeben. Die DNX-Git-Site sagt: "Benutze einfach .net core". Ich kann .net core nicht für dieses Projekt verwenden. Ich muss Mono verwenden.

Also, meine Frage ist: Wie bekomme ich IntelliSense in VSCode arbeiten, wenn mein Projekt Mono als Laufzeit verwendet?

Vielen Dank für einen Einblick!

Antwort

0

ich die gleiche Umgebung bin mit und konnte dieses Problem mit dem folgenden Verfahren beheben:

allererst einige C# Erweiterung installieren (ich bin mit dem Microsoft ein, unter: https://marketplace.visualstudio.com/items?itemName=ms-vscode.csharp)

Erstellen Sie ein neues Projekt in Visual Studio 2013 oder einer anderen Version (nicht VS-Code). Diese Prozedur erstellt unter anderem die Datei YourProject.csproj und YoutProject.sln.

Danach habe ich den Ordner dieses Projekts verwendet, und in VS Code wählen Sie die Option Ordner öffnen.
VS-Code sucht automatisch nach einer SLN Datei, wie hier beschrieben (https://code.visualstudio.com/docs/languages/csharp) und unter transkribiert:

Die verfügbaren Optionen sind:

  • eine project.json Datei auswählen, wird ein öffnen .NET Core-Projekt und VS-Code laden dieses Projekt und die referenzierten Projekte.
  • Durch Auswählen einer * .sln-Datei wird ein MSBuild-Projekt geöffnet. Es wird die referenzierten * CSPROJ Projekte und Geschwister oder Nachkommen project.json Dateien, aber keine anderen Projektdateien laden, die aus der Lösung Datei referenziert werden.
  • einen Ordner auswählen, wird VS-Code für * SLN, project.json scannen machen und * .csx Dateien (C# Skripte) und VS-Code wird versuchen, sie alle zu laden.

Von diesem Punkt an meiner Intellisense begann gut zu funktionieren. Aber es ist nicht das Ende. Für alle neuen CS- Dateien, die Sie dem Projekt hinzufügen, ist notwendig, um sie an die YourProject.csproj, um hinzuzufügen, um die Intellisense Arbeit für diese neue Datei zu machen.Suchen Sie nach der TAG ItemGroup in dieser Datei und fügen Sie Ihre neue Datei, wie im folgenden Beispiel:

<ItemGroup> 
    <Compile Include="Program.cs" /> 
    <Compile Include="Properties\AssemblyInfo.cs" /> 
    <Compile Include="YourNewFile.cs" /> 
</ItemGroup> 

Vergessen Sie nicht die tasks.json und launch.json Dateien, um neu zu erstellen zu kompilieren und debuggen Sie Ihr Projekt. (für Debug Ich verstehe, dass Sie bereits verwenden, installierte ich die Mono Debug bei: https://marketplace.visualstudio.com/items?itemName=ms-vscode.mono-debug) PS. Vielleicht haben Sie kein Visual Studio zur Hand, aber Sie können versuchen, diese Dateien von Hand zu erstellen. Leider habe ich diese Methode nicht versucht ...
Viel Glück!

Verwandte Themen