LSP is fine and all, but as a one-size-fits-all protocol I'm guessing it will never reach the level of flexibility and extensibility required to implement something like IDEA/Rider level refactorings, hints, and the general level of "code understanding" by the editor. It's a bit hard to explain, but JetBrains' IDEs really feel like they understand your code. It feels more like editing an engineering diagram, or tinkering with a mechanical contraption, and less like editing free-form text (which code is definitely not). That's how it should be, I believe.