Назначение сочетания клавиш для конкретной конфигурации сборки Eclipse - PullRequest
22 голосов
/ 17 сентября 2009

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

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

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

Ответы [ 4 ]

25 голосов
/ 18 ноября 2011

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

Чтобы назначить сочетания клавиш для определенных конфигураций запуска 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.launch в строке 15, вы можете передать «run» или «debug»

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

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

  • Нажмите OK

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

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

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

9 голосов
/ 04 октября 2009

Я смог сделать это, используя Практически Макрос - см. эту тему .

5 голосов
/ 21 марта 2015

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

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

Alt + R , H , Число

Alt + R возвращает вас в меню «Выполнить», затем H для истории отладки, затем одна из пронумерованных альтернатив.

Чтобы конфигурация запуска всегда была видна в меню «Отладка» или «История выполнения» и сохранить ее положение, можно сделать следующее:

Выберите меню Выполнить -> Выполнить настройки -> [некоторые настройки] -> Общие , затем установите флажок Отображение в меню избранного коробка.

(Этот ответ является копией одного из моих предыдущих ответов .)

5 голосов
/ 17 сентября 2009

Вы можете определить плагин с некоторыми launchShortcuts в нем.

Эта тема является хорошей иллюстрацией.

Но для фактического связывания вам необходимо определить команду, выполняющую эту конфигурацию, и связать эту команду с ключом (как в этом plugin.xml файле конфигурации )

определение ярлыка конфигурации запуска:

  <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>
...