あらゆる言語を使いこなす存在、テキストエディタ 最近EmacsよりもVSCodeの使用頻度が増えてきていて切なさを感じているソフトウェアエンジニアです。 コーディング業務でとてもお世話になっているのがテキストエディタですね。時には優しく時には厳しく叱責してくれる。理想の先輩の様な存在がテキストエディタです (トゥンク)。 どんな言語でも詳しいし何でも知ってて凄いなーと思っていたのですが、どうやらこの機能、テキストエディタのものではない様です。 エディタは言語ごとのサーバとやりとりしている 最近のエディタは言語ごとに解析機能を提供しているサーバとやりとりしていて、これをLanguage Serverというようです。 例えばGo言語で作業している時、裏側ではgolspと呼ばれるサーバが走っていて、エディタは作業で発生するイベントごとにこのサーバとやりとりを行い解析結果を画面上に表示しています。
![エディタの裏からプログラマを操る†闇の技術† LSP - Qiita](https://cdn-ak-scissors.b.st-hatena.com/image/square/9421b3e2e45f4250c2f822fbf7cece7073eaef80/height=288;version=1;width=512/https%3A%2F%2Fqiita-user-contents.imgix.net%2Fhttps%253A%252F%252Fcdn.qiita.com%252Fassets%252Fpublic%252Farticle-ogp-background-9f5428127621718a910c8b63951390ad.png%3Fixlib%3Drb-4.0.0%26w%3D1200%26mark64%3DaHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZ3PTkxNiZ0eHQ9JUUzJTgyJUE4JUUzJTgzJTg3JUUzJTgyJUEzJUUzJTgyJUJGJUUzJTgxJUFFJUU4JUEzJThGJUUzJTgxJThCJUUzJTgyJTg5JUUzJTgzJTk3JUUzJTgzJUFEJUUzJTgyJUIwJUUzJTgzJUE5JUUzJTgzJTlFJUUzJTgyJTkyJUU2JTkzJThEJUUzJTgyJThCJUUyJTgwJUEwJUU5JTk3JTg3JUUzJTgxJUFFJUU2JThBJTgwJUU4JUExJTkzJUUyJTgwJUEwJTIwTFNQJnR4dC1jb2xvcj0lMjMyMTIxMjEmdHh0LWZvbnQ9SGlyYWdpbm8lMjBTYW5zJTIwVzYmdHh0LXNpemU9NTYmdHh0LWNsaXA9ZWxsaXBzaXMmdHh0LWFsaWduPWxlZnQlMkN0b3Amcz1jMzAwYzBhZDZlMzhkN2RjNGMzOTdlZjM3NjgyZGMwNA%26mark-x%3D142%26mark-y%3D112%26blend64%3DaHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZ3PTYxNiZ0eHQ9JTQwaGl0b3NoaTQ0JnR4dC1jb2xvcj0lMjMyMTIxMjEmdHh0LWZvbnQ9SGlyYWdpbm8lMjBTYW5zJTIwVzYmdHh0LXNpemU9MzYmdHh0LWFsaWduPWxlZnQlMkN0b3Amcz02M2NmMGI2MmRjMDUzYWZhMjA5OTdiZTcyZTRhYTI0OQ%26blend-x%3D142%26blend-y%3D491%26blend-mode%3Dnormal%26s%3D0d090b713b4a7494a7a7b58072ddf228)