ライブテンプレート
コードスニペットを展開するには、対応するテンプレートの略語を入力し、 Tab を押します。 テンプレート内の 1 つの変数から次の変数に移動するには、 Tab を押し続けます。 Shift+Tab を押して前の変数に移動します。
ライブテンプレート (または コードスニペット )を使用すると、頻繁に使用する構造をコードに挿入できます。 これらには、条件、ブロック、ループなどがあります。 例: 以下のアニメーションは、事前定義された ife の省略形を使用して if-else ブロックをすばやく挿入する方法を示しています。
RubyMine は、Ruby、Rails、RSpec、JavaScript などを含むさまざまな言語やフレームワーク向けに多数の事前定義済みテンプレートを提供します。 必要に応じて、事前定義されたテンプレートをカスタマイズしたり、新しいテンプレートを追加したりできます。
ライブテンプレートには 3 つのタイプがあります。
シンプルなテンプレートには、事前定義されたコードのみが含まれています。 単純なテンプレートを 展開すると、テキストがソースコードに自動的に挿入され、略語が置き換えられます。
パラメーター化されたテンプレートには、ユーザー入力を可能にする変数が含まれています。 パラメーター化されたテンプレートを 展開すると、変数を手動で置き換えるか、変数を自動的に計算する 式を提供できます。
囲みテンプレートは、選択したコードのブロックをユーザーが指定したテキストで囲みます。
ライブテンプレートを展開する
シンプルまたはパラメーター化されたテンプレートを展開する
コードスニペットを展開するには、対応するテンプレートの略語を入力し、 Tab を押します。

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

囲みテンプレートを展開する
囲みテンプレートは、HTML コードをタグでラップできます。 これを行うには、次の手順を実行します。
目的のコードフラグメントを選択し、 Ctrl+Alt+J を押します。
呼び出されたポップアップから 囲む テンプレートを選択し、 Enter を押します。

必要なタグを入力します。

シンプルなテンプレートを作成する
テンプレート変数のないコードを含む単純なテンプレートを追加しましょう。 例: 次の TODO コメントを使用してエディターを開きます。
このコードをテンプレートとして保存するには、次の手順を実行します。
コードフラグメントから簡単なテンプレートを作成する
エディターでコードを選択します。
に進みます。
呼び出されたダイアログで、次の設定を指定します。

略語: エディターでテンプレートを展開するために使用されるテンプレートの省略形を指定します。 ここでは
todoを使用します。説明: 補完ポップアップに表示されるテンプレートの説明が含まれています。
テンプレートテキスト: 挿入されるコードを含むテンプレート本体。
適用対象: 作成したコードスニペットを展開できる言語またはコードを指定します。 変更 をクリックして、必要なコンテキストを指定します。
OKです。 をクリックしてください。
作成されたテンプレートを実際に試すには、エディターで
todoと入力し、 Tab を押します。

テンプレート変数を追加する
ライブテンプレートでは、さまざまな用途で使用できる変数を追加できます。例えば:
現在のキャレット位置で指定する必要があるものに関するヒントを提供します
挿入する静的なデフォルト値を提供します
挿入する値を計算する式を提供します
前の章で作成した簡単なライブテンプレートを変更し、入力をより便利にするためのヒントを追加しましょう。
テンプレート変数のデフォルト値を追加する
設定 を開き、 ページに移動します。
todoテンプレートを 前章で作成したものから選択します。以下に示すように、 テンプレートテキスト に
$DESCRIPTION$、$AUTHOR$、$DATE$変数を追加します。
# TODO # Description: $DESCRIPTION$ # Author: $AUTHOR$ # Date: $DATE$変数の編集 ボタンをクリックします。 呼び出された テンプレート変数の編集 ダイアログで、 デフォルト値 列に引用符で囲まれたデフォルト値を指定します。

このダイアログで OKです。 をクリックしてから、 設定 で OKです。 をクリックします。
カスタマイズされたテンプレートを実際に試すには、エディターで
todoと入力して Tab を押します。 Tab を使用して、変数間を移動します。
必要に応じて、 Shift+Tab を押して前の変数に移動します。
式を使用して変数を計算する
RubyMine では、式を使ってライブテンプレート変数を計算し、その計算値を自動入力できます。 カスタム todo テンプレートを 前のプロシージャで作成したものから変更しましょう。
ページで、
todoテンプレートを選択し、 変数の編集 ボタンをクリックします。呼び出された テンプレート変数の編集 ダイアログで、以下に示すように設定を指定します。

