posts - 36, comments - 30, trackbacks - 0, articles - 3

          Eclipse中一些擴展點介紹三

          Posted on 2010-07-09 20:52 笑看人生 閱讀(2734) 評論(0)  編輯  收藏 所屬分類: Java插件開發
          擴展點:
          org.eclipse.ui.bindings
          org.eclipse.ui.contexts

          擴展點org.eclipse.ui.bindings是給command增加快捷鍵,結合(介紹二),給命令com.xxxx.test.command1增加快捷鍵,
          示例代碼如下:

          <extension
                   
          point="org.eclipse.ui.bindings">
                
          <key
                      
          commandId="com.xxxx.test.command1"
                      contextId
          ="org.eclipse.ui.contexts.window"
                      schemeId
          ="org.eclipse.ui.defaultAcceleratorConfiguration"
                      sequence
          ="M2+F7">
                
          </key>  
          </extension>

          這樣快捷鍵Shift+F7在Eclipse工作臺上都會起作用,但是如果想讓命令的快捷鍵只對特定的視圖或者編輯器起作用,那么可以通過org.eclipse.ui.contexts擴展點來自定義上下文。

          <extension
                     
          point="org.eclipse.ui.contexts">
                  
          <context
                        
          id="viewmenu.testcontext"
                        name
          ="ViewContext"
                        parentId
          ="org.eclipse.ui.contexts.window">
                  
          </context>
          </extension>

          擴展之后,需要修改org.eclipse.ui.bindings擴展中的contextId屬性為viewmenu.testcontext。

          另外還需要在需要增加該快捷鍵的編輯器或者視圖對應類中增加如下代碼(視圖類在代碼的createControl方法,編輯器類在代碼的init方法):

          IContextService contextService = 
          (IContextService) getSite().getService(IContextService.
          class);
          contextService.activateContext(
          "viewmenu.testcontext");
          主站蜘蛛池模板: 福泉市| 临泉县| 丽水市| 吉安县| 平武县| 伊吾县| 五大连池市| 马公市| 化德县| 科尔| 平乐县| 公主岭市| 乃东县| 阳谷县| 岢岚县| 株洲县| 临江市| 锦屏县| 湖州市| 罗定市| 麻栗坡县| 五河县| 平乐县| 哈密市| 永嘉县| 巫山县| 宕昌县| 富裕县| 连云港市| 惠州市| 麻城市| 赤壁市| 临沭县| 河源市| 怀远县| 呼玛县| 宁夏| 盖州市| 彩票| 隆昌县| 阿拉善盟|