カスタムツールを設定する
ツールメニューにコマンドやフォルダを追加することができます。これにより、ツールをP4Vのツールメニューから使用できるようになります。また、オプションとして、コンテキストメニューから使用することもできます。各カスタムツールでショートカットを作成することもできます。自分のカスタムツール定義をファイルにエクスポートし、別のP4Vユーザがその定義をインポートすることができます。
環境を考慮する
P4Vは、指定されたカスタムツールを外部プロセスで起動します。Perforceの各種設定のうち、P4PORT
、P4USER
、P4CLIENT
、P4CHARSET
の設定がP4V接続用として外部プロセスにエクスポートされます。そのほかにも、P4Vの起動時に指定されたコマンドライン引数やグローバル設定(Windowsマシンの場合、p4 set -s
コマンドで指定された設定)など、P4Vの稼働環境内に存在するPerforce設定が、外部プロセスにエクスポートされます。
P4CONFIG
環境変数が設定されている場合、ツールで操作しているファイル階層内に存在するP4CONFIG
ファイルがツールによって認識されます。P4CONFIG
ファイルの設定により、現在の環境の設定がオーバーライドされます。P4CONFIG
設定による環境設定のオーバーライドを無効にするには、[P4CONFIGファイルを無視する]を選択します。構成ファイルの詳細については、『P4ユーザーズガイド』を参照してください。引数をカスタムツールに渡す場合、[P4CONFIGファイルを無視する]を選択すると、カスタムツールで使用されるサーバ設定を、カスタムツールに渡す引数の値に対応させることができます。
Macでは、デフォルトによりカスタムツールはシェルからは起動しません。P4CONFIG
設定を認識する必要があるツールの場合、ツールの呼び出し前にシェルを起動するスクリプトを作成するか、P4CONFIG
をグローバルに定義します(例: /etc/profile
、/etc/profile.local
、/etc/csh.login
)。Bourneシェルを使用してシェルを作成するには、#!/bin/sh
コマンドを実行します。Cシェルの場合は、#!/bin/tcsh
コマンドを実行します。
ツールの実行を続けたり別のアプリケーションを起動する必要がある場合、バックグラウンドで実行して、カスタムツールで起動されたシェルまたはプロセスを終了します。この方法により、P4Vを終了する際に、別のツールをブロックすることなく、アプリケーションを開いたままにすることができます。
カスタムツールを追加する
カスタムツールをP4Vに追加するには、以下の手順を実行します。
-
[ツール] > [カスタムツールの管理]を選択します。
[カスタムツールの管理]ダイアログが表示されます。
-
[新規]をクリックして[ツール...]を選択します。
[カスタムツールの管理]ダイアログが表示されます。
- [Name]フィールドに、ツールメニューに表示するメニュー項目の名前を入力します。
- [Placement]フィールドで、そのツールをツールメニューのどの部分に表示するかを指定します。新しいツールをP4Vコンテキストメニューで使用できるようにするには、[利用可能なコンテキストメニューに追加]チェックボックスを選択します。
-
このコマンドと関連付けるアプリケーションを[Application]フィールドで指定します。アプリケーションを参照するには、[表示]をクリックします。(アプリケーションをExplorerまたは検索ウィンドウから[Application]フィールドにドラッグアンドドロップすることができます。)
重要p4コマンドを発行するツールを定義するには、[アプリケーション]フィールドに「
p4
」と入力し、目的のコマンドと必要な引数を[引数]フィールドに入力します(例:fix -c %c job000001
)。通常、アプリケーションと引数の指定は、別々のフィールドで行うようにしてください。 -
[Arguments]フィールドには、以下の表にリストされている指定子を使用してコマンド引数を入力します。
注意一部の引数は、大文字と小文字の形式のものがあります。ツールを一度に実行してすべての値をまとめてサブミットするには、大文字の引数を指定します。ツールを各値に対して実行するには、小文字の形式を指定します。
%a
選択したラベル
%b
選択したブランチ
%C, %c
選択したチェンジリスト
%D, %d
選択したファイルまたはフォルダ(ディポファイルでディポシンタックスを使用)
%F, %f
選択したファイル(ディポファイルでワークスペース構文を使用)
%i
選択したワークスペース仕様
%J, %j
選択したジョブ
%O, %o
フォーカスされているパネルにより異なります。
- 左パネルがフォーカスされている場合、選択したチェックアウトファイル。
- 右パネルがフォーカスされている場合、すべてのチェックアウトファイル。
%P, %p
選択した作業中チェンジリスト
%S, %s
選択したサブミット済みチェンジリスト
%t
選択したストリーム
%u
選択したユーザ
$c
現在のワークスペース仕様
$p
現在のポート
$r
現在のクライアントワークスペースルート
$u
現在のユーザ
$D
プロンプトダイアログで入力した引数
$%
「%」文字
$$
「$」文字
引数についての注意:
- 引数は、空白スペースで区切る必要があります。
-
スペースを含む値を指定するには、二重引用符で囲みます。以下に例を示します。
"C:\Program Files\scripts\changelistreport.pl" %p
- 1つのツール定義につき、1つの
%
引数だけを指定することができます。 -
大文字の指定子は、コマンドに値をグループとして送り、一方で小文字の指定子は各値に対してコマンドを実行します。
例えば、
mycommand %F
と指定するとmycommand arg1 arg2 arg3
が実行され、mycommand %f
と指定するとmycommand arg1; mycommand arg2; mycommand arg3
が実行されます。 - プロンプトダイアログで入力した引数(
$D
)がカスタムツールに含まれている場合は、文字列の値を入力するときに「&」文字を使用しないように警告するプロンプトをユーザに対して表示する必要があります。"&"の値は、特殊文字です。
-
[Start in]フィールドでは、コマンドを実行するディレクトリを指定します。ディレクトリは、オペレーティングシステムの構文を使用して指定することができます(例:
「C:\tmp」や「
/tmp
」など)。「%f
」を指定すると、選択したファイルのディレクトリが使用されます。注意%f
を指定する場合は、その他の値を指定しないでください。例えば、%f\temp
のように指定しないでください。 - 標準入出力を表示する端末ウィンドウでアプリケーションを実行するには、[ターミナルウィンドウでツールを実行]を選択します。
- ユーザがカスタムツールメニューの項目を選択後に引数を入力できるようにするには、[引数をユーザに問い合わせる]を選択し、[Description]フィールドに必要な引数の記述を入力します。問い合わせ時にユーザが参照できるようにするには、[ファイルブラウザをプロンプトダイアログに追加]を選択します。
- ツールアプリケーションの完了後にP4Vを更新するには、[完了時にP4Vを更新]を選択します。
- 入力を保存するには、[OK]をクリックします。
-
ツールのショートカットを追加するには、[ショートカット]列をダブルクリックして、目的のキーの組み合わせを入力します。
同じショートカットが保存されている場合やすでに使用されている場合は、P4Vによって警告メッセージが表示されます。
- [カスタムツールの管理]ダイアログを終了するには、[OK]をクリックします。
ツールのインポートとエクスポートを実行する
自分が定義したツールをXMLファイルにエクスポートすることにより、他のP4Vユーザがそのツールをインポートできるようになります。同様に、他のP4Vユーザが作成したツールをインポートすることもできます。
ツールのインポートは以下のように行います。
-
[ツール] > [カスタムツールの管理...]を選択します。
[カスタムツールの管理]ダイアログが表示されます。
-
[ツールのインポート...]をクリックします。
P4Vに[ファイルからカスタムツールを読み込む]ダイアログが表示されます。
-
ファイル名を入力またはファイルを表示してから、[開く]をクリックします。
[インポートのプレビュー]ダイアログが表示されます。
-
[インポート]をクリックします。
ツールの定義がインポートされます。
ツールのエクスポートは以下のように行います。
-
[ツール] > [カスタムツールの管理...]を選択します。
[カスタムツールの管理]ダイアログが表示されます。
-
[ツールのエクスポート...]をクリックします。
[エクスポートのプレビュー]ダイアログが表示されます。
-
エクスポートするツールを選択し、[エクスポート]をクリックします。
[カスタムツールをファイルに保存]ダイアログが表示されます。
- ファイル名を入力し、エクスポートファイルを保存する場所を表示して、[OK]をクリックします。
Windowsでツールが実行しない場合、開いているファイルの拡張子が必要なアプリケーションと関連付けられていることを確認してください。