このページでは

Clang診断の設定

Clang-TidyとClazyを使って、C、C++、Objective-Cプログラムの問題を検出します。

実行するClangチェックを選択して編集するには:

  1. Preferences>Analyzer >Clang Tools を選択します。

    Analyzer環境設定のClang Toolsタブ

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

    診断設定ダイアログ

    代わりにClang-Tidy設定ファイルからチェックを実行するには、Clang Tools タブでPrefer .clang-tidy file, if present を選択します。

  3. 編集のために選択した診断をコピーするには、Copy を選択します。

    診断設定のコピーダイアログ

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

    診断設定ダイアログのClang-Tidyチェックタブ

    利用可能なチェッカーの詳細については、Clang Static Analyzerのドキュメントを参照してください。

  7. 選択したチェックをプレーン・テキストとして編集するには、Edit Checks as String を選択します。
  8. Clazy Checks タブで、実行するClazyチェックのレベルを選択します。

    Diagnostic Configurations ダイアログの Clazy Checks タブ

  9. 選択したチェックをプレーン・テキストとして編集するには、Edit Checks as String を選択します。
  10. Filters フィールドで、トピックを選択して、Checks フィールドの領域に関連するチェックのみを表示します。選択した分野の検査をフィルタするには、Filter by name フィールドに文字列を入力します。
  11. すべての検査を再度表示するには、Reset Topic Filter を選択します。
  12. チェックの詳細をオンラインで表示するには、チェックの横にあるWeb Page リンクを選択します。

Clazyチェック・レベルの選択

レベル0のチェックは非常に安定しており、誤検出はほとんどありませんが、レベル3のチェックは実験的なものです。各レベルで実行するチェックを選択できます。下位レベルのチェックを自動的に含めるには、Enable lower levels automatically を選択します。

Clang-Tidy設定ファイルの作成

Clang-Tidyは、ソースファイルの最も近い親ディレクトリにある.clang-tidyファイルから、それぞれのソースファイルの設定を読み込みます。設定オプションに対応するコマンドラインオプションがある場合、コマンドラインオプションが優先されます。有効なコンフィギュレーションは-dump-config を使って調べることができます。

Qt Creator は、選択したチェッ クに基づいて構成を作成します。チェックをファイル形式で保存するには、以下のように.clang-tidyファイルを作成します:

  1. Edit Checks as String を選択し、フィールドの内容をコピーする。
  2. clang-tidy -dump-config の出力を.clang-tidy という名前のファイルにパイプします。例えばclang-tidy -checks=-*,bugprone-*,cppcoreguidelines-avoid-* -dump-config > .clang-tidy
  3. .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.