Clang診断の設定
Clang-TidyとClazyを使って、C、C++、Objective-Cプログラムの問題を検出します。
実行するClangチェックを選択して編集するには:
- Preferences>Analyzer >Clang Tools を選択します。

- Diagnostic configuration フィールドに実行するチェックが表示されます。実行するチェックを選択して編集できるDiagnostic Configurations ダイアログを開くには、フィールドの値を選択します。

代わりにClang-Tidy設定ファイルからチェックを実行するには、Clang Tools タブでPrefer .clang-tidy file, if present を選択します。
- 編集のために選択した診断をコピーするには、Copy を選択します。

- Diagnostic configuration name フィールドで、設定に名前を付け、OK を選択します。
- Clang Warnings タブで、Use diagnostic flags from the build system を選択して、警告フラグなどの診断フラグをビルドシステムから Clang コードモデルに転送し、コードエディターで注釈を表示します。
- Clang-Tidy Checks タブで、Select Checks を選択して、実行するチェックを選択します。チェックをフィルターするには、Filter by name フィールドに文字列を入力します。

利用可能なチェッカーの詳細については、Clang Static Analyzerのドキュメントを参照してください。
- 選択したチェックをプレーン・テキストとして編集するには、Edit Checks as String を選択します。
- Clazy Checks タブで、実行するClazyチェックのレベルを選択します。

- 選択したチェックをプレーン・テキストとして編集するには、Edit Checks as String を選択します。
- Filters フィールドで、トピックを選択して、Checks フィールドの領域に関連するチェックのみを表示します。選択した分野の検査をフィルタするには、Filter by name フィールドに文字列を入力します。
- すべての検査を再度表示するには、Reset Topic Filter を選択します。
- チェックの詳細をオンラインで表示するには、チェックの横にあるWeb Page リンクを選択します。
Clazyチェック・レベルの選択
レベル0のチェックは非常に安定しており、誤検出はほとんどありませんが、レベル3のチェックは実験的なものです。各レベルで実行するチェックを選択できます。下位レベルのチェックを自動的に含めるには、Enable lower levels automatically を選択します。
Clang-Tidy設定ファイルの作成
Clang-Tidyは、ソースファイルの最も近い親ディレクトリにある.clang-tidyファイルから、それぞれのソースファイルの設定を読み込みます。設定オプションに対応するコマンドラインオプションがある場合、コマンドラインオプションが優先されます。有効なコンフィギュレーションは-dump-config を使って調べることができます。
Qt Creator は、選択したチェッ クに基づいて構成を作成します。チェックをファイル形式で保存するには、以下のように.clang-tidyファイルを作成します:
- Edit Checks as String を選択し、フィールドの内容をコピーする。
clang-tidy -dump-configの出力を.clang-tidyという名前のファイルにパイプします。例えばclang-tidy -checks=-*,bugprone-*,cppcoreguidelines-avoid-* -dump-config > .clang-tidy- .clang-tidyファイルをソースの親ディレクトリに移動します。
後でQt Creator を使ってさらにチェックを追加するには、.clang-tidy ファイルからEdit Checks as String フィールドにチェックをコピーし、追加のチェックを選択し、.clang-tidy ファイルにフィールドの内容をコピーペーストします。
Clang-TidyとClazyでコードを分析する、Clangツールの設定を指定する、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.