Comment by eterm
2 days ago
I completely agree. Likewise I'm amazed Microsoft hasn't done it themselves for Roslyn and Copilot. Roslyn analyzers are so incredibly powerful, and it's being ignored.
An explainer for others:
Not only can analyzers act as basic linters, but transformations are built right in to them. Every time claude does search-and-replace to add a parameter I want to cry a little, this has been a solved science.
Agents + Roslyn would be productive like little else. Imagine an agent as an orchestrator but manipulation through commands to an API that maintains guard rails and compilability.
Claude is already capable of writing roslyn analyzers, and roslyn has an API for implementing code transformations ( so called "quick fixes" ), so they already are out there in library form.
It's hard to describe them to anyone who hasn't used a similarly powerful system, but essentially it enables transforms that go way beyond simple find/replace. You get accurate transformations that can be quite complex and deep reworks to the code itself.
A simple example would be transforming a foreach loop into a for loop, or transforming and optimizing linq statements.
And yet we find these tools unused with agentic find/replace doing the heavy lifting instead.
Whichever AI company solves LSP and compiler based deep refactoring will see their utility shoot through the roof for working with large codebases.
In a similar vein, I really struggle to understand why copilot is so crap when writing SQL and I'm connected to the database. The database has so much context (schema names, column names, constraints etc.) yet copilot regularly hallucinates the most basic stuff like table and column names, which standard auto complete has managed fine for the last 20+ years.
I dunno, SQL Server Management Studio regularly drops the ball on autocomplete ever since I've started using it
It was one of the things that brought me to DataGrid in the first place
No one is interested to solve hard problems. The broad industry got lucky with LLMs and everyone is now blindly burning capital at this. If you think they can't be that stupid remember the covid super hiring frenzy.
Heh, read The Big Short. A large point of the book is that a lot of rich people are both greedy (which we already assumed) and also stupid (which we didn't assume).
1 reply →
I hope your current boss appreciates who they have.
Same shit, but Microsoft and Visual Studio.
Like, the AI can't jump to definition! What are we fucking doing!?
Exactly!
This is why LSP support should be huge, and I'm surprised it's just a line-item in a changelog.
Well, until Real Visual Studio offers a LSP server it means nothing to me.
Days fucking around with clangd for jump to definition to sometimes work. Sigh
Is Roslyn available only for .NET?
Yes it's the name of the .NET compiler API.
It was code-named to disambiguate it from the old compiler. But Roslyn is almost 15 years old now, so I can't call it new, but it's newer than the really legacy stuff.
It essentially lets you operate on the abstract snytax tree itself, so there is background compilation that powers inspection and transformation.
Instant renaming is an obvious benefit, but you can do more powerful transformations, such as removing redundant code or transforming one syntax style into another, e.g. tranforming from a Fluent API into a procedural one or vice-versa.
[dead]