プログラミング開発においてエディタの機能は開発速度に大きく影響してきます。
Visual Studio CodeやNeovimのようなエディタを使用している方は多いと思いますが、リアルタイムでの構文エラーの表示や定義箇所の参照等の機能は開発効率を高めてくれます。
このような機能の背後ではLSP(Language Server Protocol)による、エディタと静的解析ツールとの通信が行われています。
静的解析ツールとの通信はプラグインが行ってくれるため、どのように動いているか普段はあまり意識することはないかもしれませんが、プラグインが期待したように動作しない場合等、仕組みを知っておくことで原因の特定につながる場合があります。
本記事ではLSPについて簡単に説明し、その後に実際のエディタの動きを見ることで、エディタの裏側で動いている仕組みについて触れてみたいと思います。
続きを読む