当前位置:  开发笔记 > 编程语言 > 正文

IntelliSense在Mac上的Visual Studio代码中不起作用

如何解决《IntelliSense在Mac上的VisualStudio代码中不起作用》经验,为你挑选了1个好方法。

我正在使用Visual Studio Code在Mac上开发ASP.NET 5应用程序.我遇到的问题是,除了我之前输入的方法和变量名称的简单自动完成之外,我没有获得任何IntelliSense支持(例如可用的类方法).

该应用针对DNX Core 5.0:

"frameworks": {
    "dnxcore50": { }
},

我通过DNVM安装了CoreCLR 1.0.0-rc1-update1:

$ dnvm列表

活动版本运行时体系结构OperatingSystem别名

------ ------- ------- ------------ --------------- --- -

1.0.0-rc1-update1 coreclr x64 darwin默认值

我尝试了以下方法来解决这个问题,但没有运气:

确保选择了一个项目(右下角的火图标)

明确转向的建议 settings.json

{
    "editor.quickSuggestions": true`
}

任何建议将不胜感激.



1> Nikolai Samt..:

简而言之,问题是,当我在我的机器上安装了Mono时,我没有DNX Mono.通过DNVM本地安装它(dnvm upgrade -r mono)解决了这个问题,现在我在Visual Studio Code中获得了很好的IntelliSense支持.

现在是漫长的故事.

Visual Studio Code使用OmniSharp提供IntelliSense支持.OmniSharp是一组工具,通过在您的计算机上运行的基于Nancy的Web API提供C#代码分析服务(此处和此处都有很棒的帖子).

我没有得到任何智能感知,因为OmniSharp运行时出现错误,如果我更加关注Visual Studio代码输出窗口(Cmd+L L在Mac上),我很容易就会发现错误.OmniSharp Log(见下文)显示它尝试使用dnx-mono.1.0.0-rc1-update1运行时然后抛出异常,因为它不在那里.

根据我的理解,OmniSharp不能使用DNX CoreCLR(因为它不支持套接字?)并且需要DNX Mono才能运行.在VS Code GitHub repo中有关于此主题的讨论.

运行dnvm upgrade -r mono并重新启动Visual Studio代码修复了该问题.我的DNVM设置现在看起来像这样: 在此输入图像描述

请注意,您无需使用DNX Mono进行开发即可使IntelliSense正常工作.你只需要安装它.

OmniSharp日志

[INFO]在APP_PATH上启动OmniSharp ...

[INFO]从'/ Applications/Visual Studio Code.app/Contents/Resources/app/extensions/jrieken.vscode-omnisharp/bin/omnisharp'开始OmniSharp,进程号为34893 ...

[信息:OmniSharp.Startup] Omnisharp服务器在主机34884上的位置APP_PATH使用stdio运行.

[信息:OmniSharp.Dnx.DnxProjectSystem]为DNX项目扫描APP_PATH

[INFORMATION:OmniSharp.Dnx.DnxPaths]使用运行时'/Users/nsamteladze/.dnx/runtimes/dnx-coreclr-darwin-x64.1.0.0-rc1-update1'.

[信息:OmniSharp.Dnx.DnxProjectSystem]找到项目APP_PATH/project.json.

[信息:OmniSharp.Dnx.DesignTimeHostManager]使用'/Users/nsamteladze/.dnx/runtimes/dnx-mono.1.0.0-rc1-update1'作为设计时主机.

[错误:OmniSharp.Startup]项目系统'DnxProjectSystem'引发了异常.System.InvalidOperationException:尚未在System.Diagnostics.Process.Start()中的System.Diagnostics.Process.Start_common(System.Diagnostics.ProcessStartInfo startInfo,System.Diagnostics.Process进程)[0x00000]中设置文件名:0 0x00000] in:0 at(wrapper remoting-invoke-with-check)System.Diagnostics.Process:Start()at OmniSharp.Dnx.DesignTimeHostManager.Start(System.String hostId,System.Action`1 onConnected)[0x00000] in :0:OmniSharp.Dnx.DnxProjectSystem.Initalize(IConfiguration配置)[0x00000] in:0 at OmniSharp.Startup.Configure(IApplicationBuilder app,IServiceProvider serviceProvider,ILibraryManager manager,IOmnisharpEnvironment env,ILoggerFactory loggerFactory,ISharedTextWriter writer,IOptions'1 optionsAccessor) [0x00000] in:0

[信息:OmniSharp.MSBuild.MSBuildProjectSystem]在APP_PATH中找不到解决方案文件

[INFORMATION:OmniSharp.ScriptCs.ScriptCsProjectSystem]检测APP_PATH中的CSX文件.

[INFORMATION:OmniSharp.ScriptCs.ScriptCsProjectSystem]找不到任何CSX文件

[INFORMATION:OmniSharp.Startup]解决方案已完成加载

推荐阅读
wangtao
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有