C#intellisense在VS Code中不起作用

时间:2018-01-03 01:13:47

标签: c# visual-studio-code omnisharp

我正在使用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解决方案的外观完全不同。

然而,似乎没有任何工作。有什么我可以尝试使其工作?有什么想法吗?

7 个答案:

答案 0 :(得分:4)

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

假设你有.net核心sdk for mac和omnisharp扩展安装:

尝试以下方法:

  1. 打开您的集成终端(View => Integrated terminal)
  2. 创建一个新目录来托管测试项目说“testproj”例如=> mkdir testproj

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

  4. 看看你是否有智力感 此外,我建议您观看.net core on Mac introduction video

答案 1 :(得分:3)

  

将* .sln和* .csproj添加到" files.exclude"会导致这种情况。设置。

试试这个:

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

从设置文件中删除。

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

答案 2 :(得分:2)

您的新解决方案和项目是否在" OneDrive" Windows 10中的文件夹?在最新的Windows 10发行版中,当项目位于OneDrive文件夹中时,C#插件无法启动,其中包含" File On-Demand"功能。请查看Github上的this issue

答案 3 :(得分:2)

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

"omnisharp.useGlobalMono": "never"

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

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

答案 4 :(得分:1)

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

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

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

答案 5 :(得分:0)

这对我有用

"omnisharp.useGlobalMono": "never"

答案 6 :(得分:0)

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