繁体   English   中英

Ubuntu 16.10上的OmniSharp-VIM,OmniSharp-Roslyn和dotnet核心 - 语法检查无法识别C#6并需要解决方案文件

[英]OmniSharp-VIM, OmniSharp-Roslyn, and dotnet core on Ubuntu 16.10 - Syntax checking not recognizing C# 6 and requires solution file

我正在尝试为dotnet核心开发设置我的Ubuntu机器。 我已经精心安装了Omnisharp-vim并将其设置为与OmniSharp-Roslyn服务器配合使用。 我也安装了Syntastic和YouCompleteMe。 我正在进行语法检查和Intellisense。 我有两个问题:

  1. 没有解决方案文件,Omnisharp-vim无法运行。 Dotnet核心项目不必拥有解决方案文件。 我该如何解决这个问题?

  2. 我收到有效C#6代码的语法错误。 例如,它无法识别nameof运算符。

怎么样?

将有效的global.json文件添加到根目录。

{}

在vimrc文件的顶部添加两行。

let g:OmniSharp_server_type = 'roslyn'
let g:OmniSharp_prefer_global_sln = 1

为什么?

这两个OmniSharp设置告诉omnisharp-vim使用Roslyn并使用包含global.json文件的目录。

以下是使用这些变量的OmniSharp.vim文件源代码。

if g:OmniSharp_server_type ==# 'roslyn' && g:OmniSharp_prefer_global_sln
  let global_solution_files = s:globpath(dir, 'global.json')
  call filter(global_solution_files, 'filereadable(v:val)')
  if !empty(global_solution_files)
    let solution_files = [dir]
    break
  endif
endif

如果这不起作用......

尝试从命令行手动启动OmniSharp:

omnisharp-vim\omnisharp-roslyn\artifacts\scripts\OmniSharp.cmd -s C:\temp\

C:\\temp\\目录包含一个具有有效global.json文件的新.NET Core项目。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM