Omnisharp-roslyn: Can't get it working in Vim, but my VSCode works

Created on 26 May 2020  路  3Comments  路  Source: OmniSharp/omnisharp-roslyn

Hey all,

Thank you for the time you spend on this project! Really appreciate it.

I've been having a really hard time getting a reliable C# dev experience working with NeoVim. I am focusing on Unity3D at the moment. I've tried many approaches:

  • Omnisharp-vim with CoC for completion. Never worked. Even running command functions provided by Omnisharp-vim does nothing. Silent.
  • Coc with Coc-Omnisharp. Same. Nothing works. :(
  • Coc with explicit LSP entry in config for Omnisharp. Kinda works if my Unity3D project is small. On my main project I am using at work, it crashes.
  • Decided to give vim-lsp a try the other day just to see, nope. It doesn't work.

I fire up VSCode as a comparison, and that works. Not super reliable, but certainly works where NeoVim doesn't. I even pointed NeoVim plugins at the same omnisharp.exe that VSCode uses, nope... doesn't work.

What wizardry is VSCode doing? Based on my understanding of LSP as a protocol, it shouldn't matter. VSCode is just a client same as CoC, etc.

Any ideas on how I can figure this out?

All 3 comments

This seems like the wrong place to ask - you are asking lots of different questions with no details necessary to answer them.

OmniSharp-roslyn has several different modes it can run in, the relevant ones being stdio and LSP. LSP mode is the newest and I am not sure it's entirely stable? From what I've read, Coc-Omnisharp uses LSP, as will vim-lsp and the neovim built-in LSP client.

VSCode and OmniSharp-vim use the stdio mode.

I can help you with OmniSharp-vim, if you open an issue over there. Please include your environment details, and an OmniSharp-roslyn log will be helpful (in Vim, get this with :OmniSharpOpenLog).

This seems like the wrong place to ask - you are asking lots of different questions with no details necessary to answer them.

OmniSharp-roslyn has several different modes it can run in, the relevant ones being stdio and LSP. LSP mode is the newest and I am not sure it's entirely stable? From what I've read, Coc-Omnisharp uses LSP, as will vim-lsp and the neovim built-in LSP client.

VSCode and OmniSharp-vim use the stdio mode.

I can help you with OmniSharp-vim, if you open an issue over there. Please include your environment details, and an OmniSharp-roslyn log will be helpful (in Vim, get this with :OmniSharpOpenLog).

Thank for the reply. As I was not sure which path to take, it didn't feel useful to provide a dump of all the info I gathered first. I am looking for pointers that would help me provide the relevant info.

The LSP vs stdio is what I was looking for. That helps. I will file an issue with you with the relevant logs/etc. Appreciate it.

Thanks!

Was this page helpful?
0 / 5 - 0 ratings