Вопрос

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

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

Это было полезно?

Решение

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
$

Другие советы

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

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

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

Эта особенность Работает в среде Cygwin Bash на окнах.

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

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

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

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

Кстати, «Ant -P [ROJECTHEHELP] - это типичный способ печатать цели (которые имеют набор атрибутов описания) в файле сборки. Вместо того, чтобы написать цель по умолчанию для этого.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top