Запуск сторонних программ из Eclipse

Современные IDE буквально «нашпигованы» различными возможностями. Тем не менее, предусмотреть все невозможно и возникают ситуации, когда нужно использовать дополнительные программы. Речь, прежде всего, идет о различных консольных утилитах.
Естественно, гораздо удобнее, запускать эти утилиты прямо из меню IDE, а не из консоли. Эта заметка о том, как добавить такую возможность в Eclipse.
Прежде чем приступать к настройке Eclipse, необходимо определиться с параметрами, которые нужно передавать программе.
В качестве примера рассмотрим запуск Phing (о нем речь шла в прошлой статье).
Формат команды такой:
phing -f mybuildfile.xml mytarget
Сначала идет имя программы, затем имя build файла (mybuildfile.xml) и название задачи которую нужно выполнить (mytarget). Тут предполагается:
1) что система знает, где находится phing (путь указан в переменной PATH), если это не так, то необходимо явно указать путь к нему;
2) вы выполняете команду в папке, в которой находится файл mybuildfile.xml (в противном случае нужно указать его размещение).
Кроме того, поддерживается сокращенный вариант записи команды.
Например, если опустить название файла, то Phing попытается использовать файл build.xml. Название задачи тоже можно не указывать. В этом случае её имя будет взято из атрибута default тега project.
Теперь посмотрим, как запустить эти команды из Eclipse. Для начала сделаем вариант запуска без параметров.
Открываем меню Run – External Tools – Open External Tools Dialog…
В левой части окна выбираем пункт Program и нажимаем кнопку «New launch configuration» (обведена зеленым).
В правой части окна указываем:
1) Имя задачи (поле Name).
2) Размещение программы (Location). Я указал абсолютный путь к файлу phing.bat.
3) Рабочую папку (Working Directory). Чтобы её выбрать нажимаем кнопку «Browse Workspace» (обведена синим) и выбираем текущий проект.
4) Нажимаем Apply и закрываем это окно.
Описанные настройки показаны на скриншоте.
Теперь нажимаем на панели инструментов на стрелку рядом с кнопкой, на которой нарисованы зеленая стрелка и чемодан.

Как видите, в первом пункте меню появилась наша новая команда (Phing).
Теперь добавим возможность запуска произвольной задачи из build файла. Для этого снова открываем Open External Tools Dialog и создаем ещё одну команду (Phing custom). Настройки такие же, только в поле Arguments задаем параметр ${string_prompt}. Его можно выбрать, нажав на кнопку Variables (обведена красным).
После запуска этой команды будет появляться окно, в которое нужно ввести имя задачи.
Таким же образом, можно добавить поддержку практически любых консольных утилит в Eclipse.
Удачи!
Понравилась статья? Подписывайтесь на продолжение
!
Опубликовано в Eclipse, Phing, Web разработка Комментарии (10) »
Комментарии (10)
Вы можете отслеживать обсуждение записи с помощью RSS 2.0 ![]()
Вы также можете оставить комментарий, или трекбек с Вашего сайта.









Непонятно только как это все организовать.
А что вам не понятно? Задайте конкретный вопрос, и обязательно подскажем.
Я тоже не понял, в чем вопрос. Есть программа, которую нужно запустить, создаете новую конфигурацию запуска (как показано на скриншотах) и работаете.
Здравствуйте! Спасибо за статью, впринципе до этого дошел сам, но теперь хоть понял что это правильное направление.
- Есть проект на пхп+javascript+css+etc. вобщем куча файлов, и нужно по мере внесения изменений синхронизировать изменееные файли по фтп с сервером (еклипс работает под виндой).
- Очень-очень хочется делать это нажатием одной кнопки.
Я пытался сделать сценарий .cmd который использует встроенный виндовский фтп клиент, но это мне кажется страшным извращением.
может что-нибцдь подскажете?
По-моему, лучший вариант – использовать Phing. Посмотрите эти две статьи: Загрузка файлов по FTP с помощью Phing и Запуск сторонних программ из Eclipse.
Думаю, это решение вам подойдет
Во всяком случае, более удобного варианта я не знаю.
Как дополнение можно почитать: Использование Phing для сборки web приложений
Спасибо за ответ.
Р.s.: оперативность впечатляет.
Пожалуйста, но это скорее случайность
Я редко читаю комментарии чаще раза в день.
использование дополнительных утилитов как никак кстати, вы бьете в корень.я имела представление о Phing, но с вашей помощью понял много нюансов, спасибо, продолжайте в том же духе
Скажите, а почему phing, а не ant? Запуская phing как external tool я не вижу никаких преимуществ перед ant.
phing по-сути тот же ant, портированный под PHP. Преимущества появляются когда вам нужно написать свою задачу и удобнее это сделать на PHP, а не на Java.