OmniSharp/omnisharp-roslyn

Looking for documentation on how to use omnisharp http (or stdio) server

jocelyn opened this issue · 3 comments

Hi all,

I am looking for doc or example to see how to use the omnisharp http or stdio server.
The goal would be to see if this could be integrated with an existing IDE debugger.

So any example, or documentation , forum, mailing list would be nice.

While waiting/hoping for any documentation resources,
I found a few links that could help:

Sorry there is not good documentation for the "Omnisharp" protocol. The best documentation will likely be the implementations for various editors. You can find plugins for Vim, Emacs, and VS Code.

OmniSharp does support the LSP protocol, which can be enabled with the -lsp flag.

Ok I understand, and code should be a good source of information.
I would have additional questions:

First of all, here is the context:
I am working on the EiffelStudio IDE software (https://www.eiffel.org/ https://www.eiffel.com/),
It has support for .Net Framework, including debugging facilities via a COM interface (unmanaged API, ICorDebugProcess, ...)
EiffelStudio team has been updating the compiler and IDE to support .NETCore on Windows, and other platforms, and I was looking at the Omnisharp solution as a potential solution to update the EiffelStudio debugger (for Windows, Linux, Macosx, ...).
The IDE is built with the Eiffel programming language, and it is simple to wrap C/C++ code.

Is the Omnisharp server a good candidate to build such a custom debugger?

  • portable (Windows, Linux, Macosx...)
  • standard debugger functionalities (start, pause, inspect, exception handling, ...)
  • access via C api, or in the case of Omnisharp server (http or stdio)

I see that Omnisharp is often and easily used for IDE code completion, to get debug symbols, but is it advanced enough to control the debuggee (app), inspect the stacks, evaluate expressions (i.e call function on target object) ?

Any answer will be appreciated.