寄付窓口はこちら

Introducing SourceKit-LSP | try! Swift Tokyo 2019 1-11

Launguage Server Protocol(LSP)は近頃注目を集めており、様々なプログラミング言語のLanguage Serverが開発されています。 Swiftも例外ではなく、2018年にはSourceKit-LSPが発表され、現在も開発が続いています。 このトークではLSPについての概要と、SourceKit-LSPを使った将来の開発環境についてお話したいと思います。

f:id:niwatako:20190321153123j:plain

f:id:niwatako:20190321153151j:plain

フォトブックアプリを作っています

f:id:niwatako:20190321153154j:plain

ランゲージサーバープロトコルとは

f:id:niwatako:20190321153208j:plain

補完などには各プログラミング言語のために実装が必要

f:id:niwatako:20190321153223j:plain

それを解決するのがLSP

f:id:niwatako:20190321153239j:plain

JSON RPCでエディタと言語がやり取り

f:id:niwatako:20190321153312j:plain

f:id:niwatako:20190321153316j:plain

SPMを使ったプロジェクトがサポートされている

f:id:niwatako:20190321153335j:plain

特にLinux環境での開発効率向上

f:id:niwatako:20190321153357j:plain

導入して、エディタごとに設定すれば使える

f:id:niwatako:20190321153413j:plain

Vimで補完

f:id:niwatako:20190321153422j:plain

型推論も働く

自分で定義したものも保管される

f:id:niwatako:20190321153439j:plain

シンタックスハイライトは対応していないので自分で入れる

定義ジャンプできる

f:id:niwatako:20190321153459j:plain

参照箇所の検索やジャンプも可能

f:id:niwatako:20190321153513j:plain

エラーやワーニングの診断も提供されている

f:id:niwatako:20190321153529j:plain

f:id:niwatako:20190321153538j:plain

動いているところを見たければお見せするので声をかけてください

Vim以外もLSP対応進んでいる

f:id:niwatako:20190321153600j:plain

LSPサイトで対応状況確認可能

f:id:niwatako:20190321153610j:plain

SourceKit LSPも機能が増えていくのを確認できる

まとめ

f:id:niwatako:20190321153636j:plain

様々な環境で使いやすくなっていきます

f:id:niwatako:20190321153649j:plain