RubyMine 2026.1 Help

ライブテンプレート

コードスニペットを展開するには、対応するテンプレートの略語を入力し、 Tab を押します。 テンプレート内の 1 つの変数から次の変数に移動するには、 Tab を押し続けます。 Shift+Tab を押して前の変数に移動します。

ライブテンプレート (または コードスニペット )を使用すると、頻繁に使用する構造をコードに挿入できます。 これらには、条件、ブロック、ループなどがあります。 例: 以下のアニメーションは、事前定義された ife の省略形を使用して if-else ブロックをすばやく挿入する方法を示しています。

RubyMine は、Ruby、Rails、RSpec、JavaScript などを含むさまざまな言語やフレームワーク向けに多数の事前定義済みテンプレートを提供します。 必要に応じて、事前定義されたテンプレートをカスタマイズしたり、新しいテンプレートを追加したりできます。

ライブテンプレートには 3 つのタイプがあります。

  • シンプルなテンプレートには、事前定義されたコードのみが含まれています。 単純なテンプレートを 展開すると、テキストがソースコードに自動的に挿入され、略語が置き換えられます。

  • パラメーター化されたテンプレートには、ユーザー入力を可能にする変数が含まれています。 パラメーター化されたテンプレートを 展開すると、変数を手動で置き換えるか、変数を自動的に計算する を提供できます。

  • 囲みテンプレートは、選択したコードのブロックをユーザーが指定したテキストで囲みます。

ライブテンプレートを展開する

シンプルまたはパラメーター化されたテンプレートを展開する

  1. コードスニペットを展開するには、対応するテンプレートの略語を入力し、 Tab を押します。

    ライブテンプレートを選択する
  2. テンプレート内の変数から次の変数へジャンプするには、 Tab を押し続けてください。 Shift+Tab を押して前の変数に移動します。

    変数を使用してテンプレートを拡張する

囲みテンプレートを展開する

囲みテンプレートは、HTML コードをタグでラップできます。 これを行うには、次の手順を実行します。

  1. 目的のコードフラグメントを選択し、 Ctrl+Alt+J を押します。

  2. 呼び出されたポップアップから 囲む テンプレートを選択し、 Enter を押します。

    必要なコードフラグメントを選択する
  3. 必要なタグを入力します。

    必要なタグを入力する

シンプルなテンプレートを作成する

テンプレート変数のないコードを含む単純なテンプレートを追加しましょう。 例: 次の TODO コメントを使用してエディターを開きます。

# TODO # Description: Please enter a description # Author: jetbrains # Date: 19.01.2026

このコードをテンプレートとして保存するには、次の手順を実行します。

コードフラグメントから簡単なテンプレートを作成する

  1. エディターでコードを選択します。

  2. コード | ライブテンプレートとして保存 に進みます。

  3. 呼び出されたダイアログで、次の設定を指定します。

    ライブテンプレートとして保存
    • 略語: エディターでテンプレートを展開するために使用されるテンプレートの省略形を指定します。 ここでは todo を使用します。

    • 説明: 補完ポップアップに表示されるテンプレートの説明が含まれています。

    • テンプレートテキスト: 挿入されるコードを含むテンプレート本体。

    • 適用対象: 作成したコードスニペットを展開できる言語またはコードを指定します。 変更 をクリックして、必要なコンテキストを指定します。

    OKです。 をクリックしてください。

  4. 作成されたテンプレートを実際に試すには、エディターで todo と入力し、 Tab を押します。

    シンプルなテンプレートを展開
    シンプルなテンプレートを拡張した結果

テンプレート変数を追加する

ライブテンプレートでは、さまざまな用途で使用できる変数を追加できます。例えば:

  • 現在のキャレット位置で指定する必要があるものに関するヒントを提供します

  • 挿入する静的なデフォルト値を提供します

  • 挿入する値を計算する式を提供します

の章で作成した簡単なライブテンプレートを変更し、入力をより便利にするためのヒントを追加しましょう。

