ファイル テンプレート
ファイルテンプレートは、 メニューまたは Project ツリーのコンテキストメニューの 新規 セクションを使用して作成する新しいファイルのデフォルト内容を定義する仕様です。
作成するファイルの種類に応じて、テンプレートはその種類のすべてのファイルで求められる初期コードとフォーマットを提供します (業界標準や言語標準、社内ポリシー、その他の理由に基づくものです)。
RubyMine は、新しいファイルを作成するときに提案される、サポートされているすべてのファイルタイプ向けの事前定義テンプレートを提供します。 提案されるファイルタイプのセットは、モジュールと構成、および プロジェクト ツールウィンドウ内の現在位置のプロパティによって決まります。 たとえば、RubyMine は Ruby ソースディレクトリまたはテストディレクトリの外部で Ruby ファイルの作成を提案しません。
ファイルテンプレートを管理および構成する
Ctrl+Alt+S を押して設定を開き、 を選択します。
詳細については、 ファイルおよびコードテンプレート を参照してください。
デフォルトでは、テンプレートのリストには RubyMine が提供する事前定義テンプレートのみが含まれます。 その一部は内部テンプレートであり、削除または名前変更できないことを意味します。 RubyMine は内部テンプレートの名前を太字で表示します。 変更したテンプレートの名前と、手動で作成したカスタムテンプレートの名前は青色で表示されます。
次のプロシージャでは、ファイルテンプレートの作成方法について説明します。 同様のプロシージャを使用して、 インクルードテンプレートを作成できます。
新しいファイルテンプレートを作成する
Ctrl+Alt+S を押して設定を開き、 を選択します。
スキーム リストを使用して、ファイルテンプレートを適用するスコープを選択します:
デフォルト: IDE レベルで作成されたファイルテンプレート。 これらのテンプレートは、現在の IDE インスタンスで開くすべてのプロジェクトで使用できます。 特定のプロジェクトに関係なく使用したい個人用テンプレートとして使用できます。 RubyMine はグローバルテンプレートを IDE 構成ディレクトリの fileTemplates 配下に保存します。
プロジェクト: 現在のプロジェクト固有のファイルテンプレート。 これらのテンプレートは、このプロジェクトで作業するすべてのユーザーが使用できます。 RubyMine はそれらをプロジェクトフォルダーの .idea/fileTemplates 配下に保存します。
ファイル タブで
をクリックし、テンプレート名、ファイル拡張機能、作成されるファイルの名前、テンプレートの本文を指定します。
変更を適用して、ダイアログを閉じます。
既存のファイルテンプレートをコピーする
Ctrl+Alt+S を押して設定を開き、 を選択します。
ファイル タブで
をクリックし、必要に応じてテンプレートの名前、ファイル拡張機能、本文を変更します。
変更を適用して、ダイアログを閉じます。
ファイルをテンプレートとして保存する
エディターでファイルを開きます。
メインメニューで へ移動します。
「ファイルをテンプレートとして保存」 ダイアログで、新しいテンプレート名と拡張機能を指定し、必要に応じて本文を編集します。 ファイルテンプレートで使用される構文の詳細については、 構文 を参照してください
ファイル名: 必要に応じて、このテンプレートから作成されるファイルの名前を指定します。 デフォルトでは、RubyMine はファイルの追加時に名前の入力を求めます。 特定の名前をハードコードしてプロンプトを完全に表示しないようにするか、使用可能な変数からテンプレートを構成できます。 たとえば、指定した名前を使用しながら、ファイル作成時に選択されたディレクトリのひとつ上のディレクトリに配置するには、次のようにします:
../${NAME}スタイルに応じて整形: このテンプレートに基づいて生成された内容を、このファイルタイプに定義されている コードスタイルに従って整形します。
ライブテンプレートを使用可能にする: ファイルテンプレート内に ライブテンプレート を挿入します。 Velocity エスケープ構文を使用して、 ライブテンプレート変数をファイルテンプレートに含めます(例:
#[[ $MY_VARIABLE$ $END$ ]]#)。
変更を適用して、ダイアログを閉じます。
構文
ファイルテンプレートは Velocity テンプレート言語 (VTL) を使用します。これには次の構文要素が含まれます:
プレーンテキストはそのままレンダリングされます。
変数は、その値に置き換えられます。 たとえば、
${NAME}はファイルを追加するときにユーザーが指定した名前を挿入します。#parse、
#set、#ifなどを含むさまざまなディレクティブ。
$ または # の入力を開始すると、使用可能な変数とディレクティブの 補完候補を参照できます。
詳細については、 VTL リファレンスガイドを参照してください。
次の例は、RubyMine で JavaScript クラスを作成するためのデフォルトテンプレートを示しています:
このテンプレートでは、 ${USER} と ${DATE} はテンプレート変数です。
新しい JavaScript ファイルを作成すると、このテンプレートは次のような内容のファイルを生成します: