BT

InfoQ ホームページ ニュース Swift、Language Server Protocolを採用

Swift、Language Server Protocolを採用

ブックマーク

原文(投稿日:2018/11/16)へのリンク

AppleのSwiftチームは、LSP(Language Server Protocol)でSwiftを使うためのサポートを提供する予定だと発表した。これにより、LSPをサポートするエディターであれば、開発者はSwiftでコード補完やシンタックスハイライトが使えるようになる。

コード補完とシンタックスハイライトに加えて、SwiftのLSP対応Language Serviceは、C/C++/ObjCソースを含むcross-language indexing機能をサポートし、"jump-to-definition"、"call-hierarchy"、"search-symbols"、"refactoring"を動かせる。AppleのチームはXcodeを新しいLanguage Serviceに対応させ、プロトコルを拡張してLSPに含まれていないXcode編集機能をサポートする予定だ。

現在の計画によると、Swift LSP ServiceはSourceKitを使用し、Clangに基づくLanguage Server Protocolのオープンソース実装であるClangdとそれを組み合わせるようだ。SwiftのLanguage Server Protocol実装はGitHubから入手できる。まだ開発の初期段階であり、多くの高度な機能はまだ利用できない。

Swift LSP Serviceには、LinuxにおけるSwiftのユーザビリティ向上により、Appleのエコシステム以外でのSwift採用を増やせる可能性があるというメリットがある。さらに、XcodeにLSPをもたらす副作用として、理論的にXcodeがすでにサポートしているXMLやJSONなどを含め、C#やRustといった言語のサポートも含むことになる。ただし、現在のところ、XcodeをLSP対応にすることはチームのフォーカスではない。

Language Server Protocolはもともと、Visual Studio CodeがそのLanguage Servicesと通信するためのプロトコルで、Microsoftで作られたMicrosoftは2016年にLSPをオープンソース化した。LSPによる大きなメリットは、LSP対応エディター間におけるLanguage Servicesの再利用性だ。これにより、言語チームが様々なエディターで言語を完全にサポートするために必要な労力は、大幅に削減される。LSP対応Language Serverを実装するだけで、任意のLSP対応エディターから利用できるためだ。

現在、70を超えるLSP対応Language Serverがあり、Eclipse、emacs、GNOME Builder、Atom、vim、Visual Studio、Visual Studio Codeを含む多数の主要なプログラミングツールがLSPをサポートしている

 
 

Rate this Article

Adoption Stage
Style
 
 

この記事に星をつける

おすすめ度
スタイル

こんにちは

コメントするには InfoQアカウントの登録 または が必要です。InfoQ に登録するとさまざまなことができます。

アカウント登録をしてInfoQをお楽しみください。

HTML: a,b,br,blockquote,i,li,pre,u,ul,p

コミュニティコメント

HTML: a,b,br,blockquote,i,li,pre,u,ul,p

HTML: a,b,br,blockquote,i,li,pre,u,ul,p

BT

あなたのプロファイルは最新ですか?プロフィールを確認してアップデートしてください。

Eメールを変更すると確認のメールが配信されます。

会社名:
役職:
組織規模:
国:
都道府県:
新しいメールアドレスに確認用のメールを送信します。このポップアップ画面は自動的に閉じられます。