我已经尝试了几种方法使其正常工作,但似乎没有简单的方法。是的,有大量的插件和配置。但截至2019年10月,它们无法正常工作。
因此,似乎csharpers应该转到VS(或Rider),这是MS提出LSP的时间。您如何使IDE像nvim一样与C#一起使用?
基本上,客户端应该像这样启动服务器并使用LSP。
~/.cache/omnisharp-vim/omnisharp-roslyn/run -s <PATH TO SLN OR DIR>
我刚刚通过全新安装成功完成omnisharp / ale的工作。您可能希望完全卸载omnisharp(~\AppData\Local\omnisharp-vim
或~/.omnisharp
),以防万一您有旧版本。
您没有提到您的操作系统;我在Windows 10和Mac OS上均可使用。如果您使用的是Mac OS,请确保先单击brew install libuv
。
首先,我使用vim-plug作为插件管理器来处理安装。我使用vim-plug的README文件中的bash / powershell片段在Windows和Mac OS中都安装了它。
然后我在vimrc中添加了以下内容(在Windows上为~\_vimrc
,在Mac OS上为~/.vimrc
:]]
"vim-plug config call plug#begin() Plug 'OmniSharp/omnisharp-vim' Plug 'dense-analysis/ale' call plug#end() " plugin config let g:OmniSharp_server_stdio = 1
重新启动vim,然后运行
:PlugInstall
。它将为您克隆omnisharp和淡啤酒。
[下一步,找到一些C#解决方案,并确保该解决方案在命令行中生成(例如dotnet build
应该正确无误地完成)。如果还没有SLN文件,则还需要一个SLN文件(dotnet new sln
,然后是dotnet sln add MyProj.csproj
)
选择一个C#文件并在vim中打开它。您应该看到以下通知:
如果安装未自动启动,则可以使用:OmniSharpInstall
启动它。在终端窗口中进行安装需要一两分钟的下载时间。安装完成后,重新打开vim并执行:cd \path\to\my\solution
以确保vim中的工作目录正确。然后使用:e MyProj\Program.cs
。
服务器将自动启动;不要手动启动它。服务器启动的最初几秒钟,我收到很多语法错误,此后我没有任何错误。
要拉出自动完成功能,请键入类似Console.
的内容,然后按Ctrl-x o
上面的屏幕截图的底部带有vim-airline,这不是omnisharp的一部分,不是必需的。]]
以上屏幕截图是Windows,但在Mac OS中也可以正常工作:
我的完整vimrc is available here和我正在使用is available here测试的源代码。