Codenvy, Microsoft and Red Hat announced adoption of a language server protocol project, representing a collaborative effort to provide a way to integrate programming languages across code editors and integrated development environments (IDEs).

The Language Server Protocol is an open source project that defines a JSON-based data exchange protocol for language servers, hosted on GitHub and licensed under the creative commons and MIT licenses.

The Language server maintains the semantic information about a program implemented in a particular language. The protocol promotes interoperability between editors and language servers, and lets developers access intelligent programming language assistants — such as find by symbol, syntax analysis, code completion, go to definition, outlining and refactoring — within their editor or IDE.

The communication between the Editor/IDE host and the Language Server uses JSON RPC. The first request sent from the Editor/IDE to the language server informs the server about the supported language features. The first version of the protocol is based on experiences we gained while integrating OmniSharp and the TypeScript Server into VS Code.

Here is the GitHub link to the language server protocol repository – https://github.com/Microsoft/language-server-protocol

Here is the link to the Visual Studio blog talking about the language server protocol – http://code.visualstudio.com/blogs/2016/06/27/common-language-protocol

[Image courtesy: Microsoft]