SAN FRANCISCO — Red Hat Summit and DevNation - —
Today, Codenvy, Microsoft and Red Hat, Inc. announced adoption of a language server protocol project representing a collaborative effort to provide a common way to integrate programming languages across code editors and integrated development environments (IDEs). Announced during DevNation 2016, this protocol extends developer flexibility and productivity by enabling a rich editing experience within a variety of tools for different programming languages.
We see a tremendous opportunity to improve the way software is created, especially in the cloud, and we are focused on bringing that innovation to our customers in a way they can more easily adopt.
“Historically, most programming languages have only been optimized for a single tool. This has prevented developers from using the editors they know and love, and has limited opportunities for language providers to reach a wide audience,” said Tyler Jewell, Codenvy CEO and Eclipse Che project lead. “With a common protocol supported by Microsoft, Red Hat and Codenvy, developers can gain access to intelligence for any language within their favorite tools."
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. By promoting interoperability between editors and language servers, the protocol enables developers to 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 of choice.
“We have defined the common language server protocol after integrating the OmniSharp for C# and TypeScript servers into VS Code,” said Erich Gamma, Microsoft Distinguished Engineer. “Having done a language server integration twice, it became obvious that a common protocol is a win-win for both tool and language providers: in this way, any language provider can make their language support available so that it is easily consumable by any tool provider.”
The Language Server Protocol collaboration enables:
- Developer flexibility and choice: Developers can access rich editing experiences across new programming languages, while continuing to use their preferred tools.
- Multiple operating systems: Programming language providers can support multiple tools across a variety of operating systems, maximizing their reach and relevance.
- Editor support: Microsoft Visual Studio Code and Eclipse Che, the next-generation Eclipse IDE, have added support for the protocol.
- Many programming languages: A number of programming language servers are available today, including JSON, C++, and Powershell, which are available in VS Code or VS Code extensions. In addition, more language servers are planned to support the protocol later this year, including C# by the Omnisharp project, xText and R by Typefox, JavaFX by Ensime and CSS by Microsoft. Red Hat has open sourced a project working to provide the first standalone Java language server which it proposes to donate to the Eclipse Foundation.
- Open collaboration: Codenvy, Microsoft and Red Hat are committed to developing this protocol in collaboration with the open source community. Hosted on a public repository, anyone can submit feedback or contribute pull requests to enhance and refine the project.
- Language server registry: Language servers are published as part of a global registry, built by Codenvy as an Eclipse project and hosted by the Eclipse Foundation, to make language servers discoverable for any tool to consume.
“We see a tremendous opportunity to improve the way software is created, especially in the cloud, and we are focused on bringing that innovation to our customers in a way they can more easily adopt. Developer choice is a key area for us and interoperability of programming languages and tools is an important part of Red Hat’s developer strategy,” said Harry Mower, senior director, Developer Programs, Red Hat.
The language server protocol is available today. For more information, visit:
Connect with Red Hat