4 ms·
Microsoft has opened the protocol with which most extensions are written: https://microsoft.github.io/language-server-protocol/ https://microsoft.github.io/lang
by rictic 6y ago
Microsoft has opened the protocol with which most extensions are written: https://microsoft.github.io/language-server-protocol/ https://microsoft.github.io/language-server-protocol/
It's a really high quality protocol, and supporting it gets you 95% of the way to supporting dozens of languages (only remaining work is coordinating launching the language server and connecting it to the editor, usually <100 lines of code).
- orf 6y agoLSP isn’t “most plugins” though. There are tens of thousands of useful plugins, and only a tiny subset of those add support for new languages.
- IfOnlyYouKnew 6y agoTrue... But weighted by importance and effort, LSP-powered plugins are likely above-average, probably by a healthy margin.
- orf 6y agoHighly disagree. Having support for “python” is good, but useless without support for the ecosystem (poetry, pipenv, requirements.txt, virtualenvs, pytest, a REPL, Django-specific stuff, etc). Languages are important, but I wouldn’t say they are ahead by a large degree.
- chipotle_coyote 6y agoNova supports LSP, actually. As orf notes in the other reply to you, that only covers, well, plugins that involve language servers. :)
- Nextgrid 6y agoHow does it? I wanted to try it for Python but I don't see how I can just configure it to talk to a language server.
- chipotle_coyote 6y agoThat is somewhat above my pay grade, so to speak, but I imagine that you would need to write a plugin that talks to a language server (I think this is true for Code and other LSP-aware editors, too). You'd probably start by checking "show extension development items in the Extensions menu," then select "Create New Extension..." in that menu and choose "Language Server Extension" in the pane that comes up next. That looks like it creates a skeleton extension for you with the basic details filled in.