The new protocol integrates multiple languages consistently across different IDEs and code editors Credit: Thinkstock 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. 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.” Either a third-party registry or a bundling of the language server inside of an IDE is necessary to enable Language Server Protocol. An open governance model for the protocol still must be developed, according to Jewell. At the Eclipse Foundation, Executive Director Mike Milinkovich called the protocol an important step forward for developer tools. “It will make it easier for tool providers such as the Eclipse IDE, Che, and Orion projects, to support multiple languages.” Related content analysis Beyond the usual suspects: 5 fresh data science tools to try today The mid-month report includes quick tips for easier Python installation, a new VS Code-like IDE just for Python and R users, and five newer data science tools you won't want to miss. By Serdar Yegulalp Jul 12, 2024 2 mins Python Programming Languages Software Development analysis Generative AI won’t fix cloud migration You’ve probably heard how generative AI will solve all cloud migration problems. It’s not that simple. Generative AI could actually make it harder and more costly. By David Linthicum Jul 12, 2024 5 mins Generative AI Artificial Intelligence Cloud Computing news HR professionals trust AI recommendations HireVue survey finds 73% of HR professionals trust AI to make candidate recommendations, while 75% of workers are opposed to AI making hiring decisions. By Paul Krill Jul 11, 2024 3 mins Technology Industry Careers how-to Safety off: Programming in Rust with `unsafe` What does it mean to write unsafe code in Rust, and what can you do (and not do) with the 'unsafe' keyword? The facts may surprise you. By Serdar Yegulalp Jul 11, 2024 8 mins Rust Programming Languages Software Development Resources Videos