2009-09-17 119 views
22

在我們的Eclipse Eclipse項目中,我們有幾個構建配置,因爲我們有一個引擎,在運行時根據它獲取的參數爲特定項目構建安裝jar,所以每個構建配置運行具有不同參數的相同構建以構建特定項目的安裝。指定特定Eclipse構建配置的鍵盤快捷鍵

目前,我必須轉到工具欄中的運行配置下拉按鈕以啓動引擎,並且需要從列表中選擇構建配置以便運行(或調試)具有所需參數。

如果運行按鈕而不是從下拉菜單中選擇運行按鈕,我已經配置了Eclipse運行最後一次運行執行,但是我真的想在工具欄中爲每個生成配置(或者我最喜歡的配置),甚至更好,有一個鍵盤快捷鍵來運行(或調試)特定的構建配置。那可能嗎?

+0

對於插件的開發,抓住一些信息,最簡單的方法仍然是Eclipse的幫助頁面:http://help.eclipse.org/galileo/ index.jsp?nav =/4 – VonC 2009-09-21 18:19:51

回答

25

我能夠放在一起基於splintor的線程的具體步驟,並得到這個工作(我也是在那找到具有相同名稱的任何現有的啓動和終止它的頂部增加了一個循環,有效地使之成爲一個「重啓「宏):

要指定鍵盤快捷鍵來具體Eclipse啓動配置,執行以下步驟:

  • 安裝https://sourceforge.net/projects/practicalmacro/,您可以 在Eclipse中通過幫助 - >軟件更新: http://puremvcnotificationviewer.googlecode.com/svn/trunk/PracticallyMacroGoogleUpdateSite

  • 重新啓動Eclipse並打開Eclipse首選項。您將有一個名爲「實際宏選項」的新節點 ,展開該節。

  • 點擊 「編輯宏定義」

  • 點擊「新...「

  • 在可用命令的列表,向下滾動到‘編輯宏腳本(BeanShell的)’, 選擇它,然後單擊‘添加 - >’

  • 當腳本編輯器彈出,添加下面的代碼到現有的代碼:

    import org.eclipse.debug.core.DebugPlugin; 
    import org.eclipse.debug.core.ILaunchConfiguration; 
    import org.eclipse.debug.core.ILaunch; 
    import org.eclipse.debug.ui.DebugUITools; 
        try 
        { 
         // Terminate process if it already exists from a previous launch 
         org.eclipse.debug.core.ILaunch[] allLaunches=DebugPlugin.getDefault().getLaunchManager().getLaunches(); 
         for (ILaunch l : allLaunches) 
         {    
         if (l.getLaunchConfiguration().getName().equals("YOUR CONFIG NAME HERE")) 
         { 
          console.write("terminating launch: "); 
          console.writeln(l.getLaunchConfiguration().getName()); 
          l.terminate(); 
          break; 
         } 
         } 
    
         org.eclipse.debug.core.ILaunchConfiguration[] allConfigurations=DebugPlugin.getDefault().getLaunchManager().getLaunchConfigurations(); 
         for (ILaunchConfiguration config : allConfigurations) { 
          if (config.getName().equals("YOUR CONFIG NAME HERE")) 
          { 
           DebugUITools.launch(config, "debug"); 
           break; 
          } 
         } 
        } catch (CoreException e) { 
         e.printStackTrace(); 
        } 
        finally{} 
    
  • 注意線11,檢查配置名稱,替換爲任何你想要

  • 還要注意DebugUITools.l第15行aunch命令,你可以通過其中的「運行」或「調試」

  • 在此對話框底部的「宏信息」部分中,指定宏名

  • 重要!:如果您希望能夠在標準Eclipse鍵綁定對話框中看到此宏,則需要分配一個ID。我開始用1 ...

  • 單擊確定

  • 展開「常規」部分,然後點擊「鑰匙」

  • 現在,您可以搜索可能的密鑰綁定您的新宏的名稱和分配給你想要的任何鍵。

  • 注:分配密鑰後,我經常必須在遵守密鑰綁定之前關閉並重新啓動Eclipse。

