内部エディターおよび外部エディター

ID: org.eclipse.ui.editors

説明: この拡張ポイントは、新しいエディターをワークベンチに追加するために使用されます。 エディターは、ワークベンチ・ページ内の ビジュアル・コンポーネントです。 エディターは通常、文書や入力オブジェクトの編集またはブラウズに使用されます。 エディターを開くには、一般的に IFile で "Open" を起動します。 このアクションが実行されると、ワークベンチのレジストリーが照会され、そのファイル・タイプに該当するエディターが判別され、 そのエディター・タイプの新しいインスタンスが作成されます。 実際の結果は、エディターのタイプによって異なります。 ワークベンチには、そのワークベンチと密接に統合された内部エディター、および個別のフレーム・ウィンドウで 起動される外部エディターの作成がサポートされています。 これら両者間には、各種レベルの統合も存在します。

内部エディターにおいては、ワークベンチ・ウィンドウとエディター・パーツ間で密接な統合関係が実現されます。 ワークベンチのメニューおよびツールバーには、「切り取り」、「コピー」、「貼り付け」のような いくつかの共通アクションがあらかじめ用意されています。 アクティブなパーツ (ビューまたはエディター) には、これらのアクションのインプリメンテーションが用意されているはずです。 また内部エディターは、ワークベンチ・ウィンドウに現れる新規アクションを定義することができます。 これらのアクションは、エディターがアクティブである場合にのみ現れます。

ワークベンチと外部エディターとの間の統合は、それほど密接ではありません。 この場合、ワークベンチは、エディターを起動することはありますが、その後、外部エディターの状態を判別、 または何らかの方法によって (ファイル・システムによる場合は除く) 共同作業を行うことはありません。

構成マークアップ:

   <!ELEMENT extension (editor*)>

   <!ATTLIST extension
     point CDATA #REQUIRED
     id    CDATA #IMPLIED
     name  CDATA #IMPLIED
   >

   <!ELEMENT editor EMPTY>

   <!ATTLIST editor
     id               CDATA #REQUIRED
     name             CDATA #REQUIRED
     icon             CDATA #IMPLIED
     extensions       CDATA #IMPLIED
     class            CDATA #IMPLIED
     command          CDATA #IMPLIED
     contributorClass CDATA #IMPLIED
     default          (true | false) "false"
     filenames        CDATA #IMPLIED
     launcher         CDATA #IMPLIED
     symbolicFontName CDATA #IMPLIED
   >

例: 内部エディター拡張定義の例を以下に示します。

   <extension point="org.eclipse.ui.editors"> 
      <editor 
         id="com.xyz.XMLEditor" 
         name="Fancy XYZ XML editor" 
         icon="./icons/XMLEditor.gif" 
         extensions="xml" 
         class="com.xyz.XMLEditor" 
         contributorClass="com.xyz.XMLEditorContributor" 
         symbolicFontName="org.eclipse.jface.textfont"
         default="false"> 
      </editor> 
</extension>

API 情報: command 属性を使用した場合、これは、プラットフォームに依存する形で実行される 外部プログラム・コマンド行として扱われます。

launcher 属性を使用した場合は、エディターも外部プログラムとして扱われます。 この場合、指定されたクラスは org.eclipse.ui.IEditorLauncher をインプリメントする必要があります。 ランチャーがインスタンス化され、open(IFile file) が呼び出されてエディターが起動します。

class 属性を使用する場合、ワークベンチではこれが内部エディターであるものと見なし、 指定されたクラスは org.eclipse.ui.IEditorPart をインプリメントする必要があります。 新しいエディター・タイプを定義する際には、subclass org.eclipse.ui.EditorPart をサブクラス化するのが一般的な方法です。 また、contributorClass 属性を定義する必要もあります。 指定されたクラスは org.eclipse.ui.IEditorActionBarContributor をインプリメントする必要があり、 エディター・タイプのフィーチャーを反映するワークベンチ・メニューおよびツールバーに新しいアクションを追加する際に使用されます。

ワークベンチ内には、特定のタイプのエディターが複数開いている場合があります。 たとえば、1 つまたは複数の Java エディターが開いているとします。 重複するアクションおよびアクション・イメージを作成することがないよう、エディターの概念は 2 つに分割されます。 アクションの作成は、IEditorActionBarContributor が行います。 エディターは、アクションのインプリメンテーションを行います。 さらに、コントリビューターは、開いている各エディターによって共用されます。 このような設計のため、1 つまたは複数の開いたエディター用に存在するアクション・セットは 1 つのみとなります。

コントリビューターは、エディター・タイプを反映するワークベンチ・メニューおよびツールバーに新しいアクションを追加します。 これらのアクションは共用され、起動時にはアクティブなエディターに対してアクションが行われます。 アクティブなエディターは、IEditorActionBarContributor.setActiveEditor を呼び出すことによって、 コントリビューターに渡されます。 ワークベンチ・ウィンドウ内のアクションおよび主要グループの ID は、 org.eclipse.ui.IWorkbenchActionConstants に定義されています。 これらは、新規アクションを追加するための参照ポイントとして使用されます。 トップレベル・メニューは、path 属性に次の値を使用して作成されます。

これらのパスに追加されたアクションおよびメニューは、関連するエディターが活動化されている場合にのみ 表示されます。 エディターを閉じると、メニューとアクションは除去されます。

提供されるインプリメンテーション: ワークベンチには、 「デフォルトのテキスト・エディター」が組み込まれています。 エンド・ユーザー製品には、出荷時のバンドルとして、その他のエディターが含まれている場合があります。 この場合、エディターは上記の構文を使用して拡張機能として登録されます。

Copyright (c) 2002,2003 IBM Corporation and others. All rights reserved. This program and the accompanying materials are made available under the terms of the Common Public License v1.0 which accompanies this distribution, and is available at http://www.eclipse.org/legal/cpl-v10.html