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

RubyMine は、Ruby、Rails、RSpec、JavaScript などを含む、さまざまな言語およびフレームワーク用の多数の事前定義済みテンプレートを提供します。必要に応じて、事前定義されたテンプレートをカスタマイズしたり、新しいテンプレートを追加したりできます。
ライブテンプレートには 3 つのタイプがあります。
シンプルなテンプレートには、事前定義されたコードのみが含まれています。単純なテンプレートを展開すると、テキストがソースコードに自動的に挿入され、略語が置き換えられます。
パラメーター化されたテンプレートには、ユーザー入力を可能にする変数が含まれています。パラメーター化されたテンプレートを展開すると、変数を手動で置き換えるか、変数を自動的に計算する式を提供できます。
囲みテンプレートは、選択したコードのブロックをユーザーが指定したテキストで囲みます。
ライブテンプレートを展開する
シンプルでパラメーター化されたテンプレートを展開する
ライブテンプレートを展開するには、対応するテンプレートの略語を入力して Tab を押します。定義済みの ife
テンプレートを使用して if-else
ブロックを挿入する方法を見てみましょう。

エディターで
ife
と入力し、Tab を押します。必要な条件を指定し、Tab を押して次のステートメントに移動します。
条件が
true
の場合に実行されるコードを入力し、Tab を押してelse
節を移動します。条件が
false
の場合に実行されるコードを入力し、Tab をもう一度押して終了します。(オプション)終了する前に、Shift+Tab を押して前の句に移動して変更できます。
囲みテンプレートを展開する
囲みテンプレートは、HTML コードをタグでラップできます。これを行うには、次の手順を実行します。

目的のコードフラグメントを選択し、Ctrl+Alt+J を押します。
呼び出されたポップアップから、囲むテンプレートを選択し、Enter を押します。
目的のタグを入力し、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
の横にある式を展開し、リストからdate
を選択します。この関数は、指定された形式で現在のシステム日付を返します。AUTHOR
変数とDATE
変数の両方で、定義済みはスキップオプションを有効にします。この場合、RubyMine は、テンプレートを展開するときにこれらの変数を指定することを提案しません。
このダイアログで OK をクリックしてから、設定で OK をクリックします。
エディターで
todo
と入力し、Tab を押してテンプレートを展開します。ご覧のとおり、RubyMine は作成者と日付に、それぞれ
user
関数とdate
関数を使用して取得した値を自動的に入力します。そのため、説明を入力するだけです。
定義済みのテンプレート変数
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 構成ディレクトリの templates ディレクトリに格納されています。templates ディレクトリ内の関連ファイルをコピーすることで、チームメンバーと複数の 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 がテンプレート変数を処理する方法を定義できます。 |
オプション | この領域では、テンプレートが展開されたときのエディターの動作を定義します。
|
変数で使用される事前定義関数
機能一覧
機能 | 説明 |
---|---|
| 現在の言語のコンテキストでブロックコメントの終わりを示す文字を返します。 |
| 現在の言語コンテキストでのブロックコメントの開始を示す文字を返します。 |
| 文字列をキャメルケースに変換します。 例: |
| 文字列の最初の文字を大文字にします。 例: |
| 文字列のすべての文字を大文字にし、パーツ間にアンダースコアを挿入します。 例: |
| システムクリップボードの内容を返します。 |
| 現在の言語コンテキストでコメントの終わりを示す文字を返します。行コメントのある言語の場合、戻り値は空です。 |
| 現在の言語コンテキストでコメントの開始を示す文字を返します。行コメントのある言語の場合、戻り値は 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 に変換します。例: |
| 文字列のアンダースコアをスペースに変換します。例: |
| 現在のユーザーの名前を返します。 |
関連ページ:

コードフラグメントを囲む
RubyMine は、ソースコードの言語に基づいていろいろな構造を持つ周囲のコードフラグメントの標準テンプレートを提供します。これには、条件文、とループ、の組み合わせ、XML タグ、折りたたみ領域、その他の構造が含まれます。言語構造でコードブロックを囲むコードフラグメントを選択します。を押すか、メインメニューでに移動します。リストから必要なサラウンドステートメントを選択します。この機能は、次の言語(コンテキスト)に適用されます。Ruby ステートメント、、、、XML/HTML/RHTML タグタ...

IDE で使用されるディレクトリ
デフォルトでは、RubyMine は、各 IDE インスタンスのユーザー固有のファイル(構成、キャッシュ、プラグイン、ログなど)をユーザーのホームディレクトリに保存します。ただし、必要に応じて、これらのファイルを保存する場所を変更できます。IDE ディレクトリの場所を変更するたとえば、ユーザープロファイルドライブの容量が不足している場合や低速ディスクにある場合、ホームディレクトリが暗号化されている(IDE の速度が低下している)場合、またはネットワークドライブにある場合は、デフォルトの IDE...

IDE 設定のバックアップと同期
RubyMine を使用すると、IDE 設定をバックアップしたり、RubyMine の異なるインスタンス間や、使用している異なる JetBrains IDE 製品間で設定を共有したりできます。これにより、異なるコンピューターで作業している場合に快適な作業環境を再現でき、慣れているものと見た目や動作が異なるという煩わしさを回避できます。設定は、属するカテゴリに応じて、次のいずれかの方法で IDE インスタンス間でバックアップおよび同期できます。バックアップと同期プラグイン経由: データは JetBr...

コード補完
このセクションでは、コーディングプロセスのスピードアップを可能にするコンテキスト対応コード補完のさまざまなテクニックについて説明します。基本補完:基本コード補完は、可視性スコープ内のクラス、メソッド、キーワードの名前を補完するのに役立ちます。コード補完を呼び出すと、RubyMine はコンテキストを分析し、現在のキャレット位置から到達可能な選択肢を提案します (提案にはライブテンプレートも含まれます)。基本補完を呼び出す名前の入力を開始します。を押すか、メインメニューからを選択してください。必...

インテンションアクション
エディターで作業するときに、RubyMine はコードを分析し、コードを最適化する方法を検索し、潜在的な問題と実際の問題を検出します。IDE がコードを変更する方法を見つけるとすぐに、現在の行の横のエディターに黄色のバルブアイコンが表示されます。このアイコンをクリックすると、現在のコンテキストで使用できるインテンションアクションを表示できます。インテンションアクションは、警告から最適化の提案まで、さまざまな状況をカバーします。インテンションの完全なリストを表示し、設定ダイアログでカスタマイズで...

Emmet
Emmet ツールキットは、HTML、CSS、JSX によるコーディングを強化します。RubyMine を移動せずに Emmet コードテンプレートを使用できます。テンプレートを正しいマークアップに展開するには、その略語を入力してを押します。を別のキーに置き換えるには、「略語拡張キーを構成する」を参照してください。例: HTML ファイルでと入力し、を押して 3 × 2 テーブルのスタブを取得します。<table> <tr> <td></td>...