【くらんぐでぃー】

clangd とは?

公開:
💡 エディタの横で、C++コードの意味を調べる助手

clangdは、C++などのコードを理解し、エディタに補完・エラー表示・定義への移動などを提供する言語サーバー。Clangを基盤とするLLVMプロジェクトの一部で、エディタ拡張を通じて利用します。

📌 このページのポイント
エディタへコード理解を届ける エディタclangdコード補完診断・定義への移動Clangを基盤に解析エディタ本体やビルドの実行とは別
言語サーバーとエディタが情報をやり取りするイメージ。解析には対象プロジェクトに合う設定を使います。
ひよこ ひよこ
ペンギン先生、clangdを入れると新しいエディタになる?
ペンギン先生 ペンギン先生
エディタ本体ではなく、コードを理解する言語サーバーだよ。対応する拡張を通してエディタとつながり、入力補完やエラー表示などを提供するんだ。
ひよこ ひよこ
例えばどんなことを助けるの?
ペンギン先生 ペンギン先生
関数名を入力したときに候補を出したり、その関数が定義された場所へ移動したりできるよ。エディタで書いているコードの意味を調べる助手と考えるといいね。
ひよこ ひよこ
Clangとの違いは?
ペンギン先生 ペンギン先生
Clangはコンパイラー。clangdはClangを基盤にしてエディタ向けの機能を提供するプログラムだよ。clangdの診断が出なくても、実際のビルドやテストの確認が不要になるわけではないんだ。
ひよこ ひよこ
ニュースのclangd-ascendも同じもの?
ペンギン先生 ペンギン先生
その名前はAscend向けの開発を支援する派生プロジェクトを指すよ。一般のclangdと、特定の環境に合わせた派生版を分けて、対象言語や設定を公式資料で確認しよう。
ペンギン
まとめ:ざっくりこれだけ覚えればOK!
「clangd」って出てきたら「C++などのコード理解をエディタへ届ける言語サーバー」と思えばだいたいOK!
📖 おまけ:英語の意味
「clangd」 = Clangを基盤にする言語サーバーの名前
💬 コンパイラーのClangと関係するけれど、clangdはエディタのコード理解を支えるプログラムだよ。

参考資料

← 用語集にもどる