BT

最新技術を追い求めるデベロッパのための情報コミュニティ

寄稿

Topics

地域を選ぶ

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
 
 

この記事に星をつける

おすすめ度
スタイル

BT