2017-08-01 70 views
1

我想創建一個使用Visual Studio代碼的系統不可知項目。該項目將運行在x86/64 Linux以及Arm32 Linux和Windows上。這個項目需要依靠Mono。Visual Studio代碼:使用單聲道並啓用智能感知

我在所有系統上安裝了VSCode。我有調試工作(通過mcs)。一切似乎都OK ......除了智能感知。我需要這個功能的工作(我在一個團隊,並表示缺乏將是一個交易斷路器)

現在,經過研究,我發現DNX是我必須安裝爲Mono項目啓用IntelliSense。除此之外,DNX已過時。所有教程(針對example)都指向返回404的腳本.DDNX git站點顯示「只使用.net核心」..我無法在此項目中使用.net核心。我必須使用Mono。

因此,最後,我的問題是:當我的項目使用Mono作爲運行時時,如何讓IntelliSense在VSCode中工作?

謝謝任何​​見解!

回答

0

我用同樣的環境,並能解決這個問題,通過以下步驟:

首先安裝一些C#擴展名(我使用的是微軟一個,網址爲: https://marketplace.visualstudio.com/items?itemName=ms-vscode.csharp

在Visual Studio 2013或其他版本(不是VS代碼)中創建一個新項目。此過程將創建文件YourProject.csprojYoutProject.sln

之後,我用這個projetc的文件夾,並在VS代碼中選擇選項打開文件夾
VS代碼自動搜索的.sln文件,像這裏(https://code.visualstudio.com/docs/languages/csharp)描述和轉錄如下:

可用選項包括:

  • 選擇project.json文件將打開.NET Core項目和VS Code將加​​載該項目以及所引用的項目。
  • 選擇* .sln文件打開一個MSBuild項目。它將加載引用的* .csproj項目和兄弟或後代project.json文件,但不會加載從解決方案文件引用的其他項目文件。
  • 選擇一個文件夾將使VS Code掃描* .sln,project.json和* .csx文件(C#腳本)和VS Code將嘗試加載它們全部。

從我的智能感知這一點開始正常工作。但這不是結局。對於添加到項目中的所有新文件.cs,有必要將它們添加到YourProject.csproj,以便使智能感知工作也適用於此新文件。外觀爲TAG 的ItemGroup在這個文件中,並添加新的文件,如下面的例子:

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

不要忘記,以重建tasks.jsonlaunch.json文件編譯和調試你的項目。 (用於調試我明白你已經在使用,我安裝了單聲道調試在:https://marketplace.visualstudio.com/items?itemName=ms-vscode.mono-debug) PS。也許你手邊沒有Visual Studio,但可以嘗試手動創建這些文件。不幸的是我沒有嘗試這種方法...
祝你好運!