ライブテンプレート変数
ライブテンプレートの省略形を展開すると、その変数は値を入力できる入力フィールドとして表示されるか、値に置き換えられます。 これらは、変更可能なデフォルト値、または 関数を使用して計算された値である場合があります。
テンプレート内で変数を宣言するには、次の形式を使用します: $VAR$
式では、ドル文字 $ を開閉せずに変数名を使用します(例: lowercaseAndDash(ComponentName))。
式を使用して各変数を定義し、式が評価に失敗した場合のデフォルト値を提供します。
この式には、次の構成要素が含まれる場合があります:
二重引用符で囲まれた文字列定数
ライブテンプレートで定義されている他の変数の名前
可能な引数を持つ 定義済み関数
テンプレート変数を設定する
設定 ダイアログ(Ctrl+Alt+S )で、 に移動します。
変数を設定するテンプレートを選択します。
テンプレートテキストで変数を指定し、 変数の編集… をクリックします。
テンプレート変数の編集 ダイアログでは、各変数に対して以下の操作を実行できます。
変数名を変更します。
定義済み関数を使用して式を定義します。
式の評価が失敗した場合のデフォルト値を指定します。 デフォルト値は二重引用符で囲む必要があります。
式が正常に評価された場合にユーザーに入力を求めるときに変数をスキップするかどうかを指定します。

定義済みのテンプレート変数