テンプレート変数のデフォルト値を追加する

  1. 設定 を開き、 エディター | ライブテンプレート ページに移動します。

  2. todo テンプレートを 章で作成したものから選択します。

  3. 以下に示すように、 テンプレートテキスト$DESCRIPTION$$AUTHOR$$DATE$ 変数を追加します。

    変数を含むライブテンプレート
    # TODO # Description: $DESCRIPTION$ # Author: $AUTHOR$ # Date: $DATE$
  4. 変数の編集 ボタンをクリックします。 呼び出された テンプレート変数の編集 ダイアログで、 デフォルト値 列に引用符で囲まれたデフォルト値を指定します。

    テンプレート変数の編集ダイアログ

    このダイアログで OKです。 をクリックしてから、 設定OKです。 をクリックします。

  5. カスタマイズされたテンプレートを実際に試すには、エディターで todo と入力して Tab を押します。 Tab を使用して、変数間を移動します。

    変数を使用してテンプレートを拡張する

    必要に応じて、 Shift+Tab を押して前の変数に移動します。

式を使用して変数を計算する

RubyMine では、式を使ってライブテンプレート変数を計算し、その計算値を自動入力できます。 カスタム todo テンプレートを のプロシージャで作成したものから変更しましょう。

  1. エディター | ライブテンプレート ページで、 todo テンプレートを選択し、 変数の編集 ボタンをクリックします。

  2. 呼び出された テンプレート変数の編集 ダイアログで、以下に示すように設定を指定します。

    テンプレート変数の編集ダイアログ
    • DESCRIPTIONデフォルト値のプロシージャで指定した静的なままにします。

    • AUTHOR: AUTHOR の横にある を展開し、リストから user 機能を選択します。 この関数は、現在のユーザーの名前を返します。

    • DATE: DATE の横にある を展開し、リストから 日付 を選択します。 この関数は、指定された形式で現在のシステム日付を返します。

    • AUTHOR 変数と DATE 変数の両方で、 定義済みはスキップ オプションを有効にします。 この場合、RubyMine はテンプレート展開時にこれらの変数の指定を求めません。

    このダイアログで OKです。 をクリックしてから、 設定OKです。 をクリックします。

  3. エディターで todo と入力し、 Tab を押してテンプレートを展開します。

    ご覧のように、RubyMine は 作成者日付 を、それぞれ user および 日付 関数によって取得した値で自動入力します。 そのため、説明を入力するだけです。

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

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

  • $END$ は、コードスニペットが完了し、 Tab を押して次の変数に移動できない場合のキャレット位置を示します。

  • $SELECTION$ は囲みテンプレートで使用され、ラップされるコードフラグメントを示します。 囲みテンプレート で詳細を参照してください。

囲みテンプレート

囲みテンプレートは、定義済みのコードでコードブロックをラップします。 $SELECTION$ 事前定義変数は、ラップされるコードフラグメントを示すために使用されます。 定義済みの ife テンプレートに似たカスタム囲みテンプレートの作成方法を見てみましょう。

囲みテンプレートを作成する

  1. 設定 を開き、 エディター | ライブテンプレート ページに移動します。

  2. Ruby グループを選択し、 追加 ボタンをクリックします。

  3. 以下に示すように、設定を指定します。

    囲みテンプレートの設定
    • 略語: テンプレートの省略形を指定します(この例では ife_sur)。

    • 説明: テンプレートの選択 ポップアップに表示されるテンプレートの説明が含まれています。

    • テンプレートテキスト: 次の方法でテンプレート本体を指定します。

      if $SELECTION$ $STATEMENT_ONE$ else $STATEMENT_TWO$ end $END$

      このコードスニペットには、 $SELECTION$ 変数が含まれており、テンプレートを展開するときに選択したコードに置き換えられることに注意してください。

    • 定義: テンプレートを展開できるコンテキストを指定します。

  4. このダイアログで OKです。 をクリックしてから、 設定OKです。 をクリックします。

  5. 作成された囲みテンプレートを展開するには、エディターで必要なコードフラグメントを選択し、 Ctrl+Alt+J を押します。 目的の囲みテンプレートを選択し、 Enter を押します。

    囲みテンプレートを展開

    選択したコードが条件として挿入されます。 Tab を使って変数間を移動します。 終了すると、 $END$ 変数が テンプレートテキスト に配置されるため、生成されたスニペットの隣の行にキャレットが配置されます。

    囲みテンプレートの拡張結果

ライブテンプレートを共有する

RubyMine はカスタムライブテンプレートグループの定義や、定義済みテンプレートグループに追加されたテンプレートを自動生成された XML 構成ファイルに保存します。

  • カスタムグループの場合、ファイルには、グループに含まれるすべてのテンプレートの定義が含まれます。

  • 変更済みの定義済みグループの場合、ファイルには追加(または変更)されたライブテンプレートの定義のみが含まれます。

