ペイントソフト開発日誌

日々の出来事を殴り書き

QtCreatorのClang-Tidyをカスタマイズしてコーディングを効率化しよう

目次

はじめに

突然ですが皆さんはコーディングにどのエディタを使っているでしょうか。
私はメインがQtCreatorでたまにVSCodeを使っています。
Qtユーザーしか使っていない印象ですが、良いところがたくさんあるのでこの記事ではその一つを紹介します。
メインはClang-Tidyの話なのでQtCreatorに興味がない方もお付き合いいただけると嬉しい。

Clang-Tidyって何?

Clang-TidyはC/C++用の静的解析ツールです。
これを使うとプログラムのエラーやスタイル違反、ベストプラクティスの指摘などコードの質を上げることができます。 昔のQtCreatorでは構文解析にClangは使っていなかったのですが、いつからかClangが使われるようになりCPUリソースを馬鹿食いモダンなC++も正確に構文解析できるようになりました。
Clang-Tidyにはチェック項目が数多くあり、QtCreatorではそれらをカスタマイズすることができるので、手順を以下に紹介します。

Clang-Tidyの設定手順

Qt Creatorのバージョンは13.0.0を使用しています。

  1. [編集] > [Preferences...] > [解析] > [Clang Tools] > [Run Options] > [Diagnostic configuration] から[診断設定]のダイアログを開きます
  2. ビルトインの設定を右上の[コピー...]から複製します
  3. あとは下の[Clang-Tidy Checks]のタブから有効にしたい項目にチェックを入れるだけです

modernize-use-trailing-return-typeをONにしよう

チェックを入れるだけ、と言われても数が多すぎて何が使える項目なのか見当がつかないと思います。(かくいう私もほとんど知りません)
そこで今回はmodernize-use-trailing-return-typeを紹介します。
ここからの内容は前回の記事の補足にもなるので良ければこちらもどうぞ。 rough-paint.hatenablog.com

前回の記事では戻り値型の後置記法の話を書いたのですが、以下の問題を挙げました。

Q.IDEの自動生成が対応していない
Q.タイプ数増えるから嫌
Q.既存の実装を書き換えるのダルい

これに対する私の回答は「Clang-Tidyで後から一括で書き換える」です。
Clang-Tidyは一部の内容についてはコードを直してくれる機能があります。
ちょっと力技ですが、楽なのでauto->を直書きするよりもこっちを使うことが多いです。
QtCreatorでこの設定を有効にすると以下のようになります。

Before After

警告も出してくれるので一目でわかるのも嬉しい。
左クリック > [Analize Current File with Clang-Tidy] を実行して表示される画面から、[Select Fixits] > [Apply Fixits]を押すことでコードを直してくれます。

ここではQtCreatorでのやり方を紹介しましたが、Visual StudioVSCodeでも使えるようなので、みんなも使ってみよう。