10

我正在使用 Visual Studio Code,并且我已经将 C# OMNISharp 插件加载到我的系统中,并且它在我现有的项目/解决方案中运行良好。

但是,我刚刚在 Visual Studio 代码中创建了一个新解决方案和一个新项目,听起来对于这个特定的解决方案,Intellisense 或任何其他 Omnisharp 功能都不起作用。我尝试过以下事情:

  • 重新启动 Visual Studio 代码
  • 禁用和启用我的 OmniSharp 插件

另外,我注意到的一件事是,当在 Visual Studio 中创建解决方案时,它有很多代码,如下所示:

Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "src", "src", "{AEA16303-6991-4FF1-A3A9-72D892D7968C}"
EndProject

基本上,这些都是项目参考。但是,当 Visual Studio Code 创建解决方案时,就没有这样的部分了。该解决方案可以正常运行和编译,只是它看起来与 Visual Studio 解决方案的外观根本不同。

但是,似乎没有任何效果。有什么我可以尝试让它工作的吗?有任何想法吗 ?

4

7 回答 7

12

这是由将 *.sln 和 *.csproj 添加到“files.exclude”设置中引起的。

尝试这个:

Code -> Preferences -> Settings -> "omnisharp.useMono": true/false

从设置文件中删除。

或者,首先使用MonoDevelop或 Visual Studio 2015/2017打开您的项目,然后重新打开 VS-Code。


编辑1:尝试设置"omnisharp.useGlobalMono": never然后重新启动omnisharp服务器。学分:The_Wolfkao peter

于 2018-01-16T17:18:21.443 回答
6

你是如何创建这个项目的?为了使 Intellisense 正常工作,项目需要具有特定的结构。

假设您安装了 .net core sdk for mac 和omnisharp 扩展:

尝试以下操作:

  1. 打开您的集成终端(查看 => 集成终端)
  2. 创建一些新目录来托管测试项目,例如“testproj”=>mkdir testproj

  3. 使用 dotnet cli 初始化项目 =>dotnet new console

看看你有没有智能感知。
我还建议在 Mac 介绍视频上观看 .net 核心

于 2018-01-13T10:21:45.580 回答
3

在 VS Code v1.43.2 中,将以下行添加到对我有用的设置中:

"omnisharp.useGlobalMono": "never"

设置的值“从不”必须用双引号引起来,否则会被标记为红色。即使有引号,它仍然以黄色突出显示。不知道为什么,因为那里的所有其他选项/值都是蓝色的。我认为这表明某种警告,但它有效。

(顺便说一句,我很想了解“全球安装的单声道”是什么。但是我在这里唯一的兴趣是让 IntelliSense 工作,所以回复:omnisharp 我恳求“newb”。)

于 2020-04-17T23:51:09.977 回答
2

这对我有用

"omnisharp.useGlobalMono": "never"
于 2020-09-20T22:38:59.513 回答
2

您的新解决方案和项目是在 Windows 10 的“OneDrive”文件夹中创建的吗?在最新的 Windows 10 版本中,当项目驻留在 OneDrive 文件夹中且启用了“按需文件”功能时,C# 插件无法启动。请在 Github 上查看这个问题

于 2018-01-10T01:47:58.690 回答
1

就我而言,安装 C# 扩展后,我必须单击扩展上的设置图标,然后单击“添加到工作区建议”

于 2021-06-03T14:21:20.260 回答
1

我的情况是,问题来自我项目的资源文件夹。

我在资源中添加了一个 Visual Studio.sln文件用作模板,但我以某种方式使用自定义标签“可变”了它。OmniSharp 试图解析它并且显然失败了,但是在 VSCode 中没有弹出错误,它只在 OmniSharp 输出中可见。

解决方案是重命名模板 from .sln to .txt以防止 OmniSharp 加载它。

于 2021-02-22T13:23:05.520 回答