クイックフィックス
C++ のクイックフィックスに関するグローバル設定を行うには、[Preferences ] > [C++ ] > [Quick Fixes] の順に選択します。
関数の位置
「Generated Function Locations 」グループで、クイックフィックスによってゲッターおよびセッター関数をヘッダーファイル(クラスの内部または外部)に生成するか、実装ファイルに生成するかを設定します。
![C++ の環境設定にある [クイックフィックス] タブ内の生成関数の位置 C++ の環境設定にある [クイックフィックス] タブ内の生成関数の位置](images/qtcreator-preferences-quick-fixes-function-locations.webp)
関数名と属性
「Getter Setter Generation Properties 」グループで、ゲッターおよびセッターの名前、属性、パラメータに関する追加設定を指定します。セッター関数をスロットとして作成したり、新しい値をパラメータとしてシグナルを生成したりするように指定することができます。
![C++ の環境設定にある [クイックフィックス] タブでのゲッターおよびセッターの生成 C++ の環境設定にある [クイックフィックス] タブでのゲッターおよびセッターの生成](images/qtcreator-refactoring-options-generation.png)
名前空間の処理
「Missing Namespace Handling 」グループで、欠落している名前空間を生成するか、必要に応じてusing namespace を追加するか、あるいは既存の名前空間に合わせて型を書き換えるかを選択します。
![C++ の環境設定にある [クイックフィックス] タブでの名前空間の扱い C++ の環境設定にある [クイックフィックス] タブでの名前空間の扱い](images/qtcreator-refactoring-options-namespaces.png)
カスタムパラメータ型
「Custom Getter Setter Templates 」グループで、特定のデータ型のゲッターまたはセッター関数のコードをどのように記述するかを指定します。これは、unique_ptr の事前定義設定のように、代入でoperator= を使用できない型や、浮動小数点型の事前定義設定のように、operator== が比較に適さない型の場合に必要です。 たとえば、特別な型MyClass がある場合、比較にはデフォルトの== ではなく、関数myCompare を使用するように指定できます。
カスタムパラメータ型に対する特別な処理を指定するには、[Add ] を選択し、パラメータ型、比較方法、戻り値式、および戻り値型を設定します。[Return type ] フィールドでは、<new> および<cur> を使用して、パラメータおよび現在の値にアクセスします。型にアクセスするには<type> を、テンプレートパラメータには<T> を使用します。
![C++ 設定の [クイックフィックス] タブにおけるカスタムパラメータ型の扱い C++ 設定の [クイックフィックス] タブにおけるカスタムパラメータ型の扱い](images/qtcreator-refactoring-options-templates.webp)
通常、引数はconst 参照を使用して渡されます。特定の型の引数を値として渡すには、それらをValue types フィールドに列挙します。名前空間とテンプレート引数は削除されます。実際の Type には、指定された Type が含まれている必要があります。たとえば、int はint32_t と一致しますが、vector<int> とは一致しません。また、vector はstd::pmr::vector<int> と一致しますが、std::optional<vector<int>> とは一致しません。
const 参照を使用して非自明なオブジェクトを返すには、[Return non-value types by const reference] を選択します。
「クイックフィックスの適用」、「シンボルの検索」、「シンボルの名前変更」、「クイックフィックスの設定の指定」、「C++ クイックフィックス」、および「QML クイックフィックス」も参照してください 。
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.