Visual Studio Code: 使用 Mono 并启用 IntelliSense

3
我正在尝试使用Visual Studio Code创建一个系统无关的项目。该项目将在x86/64 Linux,Arm32 Linux和Windows上运行。此项目需要依赖Mono。
我已经在所有系统上安装了VSCode。我通过mcs进行调试工作。一切似乎都没问题...除了IntelliSense。我需要使这个特性工作(我在一个团队中,团队表示缺少这一功能将是一个硬伤)
现在,经过研究,我发现DNX是我必须安装才能使Mono项目启用IntelliSense的东西。但是,DNX已经过时了。所有教程(例如)指向返回404的脚本。 DNX git网站上说,“只需使用.net core”...但我不能为这个项目使用.net core。我必须使用Mono。
因此,我的问题是:当我的项目使用Mono作为其运行时,如何使IntelliSense在VSCode中工作?
感谢您的任何见解!
1个回答

2

我使用相同的环境,并通过以下步骤解决了这个问题:

首先安装一些C#扩展(我使用的是Microsoft的扩展,链接为:https://marketplace.visualstudio.com/items?itemName=ms-vscode.csharp

在Visual Studio 2013或其他版本中创建一个新项目(不是VS Code)。此过程将创建文件YourProject.csprojYoutProject.sln等。

之后,我使用了这个项目的文件夹,在VS Code中选择了打开文件夹选项。
VS Code会自动搜索一个.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#脚本),并尝试加载所有这些文件。
从这一点开始,我的智能感知开始正常工作了。但这还不是结束。对于所有新添加到项目中的.cs文件,有必要将它们添加到YourProject.csproj中,以便为这个新文件也启用智能感知功能。在此文件中查找TAG ItemGroup,并添加您的新文件,如下例所示:
<ItemGroup>  
    <Compile Include="Program.cs" />  
    <Compile Include="Properties\AssemblyInfo.cs" />  
    <Compile Include="YourNewFile.cs" />  
</ItemGroup>  

不要忘记重新创建tasks.jsonlaunch.json文件,以便编译和调试您的项目。(对于Debug,我理解您已经在使用了,我安装了Mono Debug在:https://marketplace.visualstudio.com/items?itemName=ms-vscode.mono-debug) PS. 也许您手头没有Visual Studio,但您可以尝试手动创建这些文件。不幸的是,我没有尝试过这种方法...
祝好运!


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接