vscodium
vscodium copied to clipboard
Current state C# .NET debugging in VSCodium (C# extension)
Describe the bug Cannot debug C# .NET applications in VSCodium via the Microsoft C# extension. There exists a 2 year old issue in this repo, but I wanted to ask on the current situation. Back then, and currently in the docs, a possible workaround is to use netcoredbg from Samsung. Are there any new alternatives/workarounds?
Please confirm that this problem is VSCodium-specific
- [x] This bug doesn't happen if I use Microsoft's Visual Studio Code. It only happens in VSCodium.
Please confirm that the issue/resolution isn't already documented
- [x] I checked the Docs page and the Troubleshooting page and my issue is not mentioned there.
To Reproduce Steps to reproduce the behavior: Try to debug a C# .NET application in VSCodium.
Expected behavior The debugging session begins.
Screenshots
Desktop (please complete the following information):
- OS: Windows 10 64bit
- Version: 10.0.19045 Build 19045
Additional context No real issue, I know. But I still hope for some help :)
edit the debugging extension and patch out the check
edit the debugging extension and patch out the check
Could you please provide details on how this can be done.
Thank you.
edit the debugging extension and patch out the check
Could you please provide details on how this can be done.
Thank you. Google "WSL run under VScodium". The snswer is on a github issues page. You would need to repatch for any non cached docker images
Does the free software C# debugger netcoredbg work with VSCodium now?
To answer my own question, it seems the C# extension packs netcoredbg which enables debugging. Thanks to the extension and the debugger authors
@someone-aka-sum1
I'd suggest using my more updated fork here: https://github.com/blipk/vscodium-csharp
The version provided by muhammed samy is built on some older version of .NET and has problems with the razor language server
@blipk I have a couple of questions: What are the main differences between your patches and Muhammad Samy's? Could you release the tools you use to autopatch it, or describe the process? And finally, could you add a step to push it to the Open VSX Registry so as to make it easier to install? Note: Your README links to Muhammad Sammy's release at Open VSX.
@someone-aka-sum1
The patches are the same except they're applied to the official branch via patch files, whereas samy's is done manually and has diverged quite a lot so his repo is using a couple of out date dependencies, settings etc.
You can see what he is missing from official main here: https://github.com/muhammadsammy/free-vscode-csharp/compare/master...dotnet%3Avscode-csharp%3Amain
I built these patch files manually by comparing and filtering the diff from what he is changed from main and then also applied some adjustments (mainly to the build process): https://github.com/dotnet/vscode-csharp/compare/main...muhammadsammy:free-vscode-csharp:master
I've also updated the package build to build against dotnet 8 rather than dotnet 7 and improved the CI process.
The main reason I did this was the old version of the razor language server he was building against was causing me (and others) issues.
You can see some notes in the Development notes
section on my README or check out the _patches
directory and .github/workflows/*.yml
files.
I'm just finalising a few things with the CI and then I will look at getting it published on Open VSX.
@someone-aka-sum1
CI workflows are finalised and it will be automatically published to Open VSX shortly after they approve my namespace claim
@someone-aka-sum1 Oh, and what if you have a merge conflict? I'm also concerned that you are not using your real name for the extension. Mind you, I am not using my real name right now either, but then I'm not trying to get you to install my software :)
Patches are applied to the current state of the upstream official extension so there will be no "merge conflict" with git.
The patches may fail if the upstream changes significantly, however I've designed them to avoid that as much as possible. If they do, then the build process will detect that and fail, and then they will have to be manually updated.
I suggest you read the development notes section in the README and look at the source code in ___patching and .github/workflows
I'm not trying to get you to install anything, I'm just presenting a solution for anyone who encountered the same issues I did with sammy's fork.
It's now available on Open VSX - https://open-vsx.org/extension/blipk/csharp