指定特定Eclipse构建配置的键盘快捷键

指定特定Eclipse构建配置的键盘快捷键

问题描述:

在我们的Eclipse Eclipse项目中,我们有几个构建配置,因为我们有一个引擎,在运行时根据它获取的参数为特定项目构建安装jar,所以每个构建配置运行具有不同参数的相同构建以构建特定项目的安装。指定特定Eclipse构建配置的键盘快捷键

目前,我必须转到工具栏中的运行配置下拉按钮以启动引擎,并且需要从列表中选择构建配置以便运行(或调试)具有所需参数。

如果运行按钮而不是从下拉菜单中选择运行按钮,我已经配置了Eclipse运行最后一次运行执行,但是我真的想在工具栏中为每个生成配置(或者我最喜欢的配置),甚至更好,有一个键盘快捷键来运行(或调试)特定的构建配置。那可能吗?

+0

对于插件的开发,抓住一些信息,最简单的方法仍然是Eclipse的帮助页面:http://help.eclipse.org/galileo/ index.jsp?nav =/4 – VonC 2009-09-21 18:19:51

我能够放在一起基于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

您可以在其中定义一个插件,其中包含一些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

我能够使用Practically Macro来完成 - 请参阅this thread

+0

有趣(+1)。你能否从你提到的线索中提出一些具体的摘录详细说明这个答案? – VonC 2009-10-04 09:46:21

+3

我检查了线程以获得此工作,并提供了列出的确切步骤的答案。 – 2011-11-18 14:37:09

一种替代方法是使用加速键浏览运行菜单并选择正确的运行配置。

在我的电脑,它是:

Alt键 + [R^h

Alt键 + [R让你去运行菜单,然后H为调试历史记录,然后编号alt之一ernatives。

为了使运行配置始终处于调试可见光或运行历史菜单并保留其位置可以做到以下几点:

选择运行菜单 - >运行配置 - > [一些配置] - >普通,然后查看显示在收藏夹菜单框中。

(这个答案是我previous answers一个副本)

+0

简单,快速,干净。适合我! – Rombus 2015-07-27 00:09:32