Hacker News new | past | comments | ask | show | jobs | submit login
Common Language Server Protocol (visualstudio.com)
116 points by seanmcb on June 27, 2016 | hide | past | favorite | 10 comments



I think Visual Studio Code introduces much better extensibility philosophy than Visual Studio.

Of course VS is old product and has some legacy we have to excuse, like COM, writing tons of boilerplate code just to show item in context menu, etc., but I mean philosophy of being friendly to everyone, regardless of underlying technology, is very important. For instance, writing language service, in C++ or C# only is a real limitation for some languages and prevents many languages of being integrated, so "Common Protocol for Languages" is right decision.

From another side, Visual Studio is very powerful in terms of customization. Creating virtual item hierarchy is easy (if we consider something can be easy when creating Visual Studio extension), so we have things like database project, with a lot of items, but no real files. I look forward to find similar possibilities in Visual Studio Code.


Decoupling the language support from the tool will be great if it gets wider support. This would give new editors a big leg up, as they only need to support the protocol and handle editing, and can lean on other parties to provide cross tooling language support. The same applies for new languages, write the server once, and get support from many tools.

The most interesting part of this announcement was who they didn't mention: JetBrains. It will be interesting to see if they come on board with this.


This is cool. Presumably this could be implemented for other editors (vim, emacs, etc) so the language servers could be shared across editors.


Many languages already have something like this. For example, look into ENSIME, ghc-modi, and Racer. I guess the innovation here would be a common protocol for "any" language, but I somewhat doubt that this will have much adoption outside of the .NET/Typescript communities.


Well it's nice to know there's at least some 3rd party support listed:

> the protocol has been adopted by Codenvy, who have added it to the next generation Eclipse IDE, Eclipse Che, as well as by Red Hat, who are working to publish a standalone language server for Java which can be consumed by any tool that utilizes the protocol.

> ... communities for programming languages like OmniSharp (C#), JSON, C++, xText, JavaFX, and R have made commitments to release language servers for their languages in the future.

Obviously we'll see if it actually happens, but at least other's are looking to support it.


There are a few implementations listed here: https://github.com/Microsoft/language-server-protocol/wiki/P...

It's early days but there are a number of organizations working on this. Today one such server was demoed at DevNation by RedHat - Java via the JDT.


I agree. `vim-go` is my favorite example; it actually is comprised of a number of daemons that service different facilities. The innovation would be a common interface specification any backend can play with any frontend.


There is already ycmd, srclib etc. so there already are other common protocol that try to unify different languages.


thats a huge part of why this is so attractive.

omnisharp has already done this, at least specific to their stuff. granted, they are writing front-ends for each editor to integrate with a common language-server like described here, but its the same concept


is this server protocol also responsible for syntax highlight (aka colorization) of the source code?




Join us for AI Startup School this June 16-17 in San Francisco!

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: