1

私はEclipseプラグインプロジェクトを作成しました。私はこのプラグインをポップアップとして利用可能にします。したがって、私は "org.eclipse.ui.popupMenus"で拡張ポイントを作成しました(私たちは古いプロジェクトです)。ポップアップメニューの表示

このポップアップオプションを特定のファイルレベルでのみ表示します拡張子(xmlと言う)。現在、右クリックするとどこにでも表示されます。

私はインターネットを見渡し、このポップアップが表示されるべきルールを設定できる「可視性」タグを追加できることを知りました。しかし、私はそれの構文を知らない。

誰かお手伝いできますか?拡張子xmlのファイル名を右クリックしたときにのみ表示されるようにポップアップメニューの表示を設定するにはどうすればいいですか?

<?xml version="1.0" encoding="UTF-8"?> 
    <?eclipse version="3.2"?> 
    <plugin> 
     <extension point="org.eclipse.ui.popupMenus"> 
      <objectContribution 
       adaptable="true" 
       objectClass="org.eclipse.core.resources.IFile" 
       nameFilter="*.*" 
       id="org.eclipse.lyo.tools.codegenerator.ui.popupMenus.contribution.IFile"> 
      <menu id="org.eclipse.acceleo.module.menu" label="Acceleo Model Code Generator" path="additionsAcceleo"> 
        <groupMarker name="acceleo"/> 
      </menu> 
      <action 
        class="org.eclipse.lyo.tools.codegenerator.ui.popupMenus.AcceleoGenerateCodegeneratorAction" 
        enablesFor="+" 
        id="org.eclipse.lyo.tools.codegenerator.ui.popupMenus.AcceleoGenerateCodegeneratorAction" 
        icon="icons/default.gif" 
        label="Generate Java Code from Model" 
        menubarPath="org.eclipse.acceleo.module.menu/acceleo"/> 
        <visibility> 
           //what should come here? 

        </visibility> 
      </objectContribution> 
     </extension> 
    </plugin> 

http://help.eclipse.org/kepler/index.jsp?topic=%2Forg.eclipse.platform.doc.isv%2Freference%2Fextension-points%2Forg_eclipse_ui_popupMenus.html

よろしく、 ヤシュ

答えて

1

visibilityだけobjectContributionないアクションの子であることができます。

いずれの場合も、namefilter属性を使用して、ファイル名の一致を制限することができます。より複雑なチェックを行う場合は、visiblityのみを使用します。この例で

はJDT項目の一つである:

<objectContribution 
     adaptable="true" 
     objectClass="org.eclipse.core.resources.IFile" 
     nameFilter="*.xml" 
     id="org.eclipse.jdt.internal.ui.javadocexport.JavadocWizard"> 
    <visibility> 
     <objectState name="contentTypeId" value="org.eclipse.ant.core.antBuildFile"/> 
    </visibility> 

この

adaptable="true" 
objectClass="org.eclipse.core.resources.IFile" 

nameFilter="*.xml" 

はにアクションを制限するワークスペース・ファイルにアクションを制限します.xmlで終わるファイル

 <visibility> 
     <objectState name="contentTypeId" value="org.eclipse.ant.core.antBuildFile"/> 
    </visibility> 

はさらに

複数名のパターンに一致するnameFilterを削除し、使用するには「Antビルドファイル」の「コンテンツタイプ」でファイルにアクションを制限しvisibilityのように:

<visibility> 
    <or> 
     <objectState name="name" value="*.xml"/> 
     <objectState name="name" value="*.java"/> 
    </or> 
</visibility> 
+0

ありがとうございました答えgregのために。追加の質問。 nameFilterに複数の値を設定したい場合それを行う方法は何ですか? nameFilter = "*。xml、* .java"は機能しません。 2つのnameFilterを追加することも機能しません。 –

+0

nameFilterは、パターンを1つだけ受け入れます。これはXMLで、nameFilter属性を2回指定することはできません。代わりに 'nameFilter'を削除し、可視性を使用してください - 更新された答えを見てください。 –

関連する問題