4 ms·
I use IntelliJ daily. I think when LSP gets there VSCode can catch up and fill the IDE gap, but until then it doesn't come close to IntelliJ in terms of functio
by parhamn 6y ago
I use IntelliJ daily. I think when LSP gets there VSCode can catch up and fill the IDE gap, but until then it doesn't come close to IntelliJ in terms of functionality (though sometimes the perf of IJ makes me want to switch but it has been feeling a lot better on the M1).
LSP needs to make 2 major improvements in order to to get wider adoption:
- Improve package/runtime support detection (Go modules, npm, virtualenvs, etc). IntelliJ shines here.
- Create one bundled cross-language LSP container or something that all the editors out there can use. Currently its a mess to configure and run all the language servers and what not. This leads to a broken half-assed end-user experience.
Once #2 happens, I think the whole editor ecosystem will feel a lot better for all the editors. Everyone is poorly reinventing the wheel right now.
- thedevelopnik 6y agoThis is interesting to me and makes me question what I missed on setting up JetBrains products. I moved away from them because of their lack of support for standard tooling like eslint and pep8. It felt like JetBrains editors wanted me to set up lint rules by their spec and I had to set it up in their editor configs. I’ve always been able to add the VSC plugin for a language and everything just works. With JetBrains it felt like the first thing I was gonna have to do on every project on every one of my computers was set up a bunch of custom scripts to do really basic stuff. To be clear, I really am questioning what I missed, not the parent. Everyone here says Jetbrains is more convenient and I felt like my first task was always 3 hours of setting it up.
- parhamn 6y ago> I moved away from them because of their lack of support for standard tooling like eslint and pep8. Sounds like something went wrong. These both get auto configured for me. I even get correct completion suggestions to disable the rules inline or at the file level for both eslint and pep8. The only thing I’ve had difficulty with is Prettier but that was improved recently. Email is in the bio if you need any help :)
- EdwardDiego 6y agoHuh, how long ago was that? I've been recently using the Python plugin in IDEA while fixing up a rather important script, and it's very good at a) telling me when I'm doing bad PEP8 things, and then adding PEP8 compliant formatting when I tell it to autoformat and b) highlighting type hint mismatches. But this may be a recent improvement, I only work on Python sporadically. My next wish for IDEA's Python plugin is Poetry support.
- Strum355 6y agoOutside of the JVM space, I share the complete opposite sentiment. Go and Rust support in the past few months (close to a year at this stage) have been vastly better with LSP than with intellij (or the more specific products). Rust-analyzer literally just works for me with the vscode rust-analyzer plugin (intellij wouldn't work after a few minutes of googling etc, not a great experience) and I've consistently seen Goland be outperformed in OOTB experience by gopls, as a highly active member in Go online communities catering to helping many new developers.
- hctaw 6y agoThis comment doesn't make much sense. LSP is just a protocol, implementing package detection is the responsibility of the language server. The second thing you're asking about sounds more like a unified LSP client which is totally possible. It would actually be pretty easy. VSCode could actually improve this a lot since language clients are mostly boilerplate. All that said I think you're undervaluing what LSP/DAP actually gets you. It's a language agnostic API for PL tools, which includes compilers and virtual machines. All you need to be able to do is parse JSON and you can begin writing a reactive compiler that integrates into any code editor.
- parhamn 6y agoWe know how LSP works...Run a few of their implementations for various languages and send me a script. I have, it’s not easy. Running the LSP server set for a polyglot programming environment is really hard.