Clangd
Clangプロジェクトには、C言語ファミリーのソースファイルを解析し、詳細な診断を提供するライブラリがあります。clangdインデックスはコード補完のようなサービスに対して正確で完全な結果を提供します。
clangdのプリファレンスを設定するには、Preferences >C++ >Clangd と進み、Use clangd を選択します。

次の表は利用可能な環境設定について説明したものです。
| 環境設定 | 説明 |
|---|---|
| Path to executable | clangdのバージョン14以降のパスを指定します。 |
| Background indexing | Off を選択し、高速だが精度の低い組み込みインデクサを使う。グローバルなシンボル検索において、正確さと速度のどちらを重視するかによって、インデックスの優先順位を設定する。 |
| Per-project index location | 各プロジェクトのインデックスファイルを保存するフォルダを指定します。compile-commands.json ファイルもここに保存されます。 |
| Per-session index location | 各セッションのインデックスファイルを保存するフォルダを指定します。 |
| Header/source switch mode | ヘッダー・ファイルとソース・ファイルを切り替える C/C++ バックエンドを選択します。Try Both は、組み込みコード・モデルで何も見つからなかった場合に clangd を使用します。 |
| Worker thread count | 使用するコアの固定数を設定します。デフォルトでは、clangdは使われていないコアをすべて使います。 |
| Insert header files on completion | シンボルを完成させるときにヘッダファイルを挿入する。 |
| Update dependent sources | ヘッダファイルを含む全てのソースファイルを編集時に再パースします。このオプションをクリアすると、ヘッダファイルを保存するときだけ再パースします。 |
| Completion results | 補完結果の最大数。0に設定すると制限がなくなります。 |
| Completion ranking model | 補完候補をランク付けするクラングド・モデルを選択します。 Decision Forest (デフォルト)は機械学習を使用。Heuristic は手作業。 |
| Document update threshold | Qt Creator 文書の変更をサーバに送るまでの待ち時間。 |
| Ignore files greater than | 解析するファイルの最大サイズ。有効にすると解析が速くなります。 |
| Diagnostic configuration | 実行するClangチェック。チェックを編集するために選択します。 |
| Sessions with a Single Clangd Instance | インデックス作成に単一のclangdプロセスを使用するセッションを追加します。 |
Clangチェック
Diagnostic configuration フィールドの値を選択すると、Diagnostic Configurations ダイアログが開き、実行するチェックを選択して編集できます。

組み込みのチェックを使用するだけでなく、Copy を選択してコピーを作成し、ニーズに合わせてコピーを編集することもできます。
- Build-system warnings ビルド・システムによって指定された警告を表示します。
- Checks for questionable constructs は、
-Wallと-Wextraのチェックを組み合わせて、簡単に回避できる疑問のあるコンストラクションといくつかの追加問題をチェックします。
Clangのチェックは-W で始まります。各チェックには、-Wno で始まる否定バージョンもあります。
いくつかのオプションは他のオプションをオンにすることに注意してください。詳細については、警告を要求または抑制するオプション、またはGCCやClangのマニュアル・ページを参照してください。
Clangd設定の指定、Clangコード・モデル、コード・モデルも参照してください 。
Copyright © The Qt Company Ltd. and other contributors. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.