codetemplates
Code Templates
Contents:
1. 概要
コードテンプレートフレームワークは、再利用可能なコード断片(いわゆる「コードテンプレート」)を挿入することで、スクリプト作成を高速化します。コードテンプレートのサポートは、以下の3つの部分で構成されています:
コードテンプレートデータファイル
コードテンプレートウィザード
コードテンプレートエディター
2. コードテンプレートデータファイル
コードテンプレートは、Java Properties形式に準拠したプレーンテキストファイルに保存されます。T-Plan Robot Enterpriseには、バイナリ内にパッケージ化され自動的に読み込まれるデフォルトのコードテンプレートセットが同梱されています。コードテンプレートエディタウィンドウを通じてコードテンプレートに加えたカスタム変更は、RobotCodeTemplates.propertiesという外部ファイルに保存され、ユーザーのホームフォルダに保存されます。このファイルは別の環境にコピーし、コードテンプレートエディタウィンドウのインポートボタンを使用して読み込むことができます。この仕組みは、特定のプロセスやフォーマットを徹底させるため、1人の担当者がチーム全体や会社全体向けのコードテンプレートを作成する状況を想定しています。
3. Code Template Wizard
コードテンプレートウィザードは、コードテンプレートを選択し、スクリプトエディタの現在の位置に挿入することを可能にします。ウィザードは、リストモードとメニューモードの2つのモードで表示できます。
メニューモード このモードは、空のエディタ行に完全な行テンプレートを挿入するのに適しています。コードテンプレートウィザードメニューを開くには、次のいずれかを実行します:
空のエディター行の左側にある

アイコンをクリックし、

コードテンプレートを挿入メニュー項目を選択します。
エディタの空の行を右クリックし、

コードテンプレートを挿入 メニュー項目を選択します。


テンプレートメニューはカテゴリ別にソートされており、1つのコードテンプレートが1つ以上のカテゴリに属する場合があります。各テンプレートは、リストモードでの迅速なテンプレート選択を可能にする固有のショートカットキーで識別されます。テンプレートのショートカットキーは通常、カテゴリを識別する文字で始まります。たとえば、すべてのIf/else ステートメントテンプレートは「i」で始まります。リストモード 利用可能な全テンプレートのリスト形式でコードテンプレートウィザードを開くには、スクリプトエディタでCtrl+Iを押します。リストは以下の方法で操作できます:


矢印キーまたはマウスホイールでリストを移動できます。特定のテンプレートやカテゴリへ移動するには、ショートカットキーまたはその一部(図中の「ifep」など)を入力することも可能です。
選択したコードテンプレートをエディタに挿入するには、Enterキーを押すか、マウスでクリックしてください
ウィザードをキャンセルするには、Escape(Esc)キーを押すか、マウスポインタをテンプレートウィンドウの外側に移動してください。
4. コードテンプレートエディタ
コードテンプレートエディタでは、カスタムコードテンプレートを作成できます。エディタウィンドウを開くには、次のいずれかを実行します:
メインアプリケーションメニューから、編集 ->

コードテンプレート... を選択します。
空のエディタ行の左側にある

アイコンをクリックするか、行を右クリックして、

コードテンプレートの挿入メニュー項目を選択し、コードテンプレートの編集...メニュー項目をクリックします


エディタはデフォルトで、T-Planによって作成された内部テンプレートを含む、利用可能なすべてのコードテンプレートの完全なリストを表示します。この動作は、デフォルトのコードテンプレートを表示するチェックボックスで変更できます。内部テンプレートは変更できませんが、コピーボタンを使用して別のショートカットキーに再保存し、その後変更することは可能です。インポートボタンを使用すると、コードテンプレートデータファイルの章で説明されているように、データファイルからコードテンプレートをインポートできます。変更を保存するには、OKボタンでウィンドウを閉じる必要があります。
新しいテンプレートを作成するには、[新規]ボタンを選択します。または、[コピー]ボタンを選択して選択したテンプレートのコピーを作成することもできます。どちらのボタンも、以下のようにテンプレートエディタを開きます:


ショートカットキーはテンプレート固有の識別子です。テンプレートを整理するために、最初の文字を選択したテンプレートカテゴリに典型的な文字に設定することを推奨します。このシステムにより、コードテンプレートウィザードのリストモードでテンプレートを容易に識別できます。
ウィザードにはデフォルトの説明が表示されます。簡潔に記述してください。
スタンドアロンテンプレートチェックボックスは、テンプレートがエディタに挿入される方法を制御します。チェックボックスがオンの場合、テンプレートは常に新しい行に作成されます。チェックボックスがオフの場合、テンプレートは現在のカーソル位置に挿入されます。このモードは、既存のコマンドやメソッド呼び出し内に挿入される短い「単語」テンプレートに適しています。例えば、パラメータ値や頻繁に使用される変数の呼び出しなどが該当します。
テンプレートカテゴリリストでは、テンプレートを特定の機能カテゴリに関連付けることができます。各テンプレートには少なくとも1つのカテゴリが必要です。新しいカテゴリを作成するには、

ボタンを使用してください。既存のカスタムカテゴリを削除するには、

