Language Server Protocolとは? Language Server Protocl(LSP)とは、IDEやテキストエディタ―と、プログラミング言語に関連したツール間でやり取りを定めたプロトコルです。これにより、一つの言語サーバーを実装すれば、エディターごとに別々の拡張機能を作ることなく、その言語のサポートを追加できるようになります。 歴史的にはTypeScriptのためにマイクロソフトが開発したものがもとになっており、現在では独立した仕様として公開されています。 この記事でやること ここでは題材として、エクセルのように、CSVファイルに同じ列の値を補完する機能を実装します(もっともVS Codeはデフォルトで、ファイル中の単語を補完してくれるので、実用性は皆無です)。なお目的はLSPとLSP4Jの基礎を学ぶことなので、補完機能の実装はいい加減です。クライアントはVisu
![LSP4JでLanguage Server Protocol入門 - Qiita](https://cdn-ak-scissors.b.st-hatena.com/image/square/685d8b93a0b44fad7610ccad9ccbbc5f0f57c9b0/height=288;version=1;width=512/https%3A%2F%2Fqiita-user-contents.imgix.net%2Fhttps%253A%252F%252Fcdn.qiita.com%252Fassets%252Fpublic%252Farticle-ogp-background-9f5428127621718a910c8b63951390ad.png%3Fixlib%3Drb-4.0.0%26w%3D1200%26mark64%3DaHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZ3PTkxNiZoPTMzNiZ0eHQ9TFNQNEolRTMlODElQTdMYW5ndWFnZSUyMFNlcnZlciUyMFByb3RvY29sJUU1JTg1JUE1JUU5JTk2JTgwJnR4dC1jb2xvcj0lMjMyMTIxMjEmdHh0LWZvbnQ9SGlyYWdpbm8lMjBTYW5zJTIwVzYmdHh0LXNpemU9NTYmdHh0LWNsaXA9ZWxsaXBzaXMmdHh0LWFsaWduPWxlZnQlMkN0b3Amcz0wODc3Y2JmNGFhMjg4NzEzZWEwMTFhZWY3MDMyZmYzNA%26mark-x%3D142%26mark-y%3D112%26blend64%3DaHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZ3PTYxNiZ0eHQ9JTQwbWluZWJyZWFrZXImdHh0LWNvbG9yPSUyMzIxMjEyMSZ0eHQtZm9udD1IaXJhZ2lubyUyMFNhbnMlMjBXNiZ0eHQtc2l6ZT0zNiZ0eHQtYWxpZ249bGVmdCUyQ3RvcCZzPTY1NmFlZjZkMTEwMDNjNDQzMDM4MzI4ZTFjNDc1Yzgx%26blend-x%3D142%26blend-y%3D491%26blend-mode%3Dnormal%26s%3D5c4dd52af86ce7cc1e53339bef6fd6e6)