LSP(Language Server Protocol)って何

LSP とは

Implementing support for features like autocomplete, goto definition, or documentation on hover for a programming language is a significant effort.

The idea behind a Language Server is to provide the language-specific smarts inside a server that can communicate with development tooling over a protocol that enables inter-process communication.

The idea behind the Language Server Protocol (LSP) is to standardize the protocol for how tools and servers communicate, so a single Language Server can be re-used in multiple development tools, and tools can support languages with minimal effort.

  • Language Server とは、ソースを解析して、言語の補完 / 定義へのジャンプといった機能をIDE 等のツールに提供するための実装
  • Language Server Protocol とは、Language Server とIDE 等のツールがやり取りする仕組みをプロトコルとして標準化するための仕様
    • LSP に則ってLanguage Server を実装すれば、LSP をサポートしている各ツールで実装を再利用できる