2016-02-14 4 views
0

Я пытаюсь создать свои пользовательские команды в Eclipse. Это Eclipse, плагин, который я использую: https://marketplace.eclipse.org/content/startexplorerКак открыть cygwin и выполнить bash в Eclipse?

Похоже, это (ссылка на изображение):

Custom commands in Eclipse

мне нужно затмить переменные в пользовательских команд:

${resource_loc} , ${selected_resource_loc} , ${workspace_loc} , etc... 

It должно быть примерно таким:

D:\cygwin64\bin\mintty.exe /bin/bash -l -c "cd ${workspace_loc}" 

Но mintty немедленно закроет это окно. Мне нужно выполнить команду на основе переменной eclipse и перейти в интерактивный режим bash, не закрывая окно.

ответ

2

Чтобы создать пользовательскую команду StartExplorer, которая открывает терминал Cygwin и запускает интерактивную оболочку Bash в файловой системе расположения выбранного ресурса, выполните следующие действия:

  1. Обязательно установите chere Cygwin пакет;
  2. StartExplorer Плагин Eclipse;
  3. В настройках Eclipse, для плагина StartExplorer, создать новую команду пользовательских :
    • Команда: D:\cygwin64\bin\mintty.exe -e /bin/xhere /bin/bash "${selected_resource_loc}"
    • Enabled для ресурсов: yes
    • имя для ресурсов меню: Cygwin Bash Here
    • Тип ресурса: Folders

В качестве альтернативы шагам 2 и 3, если вам не нужна запись в контекстном меню, нет необходимо установить плагин StartExplorer. Eclipse Extenal Tools Configuration стандартная функция будет делать трюк.

В Run > Extenal Tools Configuration создайте новую программу:

  • Имя: Cygwin Bash Here
  • Адрес: D:\cygwin64\bin\mintty.exe
  • Аргументы: -e /bin/xhere /bin/bash "${selected_resource_loc}"

В принципе, xhere скрипт (часть chere пакета) выполняет следующие шаги:

  1. указывает на оболочки для входа не на cd $HOME (export CHERE_INVOKING=true, что подтверждено в /etc/profile);
  2. изменение в каталог, переданное как 2-й аргумент (cd "$2");
  3. Выполнить оболочку, переданную как 1-й аргумент в качестве оболочки входа (exec -l $1).

Примечание: если заменить /bin/bash с /etc/passwd авторизироваться текущего пользователя оболочки считанную из /etc/passwd используется вместо bash.

+0

Спасибо! Я больше не использую Windows, но этот ответ выглядит хорошо и должен быть полезен – collector1871

+0

Удивительная благодарность за тонну! Если бы я мог заставить окно Cygwin быть одной из вкладок внутри Eclipse, например, как выглядит консоль ... – takanuva15