+2

感謝您列出確切的步驟。 – rguilbault 2012-09-28 15:07:32

+1

在靛藍工作得很好,但我無法使它在Juno中工作!當我按下與宏相關的按鍵時,沒有任何反應。任何想法? – electrotype 2012-12-21 17:40:19

+0

優秀的答案,雖然你提到的排隊行並不反映你添加到你的答案的腳本。 – 2014-05-15 07:20:33

5

您可以在其中定義一個插件,其中包含一些launchShortcuts

This thread是一個很好的例子。

但要實際綁定,你需要定義運行配置的命令,並綁定該命令的按鍵(如在此plugin.xml configuration file)啓動配置的

的快捷鍵定義:

<shortcut id="org.maven.ide.eclipse.pomFileAction" 
      category="org.maven.ide.eclipse" 
      class="org.maven.ide.eclipse.actions.ExecutePomAction" 
      icon="icons/m2.gif" 
      label="%m2.popup.pomFile.label" 
      modes="run,debug"> 
    <contextualLaunch> 
     <contextLabel label="%m2.popup.pomFile.label" mode="run"/> 
     <contextLabel label="%m2.popup.pomFile.label" mode="debug"/> 
     <enablement> 
     <with variable="selection"> 
      <count value="1"/> 
      <iterate> 
      <and> 
       <test property="org.maven.ide.eclipse.launchable"/> 
       <adapt type="org.eclipse.core.runtime.IAdaptable"/> 
      </and> 
      </iterate> 
     </with> 
     </enablement> 
    </contextualLaunch> 
</shortcut> 

然後命令:

<extension point="org.eclipse.ui.commands"> 
    <command id="org.maven.ide.eclipse.pomFileAction.run" 
      categoryId="org.eclipse.debug.ui.category.run" 
      name="%m2.shortcut.description.run" 
      description="%m2.shortcut.description.run"/> 
    ... 
</extension> 

然後,鍵的快捷鍵結合:

<extension point="org.eclipse.ui.bindings"> 
    <key sequence="M3+M2+X M" 
     contextId="org.eclipse.ui.globalScope" 
     commandId="org.maven.ide.eclipse.pomFileAction.run" 
     schemeId="org.eclipse.ui.defaultAcceleratorConfiguration"/> 
</extension> 
+1

感謝VonC的快速回復。我是一個普通的Java開發人員,從來沒有定義過一個插件。你能解釋我該怎麼做?謝謝。 – splintor 2009-09-21 18:09:54

+0

好吧,我安裝了eclipse SDK並閱讀了一些plugnis教程,一旦我有時間了,我將編寫這個插件。我只是不明白爲什麼它只是有一個命令來運行配置是如此複雜。我想我真的需要給eclipse團隊增加一個願望(或者自己寫... – splintor 2009-09-22 07:28:27

+0

「命令」與啓動快捷方式相匹配? – 2013-11-11 10:21:24

9

我能夠使用Practically Macro來完成 - 請參閱this thread

+0

有趣(+1)。你能否從你提到的線索中提出一些具體的摘錄詳細說明這個答案? – VonC 2009-10-04 09:46:21

+3

我檢查了線程以獲得此工作,並提供了列出的確切步驟的答案。 – 2011-11-18 14:37:09

5

一種替代方法是使用加速鍵瀏覽運行菜單並選擇正確的運行配置。

在我的電腦,它是:

Alt鍵 + [R^h

Alt鍵 + [R讓你去運行菜單,然後H爲調試歷史記錄,然後編號alt之一ernatives。

爲了使運行配置始終處於調試可見光或運行歷史菜單並保留其位置可以做到以下幾點:

選擇運行菜單 - >運行配置 - > [一些配置] - >普通,然後查看顯示在收藏夾菜單框中。

(這個答案是我previous answers一個副本)

+0

簡單,快速,乾淨。適合我! – Rombus 2015-07-27 00:09:32