我试图设置我的Ubuntu计算机进行dotnet核心开发。我精心安装了Omnisharp-vim并将其设置为与OmniSharp-Roslyn服务器一起使用。我还安装了Syntastic和YouCompleteMe。我正在获取语法检查和Intellisense。我有两个问题:

如果没有解决方案文件,

  • Omnisharp-vim将无法运行。 Dotnet核心项目不必具有解决方案文件。我该如何解决?
  • 我收到有效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 file源代码。
    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项目。

    10-07 18:40