Slide 1

Slide 1 text

Language Server 使ってる? 2026-06-12 kamakura.go #9 @handlename 〜VSCode と Zed の場合〜

Slide 2

Slide 2 text

@handlename Hiroaki Nagata Nature Inc. Software Engineer (Backend) & SRE

Slide 3

Slide 3 text

宣伝 Nature? ホームオートメーションとエネルギーマネジメント やってます 最近 スマートロック を出しました We are hiring! IoT デバイスの開発・開発・販売・運用までひと通 りやってます Web サービスだけ、とはまた違った難しさ・おも しろさがあります 👉️ 詳しくはこちら https://nature.global/careers/

Slide 4

Slide 4 text

Language Server とは

Slide 5

Slide 5 text

Language Server とは Language Server 特定言語用の機能を提供するサーバー LSP (Language Server Protocol) でエディタとやり取りする エディタから特定言語に関する機能を分離し、言語ごとに発生するエディタ機能開発コストを解消した 2016/06 Red Hat, Codenvy and Microsoft Collaborate on Language Server Protocol

Slide 6

Slide 6 text

Language Server とは gopls Go 公式の Language Server 実装 「ごーぷりーず」と読みます これ使っとけば OK Gopls: The language server for Go - The Go Programming Language

Slide 7

Slide 7 text

VSCode と Zed 今日は Zed の布教活動に来ました

Slide 8

Slide 8 text

VSCode と Zed VSCode Microsoft製 / Electronベース 圧倒的シェアと充実したエコシステム 拡張機能による柔軟なカスタマイズ性 Zed Zed Industries (元 Atom 開発チーム) Native GUI (Rust / GPUI) による高速・軽量性 拡張性をあえて制限した高い安定性 VSCode と Zed Visual Studio Code - The open source AI code editor | Your home for multi-agent development Zed — Your last next editor 2025 Stack Overflow Developer Survey - Stack Overflow の「普段使っている・使いたい開発環境は?」によると、 VSCode は 75.9%、Zed は 7.3%

Slide 9

Slide 9 text

VSCode と Zed VSCode 拡張機能「Go」 をインストール gopls が未インストールの場合、ダイアログからワ ンクリックで導入可能 gopls の自動更新オプションあり Zed デフォルトでGo言語サポート が組み込まれている ただし gopls 自体は自分でインストールしておく必 要がある Language Server 使用開始方法の違い Go - Visual Studio Marketplace Go - Zed

Slide 10

Slide 10 text

Language Server の機能紹介 with Demo

Slide 11

Slide 11 text

Language Server の機能紹介 Hover シンボルの情報を表示するやつ。 VSCode 操作: マウスオーバー, Cmd-K Cmd-I UI: Popover 表示 Zed 操作: マウスオーバー、 Cmd-K Cmd-I UI: Popover 表示 Popover 内のスクロールにキーバインド設定可 Hover https://github.com/microsoft/language-server-protocol/blob/gh-pages/_specifications/lsp/3.18/language/hover.md VSCode editor.action.showHover Zed editor::Hover

Slide 12

Slide 12 text

Language Server の機能紹介 Find References シンボルの使用箇所を一覧表示するやつ。 VSCode 操作: Shift-F12 UI: Peek 表示 Shift-Option-F12 でサイドバーへの一覧表示も可 能 Zed 操作: Shift-Option-F12 UI: Multibuffer 表示 Multibuffer 表示中に Outline Panel を表示すればサイ ドバーでの一覧表示が可能 Find References https://github.com/microsoft/language-server-protocol/blob/gh-pages/_specifications/lsp/3.18/language/references.md VSCode editor.action.goToReferences Zed editor::FindAllReferences

Slide 13

Slide 13 text

Language Server の機能紹介 Go to Implementation interface の実装を一覧表示するやつ。 逆に、 実装している interface 一覧を表示する こともできる。 VSCode 操作: Cmd-F12 UI: Peek 表示 Zed 操作: Shift-F12 UI: Multibuffer 表示 Go to Implementation https://github.com/microsoft/language-server-protocol/blob/gh-pages/_specifications/lsp/3.18/language/implementation.md VSCode editor.action.goToImplementation Zed editor::GoToImplementation

Slide 14

Slide 14 text

Language Server の機能紹介 そのほかよく使う Language Server の機能 Workspace Symbols: ワークスペース内のシンボルを一括検索 Go to Definition / Type Definition: 定義/型定義元へ直接ジャンプ Inlay Hint: 引数名や型情報をコード上にインライン表示 Rename: 参照箇所も含めて安全にシンボル名を一括変更 Code Action: クイックフィックスやコード自動整形・リファクタリング Document Formatting: ※Goでは goimports を使うことのほうが多そう ※ 能動的に使っているもの。LSP には40種類弱の機能(Capability)が定義されている ※ gopls はすべての機能を実装しているわけではない

Slide 15

Slide 15 text

おわり AI にコードを書かせるようになった結果、コードを読む(レビューする)時間が増えている Language Server を便利に使って効率よくコードを読もう Zed はいいぞ