Intellisense停止使用Visual Studio Code,OSX

时间:2016-04-05 03:47:59

标签: c# macos visual-studio

我的Visual Studio Code上的intellisense前几天突然停止工作。我查看了Stack Overflow的所有解决方案,包括查看这些问题:

Visual Studio Code Intellisense Suggestions Dont Pop Up Automatically

Intellisense Does Not Work Visual Studio Code in OSX Yosemite

但是,一切都配置正确:

  1. OmniSharp正在运行
  2. 我的project.json配置正确
  3. 在settings.json
  4. 中正确设置了设置
  5. 只有一个project.json文件和Visual Code显示正在发现它
  6. 我尝试重新安装Visual Code并更新C#extensions应用。

    有什么问题?

2 个答案:

答案 0 :(得分:2)

问题(经过几个小时的研究)是OmniSharp需要Mono运行时。前几天我曾指向coreclr(1.0.0-rc1-update1,coreclr x64,darwin),因为Mono与SSL-to-Azure连接不兼容。为了保持清洁,我刚刚卸载了Mono运行时,希望只使用coreclr

这个过程:我首先找到了这个Git帖子:No intellisense on Linux for ASP .NET 5 coreclr x64 1.0.0.-rc1-final。我按照说明显示了OmniSharp输出(如何:Command, Shift, p在Visual Studio Code中打开提示,然后键入output,选择Toggle Output然后使用下拉列表将视图更改为OmniSharp )。尝试智能感知时,此输出显示生成了大量错误。

然后我搜索了这些错误并找到了这个问题/答案Visual Studio Code Designhostmanager Failed。显然,根据Matt的评论,我需要下载Mono运行时,特别是(在我的情况下)Beta5。为此,我在OSX上的终端上运行了dnvm install 1.0.0-beta5并安装了运行时,并将Mono设置为当前使用的运行时。然后,我运行dnu restore以确保清除所有正确的库引用。最后,Visual Code提示我进行额外的恢复,我也运行了。这是我的最终输出(请忽略额外的Mono运行时。我正在玩,并不完全确定它们之间的具体差异):

1.0.0-beta4 mono linux/osx
1.0.0-beta5 mono linux/osx(这是运行时)
1.0.0-rc1-update1 coreclr x64 darwin
1.0.0-rc1-update1 mono linux/osx
1.0.0-rc1-update2 mono linux/osx default

最后,我重新启动了Visual Studio Code,然后重新启动了OmniSharp服务(再次使用Command, Shift, p命令并输入OmniSharp并选择重新启动。

这很有用。 Intellisense再次开始工作。

答案 1 :(得分:2)

我有类似的问题,并在OmniSharp日志中看到以下内容:

[ERROR:OmniSharp.Startup] The project system 'DotNetProjectSystem' threw exception during initialization.
The type initializer for 'Crypto' threw an exception.

我偶然发现了GitHub上的this issue,并使用终端运行了以下命令:

ln -s /usr/local/opt/openssl/lib/libcrypto.1.0.0.dylib /usr/local/lib/
ln -s /usr/local/opt/openssl/lib/libssl.1.0.0.dylib /usr/local/lib/

在此之后,我使用上面的说明重新启动了OmniSharp,并且IntelliSense又回来了。