Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

On paper, but it sure doesn't feel like it when trying to use it.

It's nearly impossible to find out which of the umpteen repositories contains the source for the class you're trying to understand, and MSDN won't be of much help. Much of the standard library also has a bunch of decoy source files that only contain signatures and/or mocks, so it's a pain to find the real version.

OmniSharp has a "go-to-source" option, but you only get the real source if it's in the same solution. Otherwise you only get signatures. Try giving Metals[0] or Rust-Analyzer[1] a shot, this stuff is night-and-day.

The official debugger (vsdbg) only works in VS and VSCode (and explicitly not in FOSS builds of VSCode). There is netcoredbg[2], but I still haven't figured out how to convince Emacs to use it. This wouldn't be as much of a problem if the culture wasn't so hostile to printf debugging (for example, ~nobody bothers to implement helpful ToStrings).

There is a heavy cultural bias towards MS libraries, regardless of their merits (ASP.Net Core, DI hell, EFCore, etc). See [3] for an.. interesting example.

OmniSharp has a habit of giving up randomly, giving useless error messages, and most GH issues consist of people repeating "+1", until there is a one-liner about how an update fixed it. Root cause analysis, what's that?

[0]: https://scalameta.org/metals/

[1]: https://rust-analyzer.github.io/

[2]: https://github.com/Samsung/netcoredbg

[3]: https://old.reddit.com/r/csharp/comments/9kha39/does_anybody...



> It's nearly impossible to find out which of the umpteen repositories contains the source for the class you're trying to understand > OmniSharp has a "go-to-source" option, but you only get the real source if it's in the same solution.

I have to admit I almost never run into this issue because because I don't really care what the source of the standard library does, the docs have always been sufficient for me. You could try https://source.dot.net/ though.

In the very rare case I do want to see the source of some 3rd party code I use dnSpy. It isn't as nicely integrated, but it's a very nice decompiler and debugger.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: