4 ms·
> It doesn't support LSP - that reads: it is not polished No, it doesn't read like that. > sometimes hardly even works for a bunch of languages that other IDE
by dmitriid 5y ago
> It doesn't support LSP - that reads: it is not polished
No, it doesn't read like that.
> sometimes hardly even works for a bunch of languages that other IDEs and editors work fine with.
LSP is as much a hit-and-miss. And it's definitely not polished, let's say, for Java.
- pkolaczk 5y agoMost (all?) LSP implementations are open source. If the same effort they put into reimplementing the compilers went into making better LSP-based solutions, LSP would run circles around custom plugins, because LSP has accurate data from the official compiler. However, I guess I know why they are not doing that: because that would benefit the competition as well. And yeah, obviously Java story is definitely polished, but it has been under development for decades, and also Java is quite a limited language.
- ptx 5y agoActually, Microsoft's Python LSP for VS Code is proprietary[1] (as are some of their other extensions) whereas PyCharm Community Edition is open source[2]. [1] https://visualstudiomagazine.com/articles/2021/11/05/vscode-python-nov21.aspx https://visualstudiomagazine.com/articles/2021/11/05/vscode-... [2] https://github.com/JetBrains/intellij-community/tree/master/python https://github.com/JetBrains/intellij-community/tree/master/...
- dmitriid 5y ago> LSP would run circles around custom plugins, because LSP has accurate data from the official compiler. If, and only if the official compiler is actually designed to support compiler-as-a-service etc. And this only begins to scratch the surface. Let me introduce to a nearly unending and continuously expanding list of refactorings alone in IntelliJ: https://www.jetbrains.com/help/idea/refactoring-source-code.html https://www.jetbrains.com/help/idea/refactoring-source-code.... What about other things external to the compiler like immediately recognising and mapping project configs and structures (for example, Spring, or Symfony, or...)? Or things like "version X of the language introduces new things and we can automatically refactor your code to reflect the new ways of dealing with things"? Or...