завершение вкладки для Ant под Windows? - PullRequest
1 голос
/ 23 ноября 2010

Есть ли способ получить правильное завершение вкладки для Ant под Windows (cmd.exe)?

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

Ответы [ 3 ]

3 голосов
/ 07 декабря 2012

Вы можете легко интегрировать tabcompletion для ant в powershell.exe, который, кстати, гораздо мощнее, чем обычный старый cmd.exe.

Powershell.exe является частью Windows 7/8, но также может быть установлен как отдельный компонент в XP (можно загрузить с веб-сайта Microsoft).

Я использовал скрипт, предоставленный в https://github.com/peet/posh-ant. Скрипт еще не совершенен, но выполняет 95% работы достаточно хорошо.

2 голосов
/ 21 июня 2011

BASH имеет настраиваемый механизм завершения в встроенной команде complete.Сценариями завершенной команды вы можете выполнить завершение командной строки практически для всего, что вам придет в голову.Завершение цели ant выполняется с помощью сценария оболочки Perl complete-ant-cmd.pl, который помещается в системный файл bashrc в Cygwin.

CMD.exe не имеет этого механизма и не может быть расширен за пределы того, что уже естьвстроенный в него.

Как уже упоминалось, вы можете попробовать команду ant -p или ant --projecthelp, которая выведет список всех целей и их описание.Попробуйте этот build.xml файл:

<project name="test" default="target2" basedir=".">
    <description>
         This is a test project. It is to demonstrate the use
         of the &quot;ant -p&quot; command and show all described
         targets. The "&quot;" probably won't work, but you can use
         regular quotes.
    </description>

    <target name="target1"
        description="This is the prime target, but not the default"/>

    <target name="target2"
        description="This is the default target but not because I said it here"/>

    <!-- Target "target3" won't display in "ant -p" because -->
    <!-- it has no description parameters. Life is tough.   -->

    <target name="target3"/>

    <target name="target4"
        description="This is target #4, but there's no target3"/>
 </project>

Вывод будет:

$ ant -p
Buildfile: /Users/david/build.xml

    This is a test project. It is to demonstrate the use
    of the "ant -p" command and show all described
    targets. The """ probably won't work, but you can use
    regular quotes.

Main targets:

    target1  This is the prime target, but not the default
    target2  This is the default target but not because I said it here
    target4  This is target #4, but there's no target3
Default target: target2
$
1 голос
/ 21 июня 2011

Эта функция работает в среде Cygwin bash в Windows.

Я пользуюсь Cygwin все время. Не знал и не включил эту функцию. Но я попробовал это только сейчас после обновления моего профиля, как описано в этой ссылке:

$ ant t<TAB>est<TAB>
test    test_1  test_2  test_3
$ ant test

Я не думаю, что cmd.exe поддерживает такого рода настраиваемое завершение команды .

Можно ли сделать что-то подобное с PowerShell - вопрос, на который я не могу ответить.

Кстати, "ant -p [rojecthelp]" - это типичный способ печати целей (у которых установлен атрибут description) в вашем файле сборки. Вместо того, чтобы написать цель по умолчанию для этого.

...