2009-09-17 5 views
22

В нашем проекте Java в Eclipse у нас есть несколько конфигураций компоновки, так как у нас есть движок, который при запуске строит установочный кувшин для конкретных проектов в соответствии с его параметрами, поэтому каждая конфигурация сборки запускает ту же сборку с различными параметрами для сборки установки для конкретного проекта.Назначение сочетания клавиш для конкретной конфигурации сборки Eclipse

В настоящее время я должен открыть раскрывающуюся кнопку «Выполнить конфигурацию» на панели инструментов, чтобы запустить двигатель, и мне нужно выбрать конфигурацию сборки из списка, чтобы запустить (или отладить) двигатель с требуемым параметры.

Я настроил Eclipse для запуска последнего запуска, если кнопка запускается вместо того, чтобы выбирать из раскрывающегося меню, но мне бы очень хотелось иметь отдельные кнопки на панели инструментов для каждой конфигурации сборки (или для моей любимой конфигурации) и даже лучше иметь комбинацию клавиш для запуска (или отладки) конкретной конфигурации сборки. Это возможно?

+0

Для разработки плагин, самый простой способ, чтобы захватить некоторую информацию по-прежнему страницы справочных затмений: http://help.eclipse.org/galileo/ index.jsp? nav =/4 – VonC

ответ

25

Я был в состоянии собрать конкретные шаги, основанные на резьбе splintor и получить эту работу (я также добавил петлю в верхней части, который находит любой существующий запуск с таким же именем и прекращает его, эффективно делая это «перезагрузка "макро):

Чтобы назначить сочетания клавиш для конкретных конфигураций запуска Eclipse, выполните следующие действия:

  • Установка https://sourceforge.net/projects/practicalmacro/, который вы можете внутри Eclipse, с помощью Помощь-> Software Updates: http://puremvcnotificationviewer.googlecode.com/svn/trunk/PracticallyMacroGoogleUpdateSite

  • Перезапустите Eclipse и откройте Eclipse Preferences. У вас будет новый раздел «Практически варианты макроса», разверните этот раздел.

  • Нажмите на "Редактор макроопределений"

  • Нажмите на «новый ..."

  • В списке доступных команд, прокрутите вниз до„Редактор макросов сценария (Beanshell)“, выберите его и нажмите кнопку„Add->“

  • Когда редактор сценариев всплывает, добавьте следующий код к существующему коду:

    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 aunch команда в строке 15, вы можете передавать или «запустить» или «отладки»

  • В разделе «Макро информация» в нижней части этого диалогового окна укажите имя макроса

  • ВАЖНО !: Если вы хотите видеть этот макрос в стандартном диалоге привязки ключа Eclipse, вам нужно назначить идентификатор. Я начал с 1 ...

  • Нажмите OK

  • Разверните раздел «Общие» и нажмите на кнопку «ключи»

  • Теперь вы можете искать возможные комбинации клавиш для названия вашего нового макроса и назначьте его любому желаемому ключу.

  • ПРИМЕЧАНИЕ. После присвоения ключа мне часто приходилось закрывать и перезапускать Eclipse до того, как соблюдалось связывание ключей.

+2

Благодарим вас за то, что вы указали точные шаги. – rguilbault

+1

Работал отлично в Indigo, но я не могу заставить его работать в Juno! Ничего не происходит, когда я нажимаю клавиши, связанные с макросом. Есть идеи? – electrotype

+0

Отличный ответ, хотя строки строк, которые вы упомянули, не отражают сценарий, который вы добавили в свой ответ. –

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

+0

ОК, я установил SDK eclipse и прочитал учебник по плагинам, и как только у меня будет время для этого, я напишу этот плагин. Я просто не понимаю, почему это так сложно просто иметь команду для запуска конфигурации. Я думаю, мне действительно нужно добавить желание команде eclipse (или написать ее самостоятельно ...) – splintor

+0

Как 'command' соответствует Launch shortcut? –

9

Я был в состоянии сделать это, используя Practically Macro - см. this thread.

+0

Интересные (+1). Не могли бы вы подробно объяснить этот ответ некоторыми конкретными выдержками из потока, который вы упомянули? – VonC

+3

Я проверил поток, чтобы получить эту работу, и предоставил ответ с точными перечисленными шагами. –

5

Один из вариантов заключается в использовании клавиш акселератора для навигации по меню «Выполнить» и выбора правильной конфигурации запуска.

На моем компьютере это:

Alt + R, H, Номер

Alt + R получает вас, чтобы добраться до Run меню, затем H для истории отладки, затем один из пронумерованных alt ernatives.

Для того, чтобы конфигурация запуска всегда видна в Debug или Run меню истории и сохранить свои позиции можно сделать следующее:

Выберите Run меню ->Run Configurations -> [некоторые конфигурации ] ->Общие, затем проверьте Показать в избранном меню box.

(. Этот ответ является копией одного из моих previous answers)

+0

Легко, быстро и чисто. Работает на меня! – Rombus

Смежные вопросы