コマンド

org.eclipse.ui.commands

2.1

org.eclipse.ui.commands 拡張ポイントは、command および category エレメントを使用して コマンド、およびコマンド・カテゴリーを宣言するために使用されます。 コマンドは一部のセマンティックな動作を抽象的に表現したものであり、実際の実装ではありません。これにより、複数の開発者が、各自の個々のパーツに対し、特定の動作を提供することができます。例えば、「paste」コマンドの実装がエディター内と、エクスプローラー・ウィジェット内で異なる場合があります。これらの実装はハンドラーといいます。

<!ELEMENT extension (activeKeyConfiguration , category , command , keyBinding , keyConfiguration , context , scope)>

<!ATTLIST extension

id    CDATA #IMPLIED

name  CDATA #IMPLIED

point CDATA #REQUIRED>


<!ELEMENT activeKeyConfiguration EMPTY>

<!ATTLIST activeKeyConfiguration

value              CDATA #IMPLIED

keyConfigurationId CDATA #IMPLIED>

このエレメントは、Eclipse の初期アクティブ・キー構成を定義するために使用されます。 これらのエレメントが複数存在する場合、(プラグイン・レジストリーの読み取り順序で) 最後に宣言されたエレメントのみが有効であると考えられます。

このエレメントは設定で置き換えられています。ご使用のアプリケーションでデフォルト・キー構成を変更する必要がある場合は、plugin_customization.ini ファイルで org.eclipse.ui/KEY_CONFIGURATION_ID=your.default.key.configuration.id を指定します。



<!ELEMENT category EMPTY>

<!ATTLIST category

description CDATA #IMPLIED

id          CDATA #REQUIRED

name        CDATA #REQUIRED>

UI ではコマンドをより管理しやすくするため、コマンドをカテゴリー別に編成する場合がよくあります。 このエレメントはこのようなカテゴリーを定義するために使用されます。 複数のコマンドは多くとも 1 つのカテゴリーに追加することができます。 同じ id 属性を持つエレメントが複数存在する場合、(プラグイン・レジストリーの読み取り順序で) 最後に宣言されたエレメントのみが有効であると考えられます。



<!ELEMENT command (commandParameter | defaultHandler?)>

<!ATTLIST command

category       CDATA #IMPLIED

description    CDATA #IMPLIED

id             CDATA #REQUIRED

name           CDATA #REQUIRED

categoryId     CDATA #IMPLIED

defaultHandler CDATA #IMPLIED>

このエレメントは、コマンドを定義する場合に使用します。 コマンドは、アクションによって扱うことができるユーザーからの要求を表します。 また、コマンドは他のコマンドの中で内容的に固有でなければなりません。 同じ意味を持つコマンドが既に定義されている場合は、コマンドを定義しないでください。 同じ id 属性を持つエレメントが複数存在する場合、(プラグイン・レジストリーの読み取り順序で) 最後に宣言されたエレメントのみが有効であると考えられます。 アクションがコマンドに接続される方法については、拡張ポイント org.eclipse.ui.actionSets and org.eclipse.ui.editorActions を参照してください。



<!ELEMENT keyBinding EMPTY>

<!ATTLIST keyBinding

configuration      CDATA #IMPLIED

command            CDATA #IMPLIED

locale             CDATA #IMPLIED

platform           CDATA #IMPLIED

contextId          CDATA #IMPLIED

string             CDATA #IMPLIED

scope              CDATA #IMPLIED

keyConfigurationId CDATA #IMPLIED

commandId          CDATA #IMPLIED

keySequence        CDATA #IMPLIED>

このエレメントにより、キー・シーケンスをコマンドに割り当てることができます。代わりに 「org.eclipse.ui.bindings」拡張ポイントの key エレメントを使用してください。



<!ELEMENT keyConfiguration EMPTY>

<!ATTLIST keyConfiguration

description CDATA #IMPLIED

id          CDATA #REQUIRED

name        CDATA #REQUIRED

parent      CDATA #IMPLIED

parentId    CDATA #IMPLIED>

このエレメントは、キー構成を定義するために使用されます。 同じ id 属性を持つエレメントが複数存在する場合、(プラグイン・レジストリーの読み取り順序で) 最後に宣言されたエレメントのみが有効であると考えられます。 代わりに「org.eclipse.ui.bindings」拡張ポイントを使用してください。



<!ELEMENT context EMPTY>

<!ATTLIST context

description CDATA #IMPLIED

id          CDATA #REQUIRED

name        CDATA #REQUIRED

parent      CDATA #IMPLIED

parentId    CDATA #IMPLIED>

このエレメントは、コンテキストを定義する場合に使用します。 同じ id 属性を持つエレメントが複数存在する場合、(プラグイン・レジストリーの読み取り順序で) 最後に宣言されたエレメントのみが有効であると考えられます。 代わりに org.eclipse.ui.contexts 拡張ポイントを使用してください。



<!ELEMENT scope EMPTY>

<!ATTLIST scope

description CDATA #IMPLIED

id          CDATA #REQUIRED

name        CDATA #REQUIRED

parent      CDATA #IMPLIED>

このエレメントは、有効範囲を定義する場合に使用します。 同じ id 属性を持つエレメントが複数存在する場合、(プラグイン・レジストリーの読み取り順序で) 最後に宣言されたエレメントのみが有効であると考えられます。 使用すべきではありません。代わりに「org.eclipse.ui.contexts」拡張ポイントを使用してください。



<!ELEMENT commandParameter (values)>

<!ATTLIST commandParameter

id       CDATA #REQUIRED

name     CDATA #REQUIRED

values   CDATA #IMPLIED

optional (true | false) "true">

コマンドが認識する必要があるパラメーターを定義します。パラメーターを使用すると、実行時にハンドラーにより多くの情報を提供できます。例えば、「ビューの表示」コマンドにはパラメーターとしてビューを指定できます。ハンドラーはこれらのパラメーターを認識できなければならないため、API と同様に処理する必要があります。



<!ELEMENT values (parameter)>

<!ATTLIST values

class CDATA #REQUIRED>

commandParametervalues 属性の詳細バージョン



<!ELEMENT parameter EMPTY>

<!ATTLIST parameter

name  CDATA #REQUIRED

value CDATA #REQUIRED>

パラメーターの有効値



<!ELEMENT defaultHandler (parameter)>

<!ATTLIST defaultHandler

class CDATA #REQUIRED>

このコマンドのデフォルト・ハンドラー。その他のハンドラーがアクティブでない場合、このハンドラーがアクティブになります。このハンドラーは、activeWhen 条件が指定されていないその他のハンドラー定義と競合します。IExecutableExtension を作成しない場合は、代わりに defaultHandler 属性を使用できます。



org.eclipse.ui プラグイン中の plugin.xml ファイルは org.eclipse.ui.commands 拡張ポイントを幅広く活用します。

この拡張ポイント以外のコマンド、カテゴリー、キー・バインディング、キー構成、またはコンテキストに関する共通 API はありません。 特定のコマンドを処理するアクションの登録、 およびコンテキストを照会および設定するための共通 API は、org.eclipse.ui.IKeyBindingService にあります。