سؤال

هل هناك أي طريقة لإكمال علامة تبويب مناسبة لـ ANT تحت Windows (cmd.exe)؟

يمكنني كتابة الهدف الافتراضي لسرد جميع الأهداف الأخرى ، لكن هذا لا يشبه إكمال علامة التبويب المناسبة التي تحصل عليها على Linux على سبيل المثال.

هل كانت مفيدة؟

المحلول

باش لديه آلية إتمام قابلة للتخصيص في البناء complete يأمر. من خلال البرمجة النصية للأمر الكامل ، يمكنك القيام بإكمال سطر الأوامر على أي شيء تقريبًا يمكنك التفكير فيه. يتم الانتهاء من الهدف ANT عبر البرنامج النصي Perl Shell يسمى 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 على Windows.

أنا استخدم cygwin في كل وقت. لم أكن أعرف ولم يمكّن هذه الميزة. لكنني جربتها الآن بعد تحديث ملف التعريف الخاص بي كما هو موضح في هذا الرابط:

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

لا أعتقد أن cmd.exe يدعم هذا النوع من إكمال أمر قابل للتخصيص.

ما إذا كان يمكنك فعل شيء مثله مع PowerShell هو سؤال لا يمكنني الإجابة عليه.

راجع للشغل ، "Ant -P [rouffehelp] هي الطريقة النموذجية لطباعة الأهداف (التي لها مجموعة سمة الوصف) في ملف الإنشاء الخاص بك. بدلاً من كتابة هدف افتراضي للقيام بذلك.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top