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

          Eclipse中一些擴展點介紹三

          Posted on 2010-07-09 20:52 笑看人生 閱讀(2744) 評論(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");
          主站蜘蛛池模板: 韶关市| 中超| 桑植县| 黔江区| 琼中| 泸水县| 德江县| 承德市| 渝中区| 巴楚县| 日土县| 镇康县| 汶川县| 龙山县| 桑植县| 宁德市| 连城县| 大兴区| 三亚市| 盐城市| 泾川县| 伊川县| 高雄市| 宜章县| 邮箱| 沙洋县| 双江| 介休市| 仁化县| 社会| 濮阳市| 蒙自县| 定西市| 博野县| 福安市| 长丰县| 磐安县| 绥化市| 承德县| 白银市| 罗江县|