ファイルテンプレート
ファイルテンプレートは、プロジェクトツリーのコンテキストメニューの メニューまたは 新規 セクションを使用して作成する新しいファイルの既定の内容の仕様です。
作成するファイルの種類に応じて、テンプレートは、その種類のすべてのファイルに期待される初期コードとフォーマットを提供します (業界または言語の標準、企業ポリシー、その他の理由に従って)。
CLion は、新しいファイルを作成するときに提案される、すべてのサポートされているファイルタイプの定義済みテンプレートを提供します。 推奨されるファイルタイプのセットは、モジュールと構成、 プロジェクト ツールウィンドウの現在の場所のプロパティによって異なります。 例として、CLion は C++ ソースまたはテストディレクトリの外で C++ ファイルを作成することを提案しません。
ファイルテンプレートの管理と構成
Ctrl+Alt+S を押して設定を開き、 を選択します。

デフォルトでは、テンプレート一覧には CLion が提供する定義済みテンプレートのみが含まれます。 これらの一部は内部テンプレートであり、削除や名前の変更はできません。 CLion は、内部テンプレートの名前を太字で表示します。 変更したテンプレートや手動で作成したカスタムテンプレートの名前は、青色で表示されます。
C/C++ および CMake ファイルのテンプレート
で、 その他 タブを開きます。
ここでは、さまざまなプロジェクト形式で使用される main.c 、 main.cpp 、 CMakeLists.txt のテンプレートを調べて編集できます。

次の手順では、ファイルテンプレートを作成する方法について説明します。 インクルードテンプレートの作成にも同様の手順を使用できます。
新しいファイルテンプレートを作成する
Ctrl+Alt+S を押して設定を開き、 を選択します。
スキーム リストを使用して、ファイルテンプレートが適用されるスコープを選択します。
デフォルト: IDE レベルで作成されたファイルテンプレート。 これらのテンプレートは、現在の IDE インスタンスで開くすべてのプロジェクトで使用できます。 特定のプロジェクトに関係なく、好みの個人用テンプレートとして使用します。 CLion は、グローバルテンプレートを IDE 構成ディレクトリ の fileTemplates に保存します。
プロジェクト: 現在のプロジェクトに固有のファイルテンプレート。 これらのテンプレートは、このプロジェクトで作業するすべてのユーザーが利用できます。 CLion は、 .idea/fileTemplates のプロジェクトフォルダーにそれらを保存します。
ファイル タブで、
をクリックし、テンプレート名、ファイル拡張子、結果のファイルの名前、テンプレートの本体を指定します。
変更を適用し、ダイアログを閉じます。
既存のファイルテンプレートをコピーする
Ctrl+Alt+S を押して設定を開き、 を選択します。
ファイル タブで、
をクリックし、必要に応じてテンプレートの名前、ファイル拡張子、本文を変更します。
変更を適用し、ダイアログを閉じます。
ファイルをテンプレートとして保存する
エディターでファイルを開きます。
メインメニューで へ移動します。
ファイルをテンプレートとして保存 ダイアログで、新しいテンプレート名と拡張子を指定し、必要に応じて本文を編集します。 ファイルテンプレートで使用される構文の詳細については、「構文 」を参照してください。
ファイル名: 必要に応じて、このテンプレートから作成されるファイルの名前を指定します。 デフォルトでは、CLion はファイルを追加するときに命名の入力をユーザーに求めます。 特定の名前をハードコードしてプロンプトを完全に回避したり、使用可能な変数からテンプレートを作成したりできます。 例: 指定した名前を使用して、ファイル作成時に選択したディレクトリの 1 つ上のディレクトリに置く方法を次に示します:
../${NAME}スタイルに応じて整形: このファイルタイプに定義された コードスタイルに従って、このテンプレートに基づいて生成されたコンテンツを再フォーマットします。
ライブテンプレートを使用可能にする: ファイルテンプレート内に ライブテンプレートを挿入します。 Velocity エスケープ構文を使用して、ファイルテンプレートに ライブテンプレート変数を含めます。例:
#[[ $MY_VARIABLE$ $END$ ]]#
変更を適用し、ダイアログを閉じます。
構文
ファイルテンプレートは Velocity テンプレート言語 (VTL)を使用しており、次の構文が含まれます:
プレーンテキストはそのままレンダリングされます。
値に置き換えられる 変数。 例:
${NAME}は、ファイルを追加するときにユーザーが指定した名前を挿入します。Velocity エスケープ構文を使用して、ファイルテンプレートに ライブテンプレート変数を含めます。例:
#[[ $MY_VARIABLE$ $END$ ]]##parse、
#set、#ifなどを含むさまざまなディレクティブ。
$ または # の入力を開始して、使用可能な変数およびディレクティブの 補完候補を参照します。
詳細については、 VTL リファレンスガイド(英語)を参照してください。