3

我引用 Gtk# 并使用 Mono 构建,在 VS Code (code.visualstudio.com) 中编写我的代码。我想要 C# 的智能感知。“智能感知”是指正确的功能、成员等提出“。” - 这与基于文件中其他代码的预测性建议不同。

我已经尝试过当前的 Microsoft C# 扩展 ( https://marketplace.visualstudio.com/items?itemName=ms-vscode.csharp ) 以及旧版 Microsoft C# 扩展 ( https://marketplace.visualstudio.com/items ?itemName=ms-vscode.omnisharp)。

这两者似乎都使用 OmniSharp 作为提供智能感知的手段,并且都加载 MS Build 文件和/或“project.json”文件。

当前的 Microsoft C# 扩展似乎使用“project.json”文件,这些文件似乎遵循专门用于 .NET Core 的架构。无论如何,我尝试通过从 Mono DLL 中创建本地 GtkSharp NuGet 包来利用这一点,但是我无法“dotnet restore”,因为这些 NuGet 包与 .NET Core 不兼容。我跟着:https ://docs.nuget.org/ndocs/hosting-packages/local-feeds和https://docs.nuget.org/ndocs/create-packages/creating-a-package

如果我使用 Visual Studio 生成解决方案 (.sln) 和项目 (.csproj) 文件,旧版 Microsoft C# 扩展将起作用。VS Code 然后识别这些文件并正确使用智能感知。尝试手动滚动解决方案和项目文件失败,因为在使用此方法进行设置时,OmniSharp 正在寻找很多条目。

从根本上说,我想提供一个简单的轻量级配置,上面写着:“这是我的代码(.cs 文件),这是我引用的程序集(.dlls)以及它们的注释文件(.xml)” - 然后有VS Code 为这些文件和引用的程序集提供智能感知。.NET Core“project.json”文件很简单,但不兼容。MS Build 文件比我正在寻找的文件要复杂得多,并且需要 Visual Studio(或者可能对 MS Build 有更深入的了解)来生成 OmniSharp 兼容文件。我正在寻找构建配置和智能感知配置之间的分离。

如何在不使用 .NET Core 或 MSBuild 的情况下配置 VS 代码以支持 C# 的智能感知?

这与构建系统无关,并且严格涉及使用 Microsoft 提供的基于 OmniSharp 的 C# VS Code 扩展之一提供智能感知支持,而无需使用“project.json”或 MS Build 配置文件。

4

0 回答 0