Comments (16)
In case anyone here is still interested in debugging C# from vim, I also was interested in this and due to the licencing on Microsoft's vsdbg as mentioned above, I stumbled accross an OSS debugger built by Samsung: https://github.com/Samsung/netcoredbg.
I used this to create a service that talks to the debugger and forwards relevant info to vim (highlight the line for the current stack frame etc..). It's still very buggy, but it works and I'm trying to re-write the js prototype in c#.
The portion that wraps the Samsung debugger is here: https://github.com/jpfeiffer16/dotdbg
The vim client is here: https://github.com/jpfeiffer16/dotdbg-vim
from omnisharp-vim.
After messing around with vimpsector for a bit and some help from puremourning, I got it working and it's great! There are some rough edges I've bumped into from time to time with large variables, but for the most part I'm blown away with how well it works!
https://asciinema.org/a/vfBOwVatfTTPi5vIsq11iPi6s
from omnisharp-vim.
PR here if you're interested @nickspoons : puremourning/vimspector#36
from omnisharp-vim.
If MS changes the license of the vsdbg, maybe it can be integrated, for now the can be used only with VS Code, Visual Studio and Xamarin studio
from omnisharp-vim.
Debugging dotnet core in vimspector works great.
There have been a lot of changes to the landscape since this issue was opened, we now have LSP and DAP for language servers and debug adapters. As OmniSharp-vim is closely tied to the OmniSharp-roslyn language server, I don't think it makes sense to include debugging support here, now or in the future, so I'll close this very old issue now.
from omnisharp-vim.
@jpfeiffer16 I spoke to puremourning in #vim on freenode (IRC) about this a while back, before the samsung debugger came out, and yes he was not interested at the time at working against the MS license. If you can get something working with the samsung one I'd love to be a guinea pig.
from omnisharp-vim.
It probably is possible, but very complex and I don't really have any interest personally in building this as I very rarely use a debugger.
from omnisharp-vim.
I've been toying with this idea also. There are a lot of debuggers
that are easily integrated into text editors. For Emacs, there are
many working command line / text UI integrations available for other
languages. So this would definately be doable.
I haven't been able to find any command line debugger for C#, but
there are very working implementations of debuggers in IDEs other than
Visual studio already, such as MonoDevelop or SharpDevelop.
Maybe one of these implementations could be plugged into the OmniSharp
server. That would have a JSON API that would let the user manipulate
the debugger's state.
from omnisharp-vim.
Apparently there is a command line debugger officially in the mono project (Mono Hard Debugger).
Also it is possible to debug mono with gdb (cli too) (Debugging with GDB).
As there are plugins to use gdb functions directly in Vim, I think this should be possible with mdb/gdb for mono too.
After a quick search for vim gdb plugins I got the following (just as reference, if someone would decide, to implement debugging ;) ):
The Clewn Project
gdbmgr
gdbvim
idevim.tgz
VimDebug
from omnisharp-vim.
I looked around and found there are ready libraries for plugging in a debugger.
This looks like it's very doable.
https://github.com/mono/debugger-libs
from omnisharp-vim.
@nosami
Can this ticket be moved to a OmnisharpServer ticket?
edit: perhaps a separate ticket should be opened. What do you think?
from omnisharp-vim.
With .NET Core 1.0 released I have begun to make the move away from Windows. While I am new to the other ecosystems out there I must say that I am really enjoying my development in vim without all the overhead of VS. I too would love to see debugging support brought to omnisharp-vim. At least the .net core 1.0 projects.
from omnisharp-vim.
Definitely interested - please keep us posted on your progress!
from omnisharp-vim.
Just an update for anybody interested. With the new stdio stuff, my code for this is not really relevant anymore. Before restarting based on the awesome new stdio stuff, I'm going to look into adding support in https://github.com/puremourning/vimspector. They note the ms licensing stuff, but I'm wondering if I can shim in the samsung debugger and get something useful.
from omnisharp-vim.
Magic, I can't wait to try it!
from omnisharp-vim.
Yea. It's a gem of a plugin. So glad I came across it.
from omnisharp-vim.
Related Issues (20)
- Can't use out-of-box because of MSBuild HOT 6
- Omnisharp server doesnt start HOT 5
- Building the project HOT 2
- How do I stop OmniSharp from creating '~/.omnisharp' directory? HOT 3
- There is a bug when I use vim-omnisharp in termux with mono HOT 7
- Need Help - Mac OS M2 - No Popups HOT 1
- ddc-ultisnips error HOT 1
- [Bug] Poor Performance in Some Unity Projects HOT 3
- Poor syntax highlighting and server load time after a minimal NVIM setup HOT 19
- Limited OmniSharp Commands (failing to properly call/start rosylin server?) HOT 64
- Not an editor command: OmniSharp* HOT 2
- OmniSharpDebugTest throws error relative to number of parameters the first time it is run HOT 1
- omnisharp can't run tests HOT 3
- Unable to get custom types using omnisharp-vim HOT 5
- Silently failing HOT 3
- When several solutions for a given cs file, solution selection prompts block the UI by being spammed
- No hover or go to definition on larger solution HOT 2
- Omnisharp doesn't autocomplete with .razor files for blazorwasm app HOT 8
- How to use Omnisharp with Dotnet SDK 8? HOT 2
- Should I use this plugin at the same time as lspconfig? HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from omnisharp-vim.