CLion は、変更できない以下の定義済みライブテンプレート変数をサポートしています:
$END$はコードスニペットが完了したときのキャレットの位置を示し、 Tab を押して次の変数にジャンプすることはできなくなります。$SELECTION$は囲みテンプレートで使用され、ラップされるコードフラグメントを示します。 テンプレートが展開されると、テンプレートで指定されたとおりに選択されたテキストがラップされます。 例:コードで例を選択し、割り当てられた略語で"$SELECTION$"テンプレートを呼び出すか、 Ctrl+Alt+T を押してリストから目的のテンプレートを選択すると、CLion は選択範囲を double 引用符で次のようにラップします:"例"。
ライブテンプレート変数で使用される関数
ライブテンプレート変数を定義するには、次の関数を使用できます:
関数。 | 説明 |
|---|---|
| 範囲ベースの ![]() |
| 現在の言語コンテキストでブロックコメントの終了を示す文字を返します。 |
| 現在の言語コンテキストでブロックコメントの開始を示す文字を返します。 |
| 文字列を キャメルケースに変換します。 例: |
| 文字列の最初の文字を大文字にします。 例: |
| 文字列のすべての文字を大文字にし、パーツ間にアンダースコアを挿入します。 例: |
| 現在のクラスの名前を返します(テンプレートを展開した場所)。 コンストラクターテンプレートに役立ちます。 Java コンテキストでのみ使用できます。 |
| システムクリップボードの内容を返します。 |
|
|
| 現在の言語コンテキストでコメントの終わりを示す文字を返します。 行コメントのある言語の場合、戻り値は空です。 |
| 現在の言語コンテキストでコメントの開始を示す文字を返します。 行コメントのある言語の場合、戻り値は lineCommentStart() と同じように行コメントの始まりです。 |
| 変数の位置で コード補完を呼び出します。 |
| 変数の位置で スマート型補完を呼び出します。 |
| パラメーターとして関数に渡されたすべての文字列を連結したものを返します。 例: |
| 現在のシステム日付を返します。 デフォルトでは、パラメーターなしで、現在のシステム形式で日付を返します。 別の形式を使用するには、 SimpleDateFormat(英語) 仕様に従ってパラメーターを指定します。 例: |
| テーブルまたはビューの列のリストを返します。 |
| テーブルまたはビューの名前を返します。 |
| 文字列の最初の文字を対応する小文字に置き換えます。 例: |
| テンプレートが展開されたときに補完が提案される文字列のリストを返します。 例: |
| 結果を Java 文字列として使用できるように、特殊文字をエスケープします。 例: タブ文字を |
|
|
| この関数のパラメーターとして渡されるオブジェクトの文字列フォーマット指定子を返します。 |
| 現在のスコープで使用可能なコレクションと列挙の名前を返します。 |
| 現在のファイルの名前とその拡張子を返します。 |
| 現在のファイルの名前を拡張子なしで返します。 |
| 現在のファイルへの絶対パスを返します。 |
| 現在のプロジェクトに相対的な現在のファイルパスを返します。 特定のファイルの相対パスを確認するには、ファイルを右クリックして 参照をコピー を選択するか、 Ctrl+Alt+Shift+C を押します。 |
| パラメーターとして渡された文字列の最初の単語を返します。 例: |
| 現在の言語コンテキストでの行コメントの開始を示す文字を返します。 |
| 現在の行番号を返します。 |
| 文字列を小文字に変換し、セパレータとして n ダッシュを挿入します。 例: |
| テンプレートが展開されるメソッドの名前を返します。 Java コンテキストでのみ使用できます。 |
| パラメーターとしてリストされているメンバー関数を含む可視オブジェクトのリストを返します。 |
| 現在の Python 関数の名前を返します。 |
|
例えば、 |
| 右側の式の型で左側の変数を宣言します。 反復 グループのいくつかの事前定義テンプレートは、 |
| 関数またはメソッドにパラメーターを追加するときにパラメーターの詳細を返します。 |
| 文字列を snake_case に変換します。 例えば、 |
| 区切り文字としてスペースを含む指定された文字列を返します。 例: |
| パラメーターとして渡された文字列内のスペースをアンダースコアに置き換えます。 例: |
| 指定された区切り文字までの部分文字列を返します。 これは、テストファイル名の拡張子を削除できます。 例: component-test.js という名前のファイルで使用されている場合、 |
| 最も一般的に使用されるものからの反復でインデックス変数の推奨名を返します: 反復 グループ( |
| 変数の命名規則を参照するコードスタイル設定に従い、変数の型とそのイニシャライザー式に基づいて変数の名前を提案します。 例:反復内の要素を保持する変数の場合、CLion は繰り返されたコンテナーの名前を考慮して最も妥当な名前を推測します。 反復 グループ( |
| 現在のシステム時刻を返します。 デフォルトでは、パラメーターなしで、現在のシステム形式で時刻を返します。 別の形式を使用するには、 SimpleDateFormat(英語) 仕様に従ってパラメーターを指定します。 例: |
| 下線付きの文字列(snake_case など )を camelCase に変換します。 例: |
| 文字列のアンダースコアをスペースに変換します。 例: |
| 現在のユーザーの名前を返します。 |
| ループ内で範囲式として使用されるオブジェクトのインスタンスである変数を返します。 |
|
|
| パラメーターとして渡された型に割り当てられる可能性のあるすべての変数を返します。 例:。 空の文字列 |
サンプル
例として、変数と 関数を使用して、単純な C++ クラスのライブテンプレートを作成してみましょう。 テンプレートには、次の 3 つの変数が含まれます。
$ClassName$:新しいクラスの名前$Food$: 3 つの可能な値のリスト: 「肉」「草」「蜂蜜」$AnimalName$: 文中で使用できるように小文字で始まるクラス名
変数を使用してテンプレートを作成する
Ctrl+Alt+S を押して設定を開き、 を選択します。
C/C++ グループを選択し、
をクリックして、 ライブテンプレート を選択します。
略語 フィールドで、テンプレートの展開に使用される文字を指定します。 例:
動物。テンプレートテキスト フィールドに、次のテンプレートを貼り付けます。
class $ClassName$: public Animal { public: string Food = "$Food$"; void printFood () { std::cout << "The $AnimalName$ eats " << Food << std::endl; } };
変数の編集… をクリックし、 テンプレート変数の編集 ダイアログで変数を構成します。
$ClassName$は変更されていないため、ユーザーがこのテンプレートを適用するときに値を入力する必要があります。$Food$: 式 フィールドに、enum("meat","grass","honey")と入力します。 この関数を使用すると、ユーザーがこのテンプレートを適用するときに、事前定義された値の 1 つを選択できます。$AnimalName$: 式 フィールドに、decapitalize(ClassName)と入力します。 この関数は、ClassName変数の値を受け取り、その最初の文字を小文字に変換します。 ユーザーに入力を求める必要がないため、 定義済みはスキップ を選択します。

テンプレートを適用する言語コンテキストを定義または変更するには、左下隅のリンクをクリックします:

作成したテンプレートを利用する
ライブテンプレートの名前の入力を開始します(この例では
動物)。変数の値(この例ではクラス名)を入力し、 Tab を押して次の変数に移動します。
キーボードの矢印を使用して、
食べ物文字列の値の 1 つを選択します。

