私はこれがデフォルトエディタが開い視点に基づいて、同じファイルに対して異なること持つには少し奇妙に思えることに同意しますが、ここにあなたがそれを行うことができる方法です。
- 二つの新しいコンテンツタイプの拡張子
- を作成して第一の新しいコンテンツタイプ
- のデフォルトのエディタとして、あなたの最初のエディタを登録し、各コンテンツについては第二の新しいコンテンツタイプ
- のデフォルトのエディタとして、あなたの第二のエディタを登録あなたは「コンテンツタイプ記述者」を持っています。これらの記述クラスでは、現在のパースペクティブIDのアクティブなワークベンチページをチェックし、期待値と一致する場合は、VALID、パースペクティブIDが一致しない場合はINVALIDを返します。
- 両方のエディタで、これらのエディタをファイル拡張子またはファイル名ではなくコンテンツタイプに関連付ける必要があります。
- 開いているパースペクティブに応じて一度に1つのコンテンツタイプのみが一致します。コンテンツタイプの1つが「デフォルト」であることを確認して、ユーザーが他のパースペクティブを開いている場合に常に一致させるようにします。
更新#1は、このためのいくつかのonlinetutorialsがありますいくつかの例に
を追加しました。しかし、ここでは、どのような作業が必要なのかを簡単に見えるようにするためのコードの例を示します。ここでは次に、表現部クラスでは、あなたのマッチングロジックを行うだろう
<plugin>
<extension
point="org.eclipse.core.contenttype.contentTypes">
<content-type
base-type="org.eclipse.core.runtime.xml"
describer="com.liferay.ide.core.FirstContentTypeDescriber"
id="com.liferay.ide.core.contentType1"
name="First Content Type"
priority="normal">
</content-type>
</extension>
</plugin>
(あなたがそれらの2が必要になります)、あなたのコンテンツタイプを宣言する方法です。そして、あなたがこのようなコンテンツタイプの代わりに、ファイル名や拡張子を参照するエディタ拡張ポイントで:
<extension
point="org.eclipse.ui.editors">
<editor
class="com.liferay.ide.ui.FirstEditor"
default="false"
id="com.liferay.ide.ui.editor1"
name="My First Editor">
<contentTypeBinding
contentTypeId="com.liferay.ide.core.firstContentType">
</contentTypeBinding>
</editor>
</extension>
これはパースペクティブのUIガイドラインに準拠していますか?私はこれがユーザーが期待しているとは確信していません、私は同じアクションから、別のエディタを見たことがない、現在の視点に基づいています。また、私は多くの視点を自分で作り出しています。それぞれのエディターでどのエディターを使用するかはどのように選択すればよいでしょうか? –
私は2つのプラグインを持っています(プラグインごとに1つのパースペクティブ)。 1つはgefエディタでdessign用であり、もう1つはdessignを使用して開発するためのものです。あるユーザは両方のプラグインをインストールし、両方のエディタで同じファイルを開く必要があります(デッサンの観点か開発者の観点かに依存します) – Rafael
これはJavaScriptエディタには意味があります。質問された人のために投票した。現在は本当に答えられていません。 –