• eclipse插件开发:创建向导和导航器配置


    <?xml version="1.0" encoding="UTF-8"?>
    <?eclipse version="3.4"?>
    <plugin>
        <extension
             point="org.eclipse.ui.newWizards">
             <category id="my.project" name="我的业务向导"></category>
           <wizard
            project="true"
            category="my.project"
                        class="com.langsotech.studio.crueTest.wizard.MyProjectWizard4web"
                icon="icons/p_2.png"
                id="com.langsotech.studio.crueTest.wizard.MyProjectWizard4web"
                name="CRUD测试工程向导">
           </wizard>
        </extension>

    <!--======================================================================================-->
    <!--                                    创建项目(菜单)                                     -->
    <!--======================================================================================-->
        <extension point="org.eclipse.ui.popupMenus"> 
          <viewerContribution 
             id="com.langsotech.studio.crueTest" 
             targetID="com.langsotech.studio.crueTest.views.navigator">
            
             <action
                id="com.langsotech.studio.crueTest.action" 
                label="创建项目"
                style="push"
                menubarPath="common.new.menu" 
                icon="icons/p_2.png" 
                class="com.langsotech.studio.crueTest.wizard.CreateNewWizardAction"> 
             </action> 
          </viewerContribution> 
       </extension>
       
    <!--======================================================================================-->
    <!--                                     自定义视图                                       -->
    <!--======================================================================================-->
        <extension
             point="org.eclipse.ui.views">
             <category
                id="com.langsotech.studio"
                name="业务开发">
           </category>
          <view
                category="com.langsotech.studio"
                class="com.langsotech.studio.crueTest.views.MyJCommonNavigator"
                icon="icons/p_2.png"
                id="com.langsotech.studio.crueTest.views.navigator"
                name="CRUD测试项目管理视图"
                restorable="true">
          </view>
        </extension>
        
        <extension
             point="org.eclipse.ui.actionSets">
          <actionSet
                label="CRUD测试项目管理视图"
                visible="true"
                id="com.langsotech.studio.crueTest.myView.actionSet">
             <menu
                   label="项目管理视图"
                   id="myView4navigator">
                <separator
                      name="myViewGroup">
                </separator>
             </menu>
             <action
                   label="CRUD测试项目管理视图"
                   icon="icons/p_2.png"
                   class="com.langsotech.studio.crueTest.views.Action4OpenView"
                   tooltip="CRUD测试项目管理视图"
                   menubarPath="myView4navigator/myViewGroup"
                   toolbarPath="myViewGroup"
                   id="com.langsotech.studio.crueTest.views.Action4OpenView">
             </action>
          </actionSet>
       </extension>
        
        <!--======================================================================================-->
    <!-- 自定义视图(viewerId - 匹配 org.eclipse.ui.views 扩展名中提供的标识的id)               -->
    <!--======================================================================================-->
        <extension point="org.eclipse.ui.navigator.viewer">
         <viewer viewerId="com.langsotech.studio.crueTest.views.navigator"></viewer>
      <!--内容-->
      <viewerContentBinding viewerId="com.langsotech.studio.crueTest.views.navigator">
       <includes>
        <contentExtension pattern="com.langsotech.studio.wizard.providers.Models"></contentExtension>
        <contentExtension pattern="com.langsotech.studio.wizard.providers.JavaModelContent"></contentExtension>
        <contentExtension pattern="org.eclipse.ui.navigator.resourceContent"></contentExtension>
        <contentExtension pattern="org.eclipse.ui.navigator.resources.filters.*"></contentExtension>
        <contentExtension pattern="org.eclipse.ui.navigator.resources.filters.endsWithClass"></contentExtension>
        <contentExtension pattern="org.eclipse.ui.navigator.resources.WorkingSetActions"></contentExtension>
        <contentExtension pattern="com.langsotech.studio.crueTest.filter.MyShowHideFilter"></contentExtension>
        
        <!-- 关联编辑器和导航器,实现文件在导航器的定位 -->
        <contentExtension pattern="org.eclipse.ui.navigator.resources.linkHelper"></contentExtension>
       </includes>
      </viewerContentBinding>
      <!--平台提供的动作-->
      <viewerActionBinding viewerId="com.langsotech.studio.crueTest.views.navigator">
       <includes>
        <!--<actionExtension pattern="com.langsotech.studio.crueTest.wizard.actions.EditActions"></actionExtension> -->
        <actionExtension pattern="org.eclipse.ui.navigator.resources.OpenActions"></actionExtension>
        <actionExtension pattern="org.eclipse.ui.navigator.resources.PortingActions"></actionExtension>
        <actionExtension pattern="org.eclipse.ui.navigator.resources.WorkManagementActionProvider"></actionExtension>
        <actionExtension pattern="org.eclipse.ui.navigator.resources.ResourceMgmtActions"></actionExtension>
        <actionExtension pattern="org.eclipse.ui.navigator.resources.PropertiesActionProvider"></actionExtension>
        <actionExtension pattern="org.eclipse.ui.navigator.resources.WorkingSetActions"></actionExtension>
       </includes>
       <excludes>
             <actionExtension
                  pattern="org.eclipse.ui.navigator.resources.actions.EditActions">
             </actionExtension>
          </excludes>
      </viewerActionBinding>
      
      <!--自定义的动作-->
      <viewerActionBinding viewerId="com.langsotech.studio.crueTest.views.navigator">
       <includes>
        <actionExtension pattern="com.langsotech.studio.crueTest.menu.MyCommonNavigatorNewActionProvider"></actionExtension>
       </includes> 
      </viewerActionBinding>
      
    </extension>

    <!--======================================================================================-->
    <!--         自定义viewer显示修饰(更改文件夹、文件图片)                                   -->
    <!--======================================================================================-->
    <extension point="org.eclipse.ui.decorators"> 
            <decorator
                id="com.langsotech.studio.crueTest.navigator.decorator" 
                label="my Decorator" 
                state="true" 
                class="com.langsotech.studio.crueTest.views.MyLabelDecorator">
                <enablement>
                 <or>
                  <objectClass name="org.eclipse.core.resources.IFile"/> 
                     <objectClass name="org.eclipse.core.resources.IFolder"/>
                    </or> 
                </enablement>
            </decorator>
        </extension>
        
        
        <!--======================================================================================-->
    <!--         文件夹和对应类的适配,目的为了右键改文件夹的时,可以出现不同的菜单                                        -->
    <!--======================================================================================-->
    <extension point="org.eclipse.core.runtime.adapters">
      <factory adaptableType="org.eclipse.core.resources.IFolder" class="com.langsotech.studio.crueTest.views.adapters.JAdapterFactory">
      
      <adapter type="com.langsotech.studio.crueTest.model.Src"></adapter>
      <adapter type="com.langsotech.studio.crueTest.model.WebContent"></adapter>
      
      </factory>
      
    </extension>

        
    <!--======================================================================================-->
    <!-- 过滤  id="com.langsotech.studio.wizard.navigatorFilters.HideSourceFolders"           -->
    <!-- 和org.eclipse.ui.navigator.viewer扩展点里面的内容显示过滤条件                   -->
    <!-- com.langsotech.studio.wizard.navigatorFilters.  匹配                -->
    <!--======================================================================================-->
    <extension point="org.eclipse.ui.navigator.navigatorContent"> 
      
      <actionProvider class="com.langsotech.studio.crueTest.menu.MyCommonNavigatorNewActionProvider"
       id="com.langsotech.studio.crueTest.menu.MyCommonNavigatorNewActionProvider" overrides="org.eclipse.ui.navigator.resources.NewActions"
       priority="normal">
       <enablement>
        <or>
        <!--===============================================================================================-->
        <!--    设置右键菜单,这些配置的目的 是什么文件夹对象要被挂上右键菜单                                                                                              -->
        <!--===============================================================================================-->
         <adapt type="com.langsotech.studio.crueTest.model.Src"></adapt>
         <adapt type="com.langsotech.studio.crueTest.model.WebContent"></adapt>
         <adapt type="org.eclipse.core.resources.IResource"></adapt>
        </or> 
       </enablement>
      </actionProvider>
      
      
      <!--======================================================================================-->
      <!--                             自定义的文件夹的对应模型                                                                                            -->
      <!--======================================================================================-->  


      <!--======================================================================================-->
      <!--                             工程自带的文件夹的对应模型                                                                                        -->
      <!--======================================================================================-->
      <commonWizard menuGroupId="_src" type="new" wizardId="org.eclipse.ui.wizards.new.file">
       <enablement>
        <adapt type="com.langsotech.studio.crueTest.model.Src"></adapt>
       </enablement>
      </commonWizard>
      <commonWizard menuGroupId="_src" type="new" wizardId="org.eclipse.ui.wizards.new.folder">
       <enablement>
        <adapt type="com.langsotech.studio.crueTest.model.Src"></adapt>
       </enablement>
      </commonWizard>
      <commonWizard menuGroupId="_src" type="new" wizardId="org.eclipse.jdt.ui.wizards.NewPackageCreationWizard">
       <enablement>
        <adapt type="com.langsotech.studio.crueTest.model.Src"></adapt>
       </enablement>
      </commonWizard>
      <commonWizard menuGroupId="_src" type="new" wizardId="org.eclipse.jdt.ui.wizards.NewClassCreationWizard">
       <enablement>
        <adapt type="com.langsotech.studio.crueTest.model.Src"></adapt>
       </enablement>
      </commonWizard>
      <commonWizard menuGroupId="_src" type="new" wizardId="org.eclipse.jdt.ui.wizards.NewInterfaceCreationWizard">
       <enablement>
        <adapt type="com.langsotech.studio.crueTest.model.Src"></adapt>
       </enablement>
      </commonWizard>
      <commonWizard menuGroupId="_webContent" type="new" wizardId="org.eclipse.ui.wizards.new.folder">
       <enablement>
        <adapt type="com.langsotech.studio.crueTest.model.WebContent"></adapt>
       </enablement>
      </commonWizard>
      <commonWizard menuGroupId="_webContent" type="new" wizardId="org.eclipse.ui.wizards.new.file">
       <enablement>
        <adapt type="com.langsotech.studio.crueTest.model.WebContent"></adapt>
       </enablement>
      </commonWizard>
      <!-- 过滤显示 -->
      <commonFilter
              activeByDefault="true"
              class="com.langsotech.studio.crueTest.filter.MyShowHideFilter"
              description=""
              id="com.langsotech.studio.crueTest.filter.MyShowHideFilter"
              name="folder file filter">
       </commonFilter> 
    </extension>


    <!--======================================================================================-->
    <!--     定义工程的性质,目的在于我们的工程管理视图可以过滤其他工程不被显示出来                                         -->
    <!--======================================================================================-->
      <extension id="projectnature" name="jProjectNature" point="org.eclipse.core.resources.natures">
      <runtime>
       <run class="com.langsotech.studio.navigator.base.wizard.ProjectNature"></run>
      </runtime>
      </extension>
       
    </plugin>

  • 相关阅读:
    5.9编程练习
    linux下查看torch版本和cuda版本
    4.13编程练习
    C++ Primer Plus-3.7编程练习-第2题和第5题
    More on vim tips
    Method Calling in Perl
    换零钱 动态规划解法 C语言描述
    海伦平方根算法(LISP描述)
    expect 实现模拟交互
    tmux 入门
  • 原文地址:https://www.cnblogs.com/eclipsetech/p/8625156.html
Copyright © 2020-2023  润新知