Language Server Protocol: An Introduction to the Protocol, its Use, and Adoption for Web Modeling Tools

Authors

DOI:

https://doi.org/10.18417/emisa.18.9

Keywords:

Language Server Protocol, Integrated Development Environment, Conceptual Modeling, Modeling tools, Software Engineering

Abstract

With the introduction of the Language Server Protocol (LSP), a fundamental shift has been observed in the development of language editing support for Integrated Development Environments (IDEs), such as VS Code, the traditional Eclipse IDE, or Eclipse Theia. LSP establishes a uniform protocol that standardizes the communication between a language client (e. g., an IDE like Eclipse) and a language server (e. g., for a programming language like Java). The language client only needs to be able to interpret and understand the protocol instead of the specific programming language. Likewise, the language server can focus on language support and does not need to consider the specifics of a respective IDE. This reduces the complexity of realizing language support on different editors and IDEs and enables smooth transitions from one IDE to another. LSP is an open and community-driven protocol that has been developed within the realm of the VS Code community, initiated and driven by Microsoft. The generic concept and architectural
pattern of LSP enables widespread applications that go far beyond the realization of editing support for programming languages. This paper provides an introduction to LSP, describes its evolution and core characteristics, and delineates its potential for revolutionizing not only the IDE market but also other software systems, such as modeling tools.

Downloads

Published

2023-09-22

Issue

Section

Research Article