ボタンを選択してください。デフォルトのカテゴリは変更または削除できません。
インラインテンプレート(スタンドアロンテンプレートチェックボックスがオフの場合)は、それらが表す1つ以上の値型を宣言できます。例えば、数値が期待される場所で使用されることを意図したコードテンプレートは、INT型および/またはFLOAT型として宣言できます。少なくとも1つの値型を宣言するテンプレートは、同じ型のパラメータに対してコマンド/メソッド呼び出しプロパティウィンドウのカスタム入力モードに表示されます。サポートされる値型のリスト:
値型(Value Type) | 説明(Description) |
|---|---|
BOOLEAN | ブール値型('true' または 'false')。GUI上ではチェックボックスまたはラジオボタンとして表示されます。 |
COLOR | 色。GUI上ではドロップダウンとして表示され、デフォルトの色セットとカスタム色を追加できるボタンが用意されています。 |
COLOR_FROM_IMAGE | 色。GUI上ではドロップダウンとして表示され、デフォルトの色セットと、カスタムカラーを追加したりデスクトップ画面から色を選択したりできるボタンが用意されています。 |
COLOR_LIST | 色のリスト。 |
DIRECTORY | ディレクトリ。GUIではこの値タイプは編集可能なテキストフィールドとして表示され、ローカルファイルシステムからディレクトリを選択できるボタンが付いています。 |
FILE | ファイル。GUIではこの値タイプは編集可能なテキストフィールドとして表示され、ローカルファイルシステムからファイルを選択できるボタンが付いています。 |
FILELIST | ファイルの一覧。 |
FLOAT | 浮動小数点数。GUI上では数値フィールドとして表示されます。 |
INT | 整数。GUI上では数値フィールドとして表示されます。 |
INT_DISPLAYED_AS_BOOLEAN | 整数であり、ブール値の「false」(値0)または「true」(それ以外の値)として解釈されます。 |
KEYSTROKE | キーストローク(例:「Ctrl+C」)。GUI上では編集可能なテキストフィールドとして表示され、レコードとキーボードツールボタンが付随します。 |
PASSWORD | パスワード。GUI上ではパスワード入力欄として表示されます。 |
POINT | x座標とy座標で定義される点(位置)。GUI上では数値入力欄のペアと、デスクトップ画面から点を選択できるボタンとして表示されます。 |
RECTANGLE | x座標、y座標、高さ座標、幅座標で定義される長方形。GUI上では4つの数値フィールドと、デスクトップ画面から長方形を選択できるボタンとして表示されます。 |
REGEXP | java.util.regex.Pattern に準拠した正規表現。GUI上では編集可能なテキストフィールドとして表示され、要素から式を構築するためのボタンが付属します。 |
STRING | 文字列。GUI上では編集可能なテキストフィールドまたはドロップダウンとして表示される。 |
STRINGLIST | 文字列のリスト。 |
STRING_WITH_ACTION | 文字列。GUI上では編集可能なテキストフィールドとして表示され、カスタム値セレクタを実装するためのボタンが併せて表示される。 |
TEXT | テキスト。GUI上では編集可能なテキスト領域(複数行のフィールド)として表示されます。 |
TIME_INTERVAL | 時間間隔、例えば「10秒」(10秒間)。 |
サポートされているスクリプト形式であるTPR(.tpr)とJava(.java)それぞれに対応するコードエディタが用意されています。有効なテンプレートは、少なくともいずれか一方の形式、または両方の形式に対応するコードを提供する必要があります。
オプションのカスタム説明フィールドを使用すると、デフォルトの説明(2)をフォーマット固有の説明で上書きできます。入力すると、関連するスクリプトフォーマット用に開かれるコードテンプレートウィザードで説明が表示されます。
テンプレートコードは、先頭のスペース(インデント)なしで提供してください。スペースは自動的に生成されます。コードは静的(プレーンテキスト)またはパラメータ付きの動的のいずれかです。サポートされているマーク(パラメータ)の一覧は以下の通りです:
パラメータ(Parameter)
説明(Description)
1 ${dot}
テンプレートコード挿入後、スクリプトエディタ内でカーソルを配置する位置を示します。${mark} と併用することで、テキスト選択範囲の終了位置を定義します。このマークを挿入するには、エディタ下部のカーソルをマークボタンを任意で使用できます。
2 ${mark}
テンプレートコード挿入後にスクリプトエディタ内で選択(ハイライト)するテキストの開始位置を示すマークです。${dot} と組み合わせて使用する必要があります。このマークを挿入するには、エディタ下部の選択範囲をマークボタンを任意で使用できます。テキスト選択は、テンプレート挿入直後にスクリプト内で書き換えられる予定の値または式を選択するために任意で使用できます。
3 ${var<N>:name1;..;nameM}
${var<N>}一意の変数名を作成する場所を示す。<N>式は1から始まる通常の変数番号でなければなりません(例:var1、var2など)。N番目の変数の最初のマークにはコロン(:)を含め、その後にセミコロンで区切られた1つ以上の優先変数名のリストを記載すること。
このマークにより、テンプレートは既存のスクリプトコードと競合しない方法で、1つ以上の固有の変数を作成する必要があることを指定できます。テンプレートがスクリプトに挿入される際、フレームワークは使用する変数のリストを取得し、まだ使用されていない固有の変数名でテンプレートを埋めます。優先される変数名は接頭辞として機能し、必要に応じて通常の数字が接尾辞として付加されます。例えば、1から10までループするfor()文を作成する単純なテンプレートを考えてみましょう:
for (${var1:i}=0; {${var1}}<10; ${var1}={${var1}}+1) {}
もしそのようなテンプレートが、既に別の目的で「i」変数を使用しているスクリプトに挿入される場合、フレームワークは「i2」のような一意の変数名を生成し、テンプレートを以下のように挿入します:for (i2=0; {i2}<10; i2={i2}+1) {}