Ubuntu 16.10上的OmniSharp-VIM, OmniSharp-Roslyn和dotnet core -语

本文关键字:dotnet core OmniSharp-Roslyn 上的 OmniSharp-VIM Ubuntu | 更新日期: 2023-09-27 18:16:35

我正在尝试设置我的Ubuntu机器用于dotnet核心开发。我已经煞费苦心地安装了omn夏普-vim,并将其设置为与omn夏普- roslyn服务器一起工作。我也有Syntastic和YouCompleteMe安装。我得到语法检查和智能感知。我有两个问题:

  1. omnissharp -vim没有解决方案文件不能工作。Dotnet核心项目不必有解决方案文件。我该怎么解决这个问题?

  2. 我得到有效的c# 6代码语法错误。例如,它不能识别操作符的名称。

Ubuntu 16.10上的OmniSharp-VIM, OmniSharp-Roslyn和dotnet core -语

如何?

添加一个有效的global.json文件到根目录

{}

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

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

为什么?

这两个OmniSharp设置告诉omnissharp -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'目录包含一个新的。net Core项目和一个有效的全局。json文件。