LanguageServerProtocol
LSP とは
- VSCode 独自の機能ではない!
- スペル間違いやコードの品質維持のために不可欠
- もともとは IDE である Microsoft Visual Studio Code用に開発され、現在はオープンスタンダード
- 2016年、Microsoft は Red Hat、Codenvy との協力を発表し、プロトコルの仕様を標準化した

できること
- コード補完
- リファクタリング
- シンボルの定義へのナビゲーション
- 構文ハイライト
- エラーと警告のマーカー
LSPの存在意義
- LSP策定前、特定のIDEやエディターに結びついた言語サービスの実装が一般的だった
- LSPの登場でエディターやIDEのベンダーが、サポートする言語ごとに独自の言語サービスを開発する必要がなくなった
- TypeScriptは、最初からlanguage serverの実現を意図しながら開発された言語らしい
自分の取り組み紹介
Copilot と LSP が競合する問題
- Copilot は LSP とは無関係なため、気を利かせて存在しない変数を提案してきたりする(LSPは依存関係を知っているため、常に正しい) -> Tabnine を使って、1メソッド単位の入力予測にもAIをいれるとともに、優先度を LSP > AI にしている
参照