我正在尝试使用Visual Studio Code创建一个与系统无关的项目。该项目将在x86 / 64 Linux以及Arm32 Linux和Windows上运行。这个项目需要依赖Mono。
我在所有系统上都安装了VSCode。我有调试工作(通过mcs)。一切似乎都没问题......除了IntelliSense。我需要有这个功能工作(我在一个团队,团队说缺乏那将是一个交易破坏者)
现在,经过研究,我发现DNX是我必须安装的才能为Mono项目启用IntelliSense。除此之外,DNX已经过时。所有教程(对于example)都指向返回404的脚本.DNX git站点说"只需使用.net核心" ..我不能使用.net核心来完成这个项目。我必须使用Mono。
所以,最后,我的问题是:当我的项目使用Mono作为运行时,如何让IntelliSense在VSCode中工作?
感谢您的任何见解!
答案 0 :(得分:0)
我使用相同的环境,可以通过以下步骤解决此问题:
首先安装一些C#扩展程序(我使用Microsoft的一个,在: https://marketplace.visualstudio.com/items?itemName=ms-vscode.csharp)
在Visual Studio 2013或其他版本(不是VS Code)中创建新项目。此过程将创建文件 YourProject.csproj 和 YoutProject.sln 。
之后,我使用了此projetc的文件夹,在VS Code中选择打开文件夹选项。
VS Code自动搜索 .sln 文件,如此处所述(https://code.visualstudio.com/docs/languages/csharp)并转录如下:
可用选项包括:
- 选择project.json文件将打开.NET Core项目,VS Code将加载该项目以及引用的项目。
- 选择* .sln文件将打开一个MSBuild项目。它将加载引用的* .csproj项目和兄弟或后代project.json文件,但不会加载从解决方案文件中引用的其他项目文件。
- 选择文件夹将对* .sln,project.json和* .csx文件(C#脚本)进行VS代码扫描,VS代码将尝试加载它们。
从这一点开始,我的intellisense开始工作正常。但这不是结束。对于您添加到项目中的所有新 .cs 文件,必须将它们添加到 YourProject.csproj ,以使intellisense也适用于此新文件。在此文件中查找TAG ItemGroup 并添加新文件,如下例所示:
<ItemGroup>
<Compile Include="Program.cs" />
<Compile Include="Properties\AssemblyInfo.cs" />
<Compile Include="YourNewFile.cs" />
</ItemGroup>
不要忘记重新创建 tasks.json 和 launch.json 文件,以便编译和调试项目。 (对于Debug,我知道你已经在使用,我安装了 Mono Debug :https://marketplace.visualstudio.com/items?itemName=ms-vscode.mono-debug) PS。也许您手边没有Visual Studio,但您可以尝试手动创建这些文件。不幸的是我没有尝试这种方法...... 祝你好运!