ライブテンプレートグループ設定ファイルは、 IDE 構成ディレクトリ テンプレート ディレクトリに格納されています。 テンプレート ディレクトリ内の該当ファイルをコピーすることで、チームメンバーや複数の RubyMine インストール間でライブテンプレートを共有できます。 さらに、IntelliJ プラットフォームをベースにしたすべての IDE でライブテンプレートを共有できます。

ライブテンプレート設定のエクスポート

  1. メニューから ファイル | IDE 設定の管理 | 設定のエクスポート を選択してください。

  2. 設定のエクスポート ダイアログで、 ライブテンプレート チェックボックスが選択されていることを確認し、エクスポートされた設定が保存されるアーカイブのパスと名前を指定します。

  3. ライブテンプレート設定ファイルに基づいてファイルを生成するには、 OKです。 をクリックします。 このファイルはチームメンバーと共有したり、他の RubyMine インストールにインポートしたりできます。

ライブテンプレート設定をインポート

  1. メニューから ファイル | IDE 設定の管理 | 設定のインポート を選択してください。

  2. エクスポートされたライブテンプレート設定を使用して、アーカイブへのパスを指定します。

  3. 設定のインポート ダイアログで、 ライブテンプレート チェックボックスを選択し、 OKです。 をクリックします。

  4. RubyMine を再起動すると、 エディター | ライブテンプレート 設定ページ  Ctrl+Alt+S にインポートされたライブテンプレートが表示されます。

ライブテンプレート設定

ライブテンプレートを設定するには、 Ctrl+Alt+S を押して設定を開き、 エディター | ライブテンプレート を選択します。このページでは、利用可能なライブテンプレートが言語やフレームワークごとにグループ分けされて表示されます。 テンプレートを設定するには、目的のグループ(例えば、 Ruby )を展開してテンプレートを選択します。

メイン設定

項目

説明

展開に使用するキー

すべてのテンプレートのデフォルトの呼び出しキーを指定します。 特定のテンプレートの個々の拡張キーは、編集領域で定義されます。

標準の拡張キー(TabEnterSpace )が望ましくない場合は、このリストから カスタム オプションを選択します。

カスタム を選択すると、 変更 リンクがドロップダウンの横に表示され、 キーマップ ページに移動します。

ライブテンプレート

現在使用可能なすべてのテンプレートの省略形とその説明を表示します。 略語はノードにグループ化され、各グループ内でアルファベット順にソートされています。 テンプレートまたはグループ全体をアクティブにするには、テンプレートまたはグループの近くにあるチェックボックスを選択します。

追加アイコン

追加 Alt+Insert

新しいテンプレート項目を現在のテンプレートのグループに追加します。 編集領域で、テンプレートの略語、説明、テキスト、変数、拡張キー、コンテキストを定義できます。

削除アイコン

削除 Delete

選択したライブテンプレートをリストから削除します。

重複アイコン

複製

選択したテンプレートに基づいて新しいテンプレートを作成するには、このボタンをクリックします。 新しいテンプレート項目が現在のノードに追加され、テンプレートテキスト領域のフィールドに選択したテンプレートの定義が表示されます。

削除されたデフォルトを復元アイコン

削除済みのデフォルトテンプレートを復元

このボタンをクリックして、削除されたライブテンプレートを復元します。 このボタンは、変更が適用されたときにのみ有効になります。

ライブテンプレートのコンテキストメニュー

項目

説明

移動し

選択したテンプレートを指定したグループに移動します。

コンテキストの変更

現在のテンプレートが有効になっているコンテキストを変更します。 このコマンドを選択すると、サポートされている言語コンテキストのリストが表示されます。 RubyMine がテンプレートをコンテキスト依存としてみなすためには、コンテキスト名の横にあるチェックボックスを選択します。

利用可能なコンテキストタイプは有効化されたプラグインによって異なります。

コピー

システムクリップボードに シリアル化されたテンプレート XML を作成します。

貼り付け

コピーしたテンプレートの XML 表現を選択したテンプレートのグループに貼り付けます。

デフォルトの復元

このコマンドは、変更されたテンプレートのコンテキストメニューに青色で表示されている場合にのみ表示されます。 このコマンドを選択して、デフォルトのテンプレート設定を復元します。

テンプレート編集エリア

次の場合にフォーカスがこの領域に移動します:

  • 追加 追加アイコン または コピー コピーアイコン ボタンをクリックしたとき。

  • リストからライブテンプレートを選択したとき。

  • エディターでコードの一部を選択して コード | ライブテンプレートとして保存 を選択したとき。

