Microsoft, Red Hat, and Codenvy are leading the charge on a new protocol to integrate multiple languages with different IDEs and code editors
Language Server Protocol, which will be officially unveiled today, features a JSON-based data exchange protocol for providing language services consistently across different code editors and IDEs. The protocol can be used between client tools and language servers to integrate features such as auto complete, goto definition, and find all references. Language server is a term being applied to the language intelligence programs that are providing the services.
[ The art of programming is changing rapidly. We help you navigate what's hot in programming and what's going cold and give insights into the technologies that are changing how developers work. | Keep up with hot topics in programming with InfoWorld's Application Development newsletter. ]
Language Server Protocol aims to change the game in tooling support. Most programming languages have been optimized for use with a single tool, which limits opportunities for language providers to reach a wide audience, Codenvy said.
The common protocol gives developers access to intelligence for many languages within their favorite tools. Developers can access language assistants including syntax analysis, outlining, and refactoring within the IDE or editor of their own choice.
Languages and technologies initially supported by Language Server Protocol include C, C++, C#, Java, RAML, TypeScript, JSON, CSS, and Haxe, said Tyler Jewell, Codenvy's CEO. Backers plan to pursue support for other languages such as Python and Ruby. "We have to do work to reach out to those communities," Jewell said.
Microsoft defined the common language server protocol after integrating its OmniSharp tooling and TypeScript servers into its Visual Studio Code source code editor. Codenvy is supporting the project as well with its Eclipse Che developer workspace server and cloud IDE.
"We developed the protocol based on many learnings and contributions from teams across Microsoft and partners," Microsoft said in a statement. "Visual Studio Code is the first Microsoft product to take advantage of this protocol but in the future other Microsoft products may adopt it as well, including Visual Studio and Xamarin."
Red Hat's Harry Mower, senior director of developer programs, said the protocol provides a way to create languages that can more easily plug into existing developer tools. Red Hat is developing Java support for the protocol.
Driving the protocol has been a shift to micro-services and developers writing business logic in any language, Jewell said. Previously, companies such as Microsoft or Red Hat were wedded to a particular language and provided proprietary tooling. "They protected that stack and made it proprietary and guarded it with zealotry that was very intense. All that has changed."
Sign up for Computerworld eNewsletters.