DESCRIPTION: デフォルト値 を 前のプロシージャで指定した静的なままにします。AUTHOR:AUTHORの横にある 式 を展開し、リストからuser機能を選択します。 この関数は、現在のユーザーの名前を返します。DATE:DATEの横にある 式 を展開し、リストから日付を選択します。 この関数は、指定された形式で現在のシステム日付を返します。AUTHOR変数とDATE変数の両方で、 定義済みはスキップ オプションを有効にします。 この場合、RubyMine はテンプレート展開時にこれらの変数の指定を求めません。
このダイアログで OKです。 をクリックしてから、 設定 で OKです。 をクリックします。
エディターで
todoと入力し、 Tab を押してテンプレートを展開します。ご覧のように、RubyMine は 作成者 と 日付 を、それぞれ
userおよび日付関数によって取得した値で自動入力します。 そのため、説明を入力するだけです。
定義済みのテンプレート変数
RubyMine は、変更できない以下の定義済みライブテンプレート変数をサポートしています:
$END$は、コードスニペットが完了し、 Tab を押して次の変数に移動できない場合のキャレット位置を示します。$SELECTION$は囲みテンプレートで使用され、ラップされるコードフラグメントを示します。 囲みテンプレート で詳細を参照してください。
囲みテンプレート
囲みテンプレートは、定義済みのコードでコードブロックをラップします。 $SELECTION$ 事前定義変数は、ラップされるコードフラグメントを示すために使用されます。 定義済みの ife テンプレートに似たカスタム囲みテンプレートの作成方法を見てみましょう。
囲みテンプレートを作成する
設定 を開き、 ページに移動します。
Ruby グループを選択し、
ボタンをクリックします。
以下に示すように、設定を指定します。

略語: テンプレートの省略形を指定します(この例では
ife_sur)。説明: テンプレートの選択 ポップアップに表示されるテンプレートの説明が含まれています。
テンプレートテキスト: 次の方法でテンプレート本体を指定します。
if $SELECTION$ $STATEMENT_ONE$ else $STATEMENT_TWO$ end $END$このコードスニペットには、
$SELECTION$変数が含まれており、テンプレートを展開するときに選択したコードに置き換えられることに注意してください。定義: テンプレートを展開できるコンテキストを指定します。
このダイアログで OKです。 をクリックしてから、 設定 で OKです。 をクリックします。
作成された囲みテンプレートを展開するには、エディターで必要なコードフラグメントを選択し、 Ctrl+Alt+J を押します。 目的の囲みテンプレートを選択し、 Enter を押します。

選択したコードが条件として挿入されます。 Tab を使って変数間を移動します。 終了すると、
$END$変数が テンプレートテキスト に配置されるため、生成されたスニペットの隣の行にキャレットが配置されます。
ライブテンプレートを共有する
RubyMine はカスタムライブテンプレートグループの定義や、定義済みテンプレートグループに追加されたテンプレートを自動生成された XML 構成ファイルに保存します。
カスタムグループの場合、ファイルには、グループに含まれるすべてのテンプレートの定義が含まれます。
変更済みの定義済みグループの場合、ファイルには追加(または変更)されたライブテンプレートの定義のみが含まれます。
ライブテンプレートグループ設定ファイルは、 IDE 構成ディレクトリの テンプレート ディレクトリに格納されています。 テンプレート ディレクトリ内の該当ファイルをコピーすることで、チームメンバーや複数の RubyMine インストール間でライブテンプレートを共有できます。 さらに、IntelliJ プラットフォームをベースにしたすべての IDE でライブテンプレートを共有できます。
ライブテンプレート設定のエクスポート
メニューから を選択してください。
設定のエクスポート ダイアログで、 ライブテンプレート チェックボックスが選択されていることを確認し、エクスポートされた設定が保存されるアーカイブのパスと名前を指定します。
ライブテンプレート設定ファイルに基づいてファイルを生成するには、 OKです。 をクリックします。 このファイルはチームメンバーと共有したり、他の RubyMine インストールにインポートしたりできます。
ライブテンプレート設定をインポート
メニューから を選択してください。
エクスポートされたライブテンプレート設定を使用して、アーカイブへのパスを指定します。
設定のインポート ダイアログで、 ライブテンプレート チェックボックスを選択し、 OKです。 をクリックします。
RubyMine を再起動すると、 エディター | ライブテンプレート 設定ページ  Ctrl+Alt+S にインポートされたライブテンプレートが表示されます。
ライブテンプレート設定
ライブテンプレートを設定するには、 Ctrl+Alt+S を押して設定を開き、 エディター | ライブテンプレート を選択します。このページでは、利用可能なライブテンプレートが言語やフレームワークごとにグループ分けされて表示されます。 テンプレートを設定するには、目的のグループ(例えば、 Ruby )を展開してテンプレートを選択します。
メイン設定
項目 | 説明 | |
|---|---|---|
展開に使用するキー | すべてのテンプレートのデフォルトの呼び出しキーを指定します。 特定のテンプレートの個々の拡張キーは、編集領域で定義されます。 標準の拡張キー(Tab、 Enter、 Space )が望ましくない場合は、このリストから カスタム オプションを選択します。 カスタム を選択すると、 変更 リンクがドロップダウンの横に表示され、 キーマップ ページに移動します。 | |
ライブテンプレート | 現在使用可能なすべてのテンプレートの省略形とその説明を表示します。 略語はノードにグループ化され、各グループ内でアルファベット順にソートされています。 テンプレートまたはグループ全体をアクティブにするには、テンプレートまたはグループの近くにあるチェックボックスを選択します。 | |
追加 Alt+Insert | 新しいテンプレート項目を現在のテンプレートのグループに追加します。 編集領域で、テンプレートの略語、説明、テキスト、変数、拡張キー、コンテキストを定義できます。 | |
削除 Delete | 選択したライブテンプレートをリストから削除します。 | |
複製 | 選択したテンプレートに基づいて新しいテンプレートを作成するには、このボタンをクリックします。 新しいテンプレート項目が現在のノードに追加され、テンプレートテキスト領域のフィールドに選択したテンプレートの定義が表示されます。 | |
削除済みのデフォルトテンプレートを復元 | このボタンをクリックして、削除されたライブテンプレートを復元します。 このボタンは、変更が適用されたときにのみ有効になります。 | |
ライブテンプレートのコンテキストメニュー
項目 | 説明 |
|---|---|
移動し | 選択したテンプレートを指定したグループに移動します。 |
コンテキストの変更 | 現在のテンプレートが有効になっているコンテキストを変更します。 このコマンドを選択すると、サポートされている言語コンテキストのリストが表示されます。 RubyMine がテンプレートをコンテキスト依存としてみなすためには、コンテキスト名の横にあるチェックボックスを選択します。 利用可能なコンテキストタイプは有効化されたプラグインによって異なります。 |
コピー | システムクリップボードに シリアル化されたテンプレート XML を作成します。 |
貼り付け | コピーしたテンプレートの XML 表現を選択したテンプレートのグループに貼り付けます。 |
デフォルトの復元 | このコマンドは、変更されたテンプレートのコンテキストメニューに青色で表示されている場合にのみ表示されます。 このコマンドを選択して、デフォルトのテンプレート設定を復元します。 |
テンプレート編集エリア
次の場合にフォーカスがこの領域に移動します:
追加
または コピー
ボタンをクリックしたとき。
リストからライブテンプレートを選択したとき。
エディターでコードの一部を選択して を選択したとき。
この領域のコントロールで新規 ライブテンプレートを作成し、既存のテンプレートの設定を編集できます。
フィールドラベルに表示されているホットキーを使ってテンプレートテキスト領域を移動できます。
項目 | 説明 |
|---|---|
略語 | このフィールドでは、テンプレートの略語を指定します。 例: エディターでテンプレートを識別する一連の文字。 |
説明 | このフィールドには、テンプレートのオプションの説明またはその使用例を提供します。 |
テンプレートテキスト | このフィールドに、プレーンテキストと変数 |
適用対象 | この読み取り専用フィールドには、エディターがテンプレートを認識する必要がある言語とコード部分が表示されます。 このようなコンテキストで Ctrl+J を押すと、RubyMine はこのコンテキストで有効なテンプレート一覧を表示します。 |
変更 | 現在のテンプレートが有効になっているコンテキストのセットを変更するには、このリンクをクリックします。 リンクをクリックすると、サポートされている言語コンテキストのリストが表示されます。 RubyMine がテンプレートをコンテキスト依存としてみなすためには、コンテキスト名の横にあるチェックボックスを選択します。 利用可能なコンテキストタイプは有効化されたプラグインによって異なります。 |
変数の編集 | テンプレート変数の編集ダイアログを開き、テンプレート展開時に RubyMine がテンプレート変数をどう処理するか定義できます。 |
オプション | この領域では、テンプレート展開時のエディターの動作を定義します。
|
ライブテンプレートを無効化してから再度有効化する
ライブテンプレートを無効化または再度有効化するには、 Ctrl+Alt+S を押して設定を開き、 エディター | ライブテンプレート を選択します。
必要なテンプレートを見つけて、該当するチェックボックスの選択を解除(無効にする)または選択(有効にする)してください。

変数で使用される事前定義関数
機能一覧
関数 | 説明 |
|---|---|
| 現在の言語コンテキストでブロックコメントの終わりを示す文字を返します。 |
| 現在の言語コンテキストでブロックコメントの開始を示す文字を返します。 |
| 文字列を キャメルケースに変換します。 例: |
| 文字列の最初の文字を大文字にします。 例: |
| 文字列のすべての文字を大文字にし、部分間にアンダースコアを挿入します。 例: |
| システムクリップボードの内容を返します。 |
| 現在の言語コンテキストでコメントの終わりを示す文字を返します。 行コメントのある言語の場合、戻り値は空です。 |
| 現在の言語コンテキストでコメントの開始を示す文字を返します。 行コメントのある言語の場合、戻り値は lineCommentStart() と同じように行コメントの始まりです。 |
| 変数の位置で コード補完を呼び出します。 |
| パラメーターとして関数に渡されたすべての文字列を連結して返します。 例: |
| 現在のシステム日付を返します。 デフォルトでは、パラメーターなしで、現在のシステム形式で日付を返します。 別の形式を使用するには、 SimpleDateFormat(英語) 仕様に従ってパラメーターを指定します。 例: |
| テーブルまたはビューの列のリストを返します。 |
| テーブルまたはビューの名前を返します。 |
| 文字列の最初の文字を対応する小文字に置き換えます。 例: |
| 式が return 文で使用されている場合は、デフォルト値を返します。 式がエラー・型である場合は、 |
| テンプレート展開時の補完で提案される文字列リストを返します。 例: |
| Java 文字列で使えるように特殊文字をエスケープします。 例: タブ文字を |
| テンプレートが展開される式の予想される型を返します(割り当ての右側、 Java コンテキストでのみ使用できます。 |
| 現在のファイルの名前とその拡張子を返します。 |
| 現在のファイルの名前を拡張子なしで返します。 |
| 現在のファイルへの絶対パスを返します。 |
| 現在のプロジェクトに相対的な現在のファイルパスを返します。 特定のファイルの相対パスを確認するには、ファイルを右クリックして 参照をコピー を選択するか、 Ctrl+Alt+Shift+C を押します。 |
| パラメーターとして渡された文字列の最初の単語を返します。 例: |
| 文字列として渡された Groovy スクリプトを実行します。 最初の引数は、スクリプトのテキストまたはスクリプトを含むファイルへのパスを含む文字列です。 この関数は、他のオプションの引数を 次の例は、指定された文字列 (別の変数
groovyScript("_1.toUpperCase()", MyVar)
次の例は、選択したテキストを単語に分割し、番号付きリストとして表示する
groovyScript("def result = ''; _1.split().eachWithIndex { item, index -> result = result + index.next() + '. ' + item + System.lineSeparator() }; return result;", SELECTION)
最後の例では、テキストを選択して Ctrl+Alt+T (囲む) を押して適用する必要があることを意味する |
| 現在の言語コンテキストでの行コメントの開始を示す文字を返します。 |
| 現在の行番号を返します。 |
| 文字列を小文字に変換し、セパレータとして n ダッシュを挿入します。 例: |
|
例えば、 |
| 関数またはメソッドにパラメーターを追加するときにパラメーターの詳細を返します。 |
| 文字列を snake_case に変換します。 例えば、 |
| 区切り文字としてスペースを含む指定された文字列を返します。 例: |
| パラメーターとして渡された文字列内のスペースをアンダースコアに置き換えます。 例: |
| 指定された区切り文字までの部分文字列を返します。 これは、テストファイル名の拡張子を削除できます。 例: component-test.js という名前のファイルで使用されている場合、 |
| 現在のシステム時刻を返します。 デフォルトでは、パラメーターなしで、現在のシステム形式で時刻を返します。 別の形式を使用するには、 SimpleDateFormat(英語) 仕様に従ってパラメーターを指定します。 例: |
| 下線付きの文字列(snake_case など )を camelCase に変換します。 例: |
| 文字列のアンダースコアをスペースに変換します。 例: |
| 現在のユーザーの名前を返します。 |