CLion 2026.2 Help

ライブテンプレート変数

ライブテンプレートの省略形を展開すると、その変数は値を入力できる入力フィールドとして表示されるか、値に置き換えられます。 これらは、変更可能なデフォルト値、または 関数を使用して計算された値である場合があります。

テンプレート内で変数を宣言するには、次の形式を使用します: $VAR$

式では、ドル文字 $ を開閉せずに変数名を使用します(例: lowercaseAndDash(ComponentName))。

式を使用して各変数を定義し、式が評価に失敗した場合のデフォルト値を提供します。

この式には、次の構成要素が含まれる場合があります:

  • 二重引用符で囲まれた文字列定数

  • ライブテンプレートで定義されている他の変数の名前

  • 可能な引数を持つ 定義済み関数

テンプレート変数を設定する

  1. 設定 ダイアログ(Ctrl+Alt+S )で、 エディター | ライブテンプレート に移動します。

  2. 変数を設定するテンプレートを選択します。

  3. テンプレートテキストで変数を指定し、 変数の編集… をクリックします。

  4. テンプレート変数の編集 ダイアログでは、各変数に対して以下の操作を実行できます。

    • 変数名を変更します。

    • 定義済み関数を使用して式を定義します。

    • 式の評価が失敗した場合のデフォルト値を指定します。 デフォルト値は二重引用符で囲む必要があります。

    • 式が正常に評価された場合にユーザーに入力を求めるときに変数をスキップするかどうかを指定します。

    ライブテンプレート変数

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

ライブテンプレート変数の関数

CLion は、変更できない以下の定義済みライブテンプレート変数をサポートしています:

  • $END$ はコードスニペットが完了したときのキャレットの位置を示し、 Tab を押して次の変数にジャンプすることはできなくなります。

  • $SELECTION$ は囲みテンプレートで使用され、ラップされるコードフラグメントを示します。 テンプレートが展開されると、テンプレートで指定されたとおりに選択されたテキストがラップされます。 例:コードで を選択し、割り当てられた略語で "$SELECTION$" テンプレートを呼び出すか、 Ctrl+Alt+T を押してリストから目的のテンプレートを選択すると、CLion は選択範囲を double 引用符で次のようにラップします: "例"

ライブテンプレート変数で使用される関数

ライブテンプレート変数を定義するには、次の関数を使用できます:

関数​​。

説明

autoTypeForRangedForLoop()

範囲ベースの for ループで型推論のバリアントを提供します:

ループインタレータの自動型推論

blockCommentEnd()

現在の言語コンテキストでブロックコメントの終了を示す文字を返します。

blockCommentStart()

現在の言語コンテキストでブロックコメントの開始を示す文字を返します。

camelCase(<String>)

文字列を キャメルケースに変換します。

例: camelCase("my-text-file")camelCase("my text file")camelCase("my_text_file") はすべて myTextFile を返します。

capitalize(<String>)

文字列の最初の文字を大文字にします。

例: capitalize("name")命名方法名 を返します。 または、 capitalize(camelCase("my awesome class")) と組み合わせて MyAwesomeClass を取得することもできます。

capitalizeAndUnderscore(<String>)

文字列のすべての文字を大文字にし、パーツ間にアンダースコアを挿入します。

例: capitalizeAndUnderscore("FooBar")capitalizeAndUnderscore("foo bar")capitalizeAndUnderscore("foo-bar") はすべて FOO_BAR を返します。

className()

現在のクラスの名前を返します(テンプレートを展開した場所)。 コンストラクターテンプレートに役立ちます。

Java コンテキストでのみ使用できます。

clipboard()

システムクリップボードの内容を返します。

collectionElementName()

_list と複数のエンディングを削除します。

commentEnd()

現在の言語コンテキストでコメントの終わりを示す文字を返します。 行コメントのある言語の場合、戻り値は空です。

commentStart()

現在の言語コンテキストでコメントの開始を示す文字を返します。 行コメントのある言語の場合、戻り値は lineCommentStart() と同じように行コメントの始まりです。

complete()

変数の位置で コード補完を呼び出します。

completeSmart()

変数の位置で スマート型補完を呼び出します。

concat(<String>, ...)

パラメーターとして関数に渡されたすべての文字列を連結したものを返します。

例: concat(date()," ",user()) は、スペースで区切られた現在のシステム日付とユーザー名を返します。

date([format])

現在のシステム日付を返します。