この領域のコントロールで新規 ライブテンプレートを作成し、既存のテンプレートの設定を編集できます。

フィールドラベルに表示されているホットキーを使ってテンプレートテキスト領域を移動できます。

項目

説明

略語

このフィールドでは、テンプレートの略語を指定します。 例: エディターでテンプレートを識別する一連の文字。

説明

このフィールドには、テンプレートのオプションの説明またはその使用例を提供します。

テンプレートテキスト

このフィールドに、プレーンテキストと変数 $<variable name>$ の形式を含むテンプレート本文を入力します。 必要に応じて、 変数の編集 をクリックし、必要な 変数の構成 を行います。 テンプレートテキスト内のドル記号 $ をエスケープするには、単に $$ を重複して入力します。

適用対象

この読み取り専用フィールドには、エディターがテンプレートを認識する必要がある言語とコード部分が表示されます。 このようなコンテキストで Ctrl+J を押すと、RubyMine はこのコンテキストで有効なテンプレート一覧を表示します。

変更

現在のテンプレートが有効になっているコンテキストのセットを変更するには、このリンクをクリックします。 リンクをクリックすると、サポートされている言語コンテキストのリストが表示されます。 RubyMine がテンプレートをコンテキスト依存としてみなすためには、コンテキスト名の横にあるチェックボックスを選択します。

利用可能なコンテキストタイプは有効化されたプラグインによって異なります。

変数の編集

テンプレート変数の編集ダイアログを開き、テンプレート展開時に RubyMine がテンプレート変数をどう処理するか定義できます。

オプション

この領域では、テンプレート展開時のエディターの動作を定義します。

  • 展開 - このリストから、テンプレートを呼び出すキーを選択します。

  • スタイルに応じて整形: このチェックボックスを有効にすると、RubyMine は コードスタイルページで定義された現在のスタイル設定に従って展開テキストを自動整形します。

ライブテンプレートを無効化してから再度有効化する

  1. ライブテンプレートを無効化または再度有効化するには、 Ctrl+Alt+S を押して設定を開き、 エディター | ライブテンプレート を選択します。

  2. 必要なテンプレートを見つけて、該当するチェックボックスの選択を解除(無効にする)または選択(有効にする)してください。

ライブテンプレートを無効にする

変数で使用される事前定義関数

機能一覧

関数

説明

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 を返します。

clipboard()

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

commentEnd()

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

commentStart()

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

complete()

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

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() は、コンテキストライブテンプレート(たとえば、 top )で使用されます。 オブジェクトを右クリックして SQL スクリプト を選択すると、コンテキストライブテンプレートにアクセスできます。

decapitalize(<String>)

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

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

defaultReturnValues

式が return 文で使用されている場合は、デフォルト値を返します。 式がエラー・型である場合は、 errorVariableName パラメーターを使用します。

enum(<String>, ...)

テンプレート展開時の補完で提案される文字列リストを返します。

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

escapeString(<String>)

Java 文字列で使えるように特殊文字をエスケープします。

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

expectedType()

テンプレートが展開される式の予想される型を返します(割り当ての右側、 戻る の後、メソッドパラメーターなど)。

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

fileName()

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

fileNameWithoutExtension()

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

filePath()

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

fileRelativePath()

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

firstWord(<String>)

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

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

groovyScript(<String>, [arg, ...])

文字列として渡された Groovy スクリプトを実行します。

最初の引数は、スクリプトのテキストまたはスクリプトを含むファイルへのパスを含む文字列です。 この関数は、他のオプションの引数を _1_2_3、...、 _n 変数の値としてスクリプトに渡します。 また、 _editor 変数を使用して、スクリプト内から現在のエディターにアクセスできます。

次の例は、指定された文字列 (別の変数 $MyVar$ の値) を大文字に変換する groovyScript() 関数を示しています。

groovyScript("_1.toUpperCase()", MyVar)

次の例は、選択したテキストを単語に分割し、番号付きリストとして表示する groovyScript() 関数を示しています。

groovyScript("def result = ''; _1.split().eachWithIndex { item, index -> result = result + index.next() + '. ' + item + System.lineSeparator() }; return result;", SELECTION)

最後の例では、テキストを選択して Ctrl+Alt+T (囲む) を押して適用する必要があることを意味する SELECTION 定義済み変数を使用しています。

lineCommentStart()

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

lineNumber()

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

lowercaseAndDash(<String>)

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

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

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

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

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 を返します。

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()

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

2026 年 6 月 2 日