ファイルテンプレート変数
ファイルテンプレートには変数を含めることができ、テンプレートの適用時にそれらが値に置き換えられます。 変数は、ドル記号 $ の後に変数名が続く文字列です。 変数名は任意で波括弧で囲むことができます。 例えば、 $MyVariable と ${MyVariable} は同じ変数の異なる表記法です。
事前定義された変数とカスタム変数は、テンプレート本体とファイル名で使用できます。 例: テンプレートの ファイル名 フィールドに MyFile_${MONTH_NAME_FULL} と入力した場合、4 月に作成すると、結果のファイルの名前は MyFile_四月 になります。 ここで、 ${MONTH_NAME_FULL} は 事前定義された変数です。 代わりに カスタム変数を使用する場合、CLion はテンプレートからファイルを作成する際に変数値の入力を求めます。

定義済みのテンプレート変数
次の事前定義された変数をファイルテンプレートで使用できます:
変数 | 説明 |
|---|---|
| オーバーライド生成中の基本関数呼び出しシグネチャー |
| 現在のシステム日付 |
| 現在の月の日 |
| 関数のデフォルト戻り値 |
| 新しいファイルのディレクトリへのパス (プロジェクトルートを基準に) |
| ドル記号 |
| 新しい C または C++ ファイルの名前 |
| 常に |
| クラスまたはソースファイル用に生成されたヘッダーファイルの名前 |
| 現在の時間 |
| 特定のヘッダーファイルのインクルードが繰り返されないようにする |
| 現在の分 |
| 現在の秒 |
| 現在の月 |
| 現在の月のフルネーム(January、February など) |
| 現在の月名の最初の三文字(Jan、Feb など) |
| 新しいエンティティの名前 (ファイル、クラス、インターフェースなど) |
| 中に作成された名前空間ブロックの終わりリファクタリング |
| 中に作成された名前空間ブロックの開始リファクタリング |
| IDE の名前(たとえば、CLion) |
| 現在のプロジェクトの名前 |
| 関数の戻り値の型 (新しい関数を生成するために使われる) |
| Google Test スイート名 |
| Google のテスト名 |
| 現在のシステム時刻 |
| 現在のユーザーのログイン名 (全プラットフォーム) |
| Windows および Linux の場合: 現在のユーザーのログイン名 macOS 用: ユーザーのフルネームの登録 |
| 現在の年 |
CMakeLists.txt ファイルテンプレートで使用できる変数は次のとおりです:
${CMAKE_DEFAULT_PROJECT_FILE} | プロジェクトの main.cpp / main.c / libary.cpp / library.c ファイル。 |
${CMAKE_LANGUAGE_VERSION} | 選択した言語標準。 |
${CMAKE_MAJOR_VERSION} | サポートされている CMake の最小バージョンのメジャー番号。 例: バージョンが |
${CMAKE_MINOR_VERSION} | サポートされている CMake の最小バージョンのマイナー番号。 例: バージョンが |
${CMAKE_LIBRARY_TYPE} | 共有ライブラリの |
${QT_VERSION} | 選択した Qt バージョン。 |
${REQUIRED_LIBS} | 選択したプロジェクトタイプに必要な Qt ライブラリ。 デフォルトでは、Qt Console Executable の場合は |
変数メソッド
CLion はファイルテンプレートのテンプレートエンジンとして Velocityを使用しているため、ファイルテンプレート内の変数で Java の文字列メソッドが利用できます。 例: 次のことが可能です。
${NAME.toUpperCase()}: 新しいエンティティ (ファイル) の名前を大文字に変換します。${PROJECT_NAME.length()}: プロジェクト名の長さを出力します。${PRODUCT_NAME.substring(0,5)}: 使用している IDE の名前の最初の 5 文字を出力します。
カスタムテンプレート変数
事前定義されたテンプレート変数に加えて、カスタム変数を指定することができます。 必要に応じて、 #set ディレクティブを使用して、テンプレート内でカスタム変数の値を定義できます。 対応する変数が使用される前にディレクティブを記述します。
例: 事前定義された変数 ${USER} で定義されたログイン名の代わりにフルネームを使用する場合は、カスタム変数の前に次の構成を追加します。
変数の値がテンプレートで定義されていない場合、CLion はテンプレート適用時にその指定を求めます。