デフォルトでは、パラメーターなしで、現在のシステム形式で日付を返します。 別の形式を使用するには、 SimpleDateFormat(英語) 仕様に従ってパラメーターを指定します。 例: date("Y-MM-d, E, H:m") は、 2020-02-27, Thu, 16:11 としてフォーマットされた日付を返します。

dbColumns()

テーブルまたはビューの列のリストを返します。 dbColumns() は、コンテキストライブテンプレート(たとえば、 ins )で使用されます。 オブジェクトを右クリックして SQL スクリプト​​ を選択すると、コンテキストライブテンプレートにアクセスできます。

dbObjectName()

テーブルまたはビューの名前を返します。 dbObjectName() は、コンテキストライブテンプレート(たとえば、 最上位 )で使用されます。 オブジェクトを右クリックして SQL スクリプト​​ を選択すると、コンテキストライブテンプレートにアクセスできます。

decapitalize(<String>)

文字列の最初の文字を対応する小文字に置き換えます。

例: decapitalize("Name")名前 を返します。

enum(<String>, ...)

テンプレートが展開されたときに補完が提案される文字列のリストを返します。

例: enum("Foo","Bar","Baz") は、指定された文字列の 1 つを選択できるリストを表示します。

escapeString(<String>)

結果を Java 文字列として使用できるように、特殊文字をエスケープします。

例: タブ文字を \t で置き換え、改行文字を \n で置き換え、バックスラッシュを \\ としてエスケープし、引用符を \" としてエスケープします。

executionContext()

sel_getName(_cmd) 関数を使用して、現在のメソッドの名前を返します。

expressionFormatCode()

この関数のパラメーターとして渡されるオブジェクトの文字列フォーマット指定子を返します。

fastEnumeration()

現在のスコープで使用可能なコレクションと列挙の名前を返します。

fileName()

現在のファイルの名前とその拡張子を返します。

fileNameWithoutExtension()

現在のファイルの名前を拡張子なしで返します。

filePath()

現在のファイルへの絶対パスを返します。

fileRelativePath()

現在のプロジェクトに相対的な現在のファイルパスを返します。 特定のファイルの相対パスを確認するには、ファイルを右クリックして 参照をコピー を選択するか、 Ctrl+Alt+Shift+C を押します。

firstWord(<String>)

パラメーターとして渡された文字列の最初の単語を返します。

例: firstWord("one two three")一つ を返します。

lineCommentStart()

現在の言語コンテキストでの行コメントの開始を示す文字を返します。

行番号

現在の行番号を返します。

lowercaseAndDash(<String>)

文字列を小文字に変換し、セパレータとして n ダッシュを挿入します。 例: lowercaseAndDash("MyExampleName")lowercaseAndDash("my example name") はどちらも my-example-name を返します。

methodName()

テンプレートが展開されるメソッドの名前を返します。

Java コンテキストでのみ使用できます。

objectWithFunctions(sFunctionName1, sFunctionName2,...)

パラメーターとしてリストされているメンバー関数を含む可視オブジェクトのリストを返します。

pyFunctionName()

現在の Python 関数の名前を返します。

regularExpression(<String>, <Pattern>, <Replacement>)

文字列 内のすべての パターン を検索し、 置換 に置き換えます。 パターンを正規表現として指定して、文字列内で一致するすべてのものを検索できます。

例えば、 regularExpression(NAME, "a", "b") 式は、 $NAME$ テンプレート変数内の任意の文字「a」を「b」に置き換えます。 パターン部分では正規表現の文字クラスを使用できます。例えば、 regularExpression(NAME, "[a-z]", "b") は変数内の任意の文字を置き換えます。 もし \d\w のようなパターンを正規表現の文字クラスとして扱いたい場合は、スラッシュをエスケープしてパターンを "\\d" のようにする必要があります。

rightSideType()

右側の式の型で左側の変数を宣言します。

反復 グループのいくつかの事前定義テンプレートは、 rightSideType() 関数を使用して、未加工のタイプとジェネリクスタイプの両方に単一のテンプレートを設定します。

showParameterInfo()

関数またはメソッドにパラメーターを追加するときにパラメーターの詳細を返します。

snakeCase(<String>)

文字列を snake_case に変換します。 例えば、 snakeCase("fooBar")snakeCase("foo bar") はどちらも foo_bar を返します。

spaceSeparated(<String>)

区切り文字としてスペースを含む指定された文字列を返します。 例: spaceSeparated("fooBar")foo Bar を返し、 spaceSeparated("Foo_BAR")Foo BAR を返します。

spacesToUnderscores(<String>)

パラメーターとして渡された文字列内のスペースをアンダースコアに置き換えます。 例: spacesToUnderscores("foo bar BAZ")foo_bar_BAZ を返します。

substringBefore(<String>, <Delimeter>)

指定された区切り文字までの部分文字列を返します。 これは、テストファイル名の拡張子を削除できます。 例: component-test.js という名前のファイルで使用されている場合、 substringBefore(fileName(),".")component-test を返します。

suggestIndexName()

最も一般的に使用されるものからの反復でインデックス変数の推奨名を返します: ijk など(現在のスコープで使用されていない最初の名前)。

反復 グループ(foriitarritar )の事前定義されたテンプレートの一部は、 suggestIndexName() 関数を使用して適切なインデックス変数名を提案します。

suggestVariableName()

変数の命名規則を参照するコードスタイル設定に従い、変数の型とそのイニシャライザー式に基づいて変数の名前を提案します。

例:反復内の要素を保持する変数の場合、CLion は繰り返されたコンテナーの名前を考慮して最も妥当な名前を推測します。 反復 グループ(itaritcoiten )の事前定義テンプレートの一部は、 suggestVariableName() 関数を使用して、反復された要素に適切な変数名を提案します。

time([format])

現在のシステム時刻を返します。

デフォルトでは、パラメーターなしで、現在のシステム形式で時刻を返します。 別の形式を使用するには、 SimpleDateFormat(英語) 仕様に従ってパラメーターを指定します。 例: time("H:m z") は、 13:10 UTC としてフォーマットされた時刻を返します。

underscoresToCamelCase(<String>)

下線付きの文字列(snake_case など )を camelCase に変換します。 例: underscoresToCamelCase(foo_bar_baz)underscoresToCamelCase(FOO_BaR_baZ) はどちらも fooBarBaz を返します。

underscoresToSpaces(<String>)

文字列のアンダースコアをスペースに変換します。 例: underscoresToSpaces(foo_bar_baz)foo bar baz を返し、 underscoresToSpaces(FOO_BaR_baZ)FOO BaR baZ を返します。

user()

現在のユーザーの名前を返します。

variableForIteration()

ループ内で範囲式として使用されるオブジェクトのインスタンスである変数を返します。

variableForRangeBasedIteration()

begin および end 関数を含むオブジェクトのインスタンスである変数を返します。

variableOfType(<String>)

パラメーターとして渡された型に割り当てられる可能性のあるすべての変数を返します。 例:。

空の文字列 "" をパラメーターとして渡すと、関数は型に関係なくすべての変数を提案します。

サンプル

例として、変数と 関数を使用して、単純な C++ クラスのライブテンプレートを作成してみましょう。 テンプレートには、次の 3 つの変数が含まれます。

  • $ClassName$ :新しいクラスの名前

  • $Food$: 3 つの可能な値のリスト: 「肉」「草」「蜂蜜」

  • $AnimalName$: 文中で使用できるように小文字で始まるクラス名

変数を使用してテンプレートを作成する

  1. Ctrl+Alt+S を押して設定を開き、 エディター | ライブテンプレート を選択します。

  2. C/C++ グループを選択し、 追加ボタン をクリックして、 ライブテンプレート を選択します。

  3. 略語 フィールドで、テンプレートの展開に使用される文字を指定します。 例: 動物

  4. テンプレートテキスト フィールドに、次のテンプレートを貼り付けます。

    class $ClassName$: public Animal { public: string Food = "$Food$"; void printFood () { std::cout << "The $AnimalName$ eats " << Food << std::endl; } };
    ライブテンプレートの例
  5. 変数の編集… をクリックし、 テンプレート変数の編集 ダイアログで変数を構成します。

    • $ClassName$ は変更されていないため、ユーザーがこのテンプレートを適用するときに値を入力する必要があります。

    • $Food$: フィールドに、 enum("meat","grass","honey") と入力します。 この関数を使用すると、ユーザーがこのテンプレートを適用するときに、事前定義された値の 1 つを選択できます。

    • $AnimalName$: フィールドに、 decapitalize(ClassName) と入力します。 この関数は、 ClassName 変数の値を受け取り、その最初の文字を小文字に変換します。 ユーザーに入力を求める必要がないため、 定義済みはスキップ を選択します。

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

    ライブテンプレートコンテキスト

作成したテンプレートを利用する

  1. ライブテンプレートの名前の入力を開始します(この例では 動物)。

  2. 変数の値(この例ではクラス名)を入力し、 Tab を押して次の変数に移動します。

  3. キーボードの矢印を使用して、 食べ物 文字列の値の 1 つを選択します。

Live template usage
2026 年 7 月 15 日