Lynx
A small C# IDE build around Roslyn
C#IDERoslyn
Progress after about 80 hours of work.

Motivation

I'm a huge C# fan, largely because of its rich and reliable code analysis. When using Visual Studio, I have semantic highlighting, can navigate to any symbol definition, rename any symbol throughout the solution, and, most importantly, it is all completely reliable. Whenever I press F12 to 'go to definition,' I know I will get the right definition of whatever that symbol is. I know I can reliably rename or refactor and have it occur correctly throughout the solution. In my limited time with Visual Studio C/C++ projects, I regularly get navigated to the wrong method definitions. Hovering over a method will tell me that 'shout()' is calling 'ClassA.shout()' while actually 'ClassB.shout()' is called. Having some unreliable information makes all semantic information borderline unusable, which makes me understand why some use editors without language servers in those languages. I am glad to have first-grade reliable C# support in Visual Studio. Visual Studio has its faults. It is large and clunky. I have to restart it daily and have a dozen or so long-standing bugs that seemingly only get worse with every update, but at least the C# code analysis is reliable.

Roslyn, the open source C# compiler, is the reason Visual Studio is so reliable with its C# analysis. When looking for symbol definition, Roslyn will use the same semantic model that will be used for compilation to find the definition. It provides most code analysis and refactoring features a C# dev would use. Code analysis, refactoring tools such as renaming symbols, even autocomplete suggestions is all provided by Roslyn, which can be used with a small NuGet package.

So what makes Visual Studio so large, clunky, and bug-ridden? It is not Roslyn. I expect it for no real reason. Well, I will find out with Lynx. It is a simple C# specific IDE that is built around proving Roslyn functionality with minimal overhead. I am working an hour a day on it since February 2024. I expect the first version to be available mid-2024.