Microsoftはサンフランシスコで開催中のカンファレンス「DevNation」で、プログラミング環境の相互運用性を向上させる共通プロトコルをオープンソースで公開すると発表した。興味深いのは、この取り組みがCodenvyおよびRed Hatとの共同で進められていることだ。
このプロトコル「Language Server Protocol」(LSP)は、プログラミング言語をさまざまなコードエディタや統合開発環境(IDE)に統合するための共通の手段を提供する。LSPはさまざまなツールで多様なプログラミング言語を編集できるようにするもので、開発者の柔軟性と生産性を拡大することを目指している。
![](/storage/2016/06/29/1727e9d3debde3c2152c9f840cf3c732/language-server-protocol-sequence.png)
Codenvyの最高経営責任者(CEO)兼「Eclpipse Che」のプロジェクト責任者であるTyler Jewell氏は、「これまで、ほとんどのプログラミング言語は、1つのツールだけで最適化されていた。このため、開発者は好きなエディタを使うことができず、プログラミング言語の提供者が幅広い利用者にアプローチするチャンスは限られていた」と述べている。さらにJewell氏は、「Microsoft、Red Hat、Codenvyが共通のプロトコルをサポートすることで、開発者は好きなツール内でどの言語に対しても知的な処理を実行できるようになる」とした。
LSPは言語サーバで使用するJSONベースのデータ交換プロトコルを定義するオープンソースプロジェクトだ。このプロジェクトはGitHubでホストされており、クリエイティブコモンズおよびMITライセンスでライセンスされている。
LSPはエディタと言語サーバの間の相互運用性を後押しするよう設計されている。このプロトコルを使用すると、開発者はプログラミング言語を使って開発を進める際に、知的な処理を利用できるようになる。これには、好みのエディタやIDEでの、シンボルの検索、構文分析、コードの補完、gotoの定義、アウトライン編集、リファクタリングなどの機能が含まれる。
現在LSPでは、C++、PowerShell、JSON、CSS/LESS/SASS、Xtext、Crane PHP、Haxe、Java、RAMLがサポートされている。IDEに関しては、すでに「Microsoft Visual Studio」とEclipse Cheでこのプロトコルが実装されている。Eclipse Cheの実装は、オープンソースのブランチの1つで保留になっており、2016年第3四半期に一般提供される予定だ。
LSPは米国時間6月28日から公開されている。詳細については、LSPのFAQを参照してほしい。
この記事は海外CBS Interactive発の記事を朝日インタラクティブが日本向けに編集したものです。