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

          Eclipse中一些擴展點介紹三

          Posted on 2010-07-09 20:52 笑看人生 閱讀(2741) 評論(0)  編輯  收藏 所屬分類: Java插件開發(fā)
          擴展點:
          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");
          主站蜘蛛池模板: 江门市| 湘潭市| 大化| 中方县| 湾仔区| 朝阳市| 密山市| 龙川县| 永德县| 文成县| 尉氏县| 温宿县| 包头市| 滨海县| 巩义市| 镇坪县| 彰化县| 阳朔县| 澄城县| 克拉玛依市| 泌阳县| 隆安县| 兖州市| 呈贡县| 荔波县| 义马市| 来安县| 讷河市| 论坛| 邵东县| 福清市| 建昌县| 军事| 河南省| 伊吾县| 舟山市| 长寿区| 大埔区| 廊坊市| 康马县| 阳城县|