C++ コードスタイル
Qt Creator では、ClangのLibFormatライブラリを使用して、C++コードの書式設定とインデントを自動的に行います。これにより、プロジェクトまたは組織全体で統一されたコーディングスタイルが強制されます。
C++ エディタのグローバルなインデント設定を指定するには、[Preferences ] > [C++ ] > [Code Style] の順に移動します。
次の表に、利用可能な設定について説明します。
| 設定項目 | 説明 |
|---|---|
| Formatting mode | 選択:
|
| Ignore files greater than | 大きなファイルを無視して解析を高速化します。解析対象のファイルの最大サイズを指定します。 |
| Format while typing | 入力中にフォーマットを適用する。 |
| Format edited code on file save | ファイルを保存する際に、編集したコードにフォーマットを適用します。ファイルの保存中にこの設定を一時的に無効にするには、[File ] に移動し、[Save Without Formatting] を選択します。 |
| Use custom settings | すべてのプロジェクトに対して ClangFormat のスタイルをグローバルに変更します。 |
| Custom settings | 変更する設定を選択し、[Copy] を選択します。設定に名前を付け、[OK] を選択します。 |
| ClangFormat | 「ClangFormat スタイルオプション」を編集します。ライブプレビューでは、設定の変更によってインデントがどのように変化するかが確認できます。無効な値を入力すると、警告メッセージが表示されます。 |
組み込みのインデント機能の使用

「Formatting mode 」で「Use Built-In Indenter 」を選択すると、以下の動作を指定できます:
- TabキーおよびBackspaceキーの押下をどのように解釈するか。
- インデントツールが、末尾にセミコロンを必要としない完全な文として解釈するマクロを追加する。
- クラス、関数、ブロック、および名前空間の内容をインデントする。
- クラス、名前空間、列挙型、関数、およびブロック内の波括弧のインデント。
- switch文とその内容を制御する。
- 継続行を揃える。
- 型および宣言内のポインタ (*) および参照 (&) を、識別子、型名、または左側もしくは右側の
constまたはvolatileキーワードにバインドします。
コンテンツの設定の指定
クラス内の public、protected、および private のステートメント、およびそれらに関連する宣言にインデントを付けることができます。
また、関数やブロック内の文、および名前空間内の宣言をインデントすることもできます。

中括弧の設定
クラス、名前空間、列挙型、関数の宣言およびコードブロックをインデントすることができます。

switch 文の設定の指定
switch 文内の case または default 文、およびそれらに関連する文やブロックをインデントすることができます。

配置の指定
= や+= などの代入文の後のトークンに、続き行を揃えるには、[Align after assignments] を選択します。[General ] タブで、続き行の揃えに関する追加設定を指定できます。
また、条件文にスペースを追加して、次の行と揃わないようにすることもできます。通常、これはif 文にのみ影響します。

ポインタおよび参照のバインディング
型や宣言内のポインタ (*) および参照 (&) を、識別子、型名、または左側もしくは右側のconst またはvolatile キーワードにバインドするには、[Pointers and References ] タブのチェックボックスを選択します。
* および& の文字は、関数へのポインタや配列へのポインタの識別子に自動的にバインドされます。

コマンドラインからの ClangFormat ファイルの作成
コマンドラインから、特定の事前定義済みスタイルの設定オプションを持つ.clang-format ファイルを作成できます。たとえば、LLVMスタイルのフォーマットファイルを作成するには、次のコマンドを入力します。
clang-format -style=llvm -dump-config > .clang-format
「テキストやコードのインデント」、「コードスタイルの指定」、「動作」、「 Qt Quick コードスタイルの指定」、および「Nim」も参照してください 。
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.