إكمال علامة التبويب للنمل تحت Windows؟
-
27-09-2019 - |
سؤال
هل هناك أي طريقة لإكمال علامة تبويب مناسبة لـ 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 "ant -p" command and show all described
targets. The """ 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] هي الطريقة النموذجية لطباعة الأهداف (التي لها مجموعة سمة الوصف) في ملف الإنشاء الخاص بك. بدلاً من كتابة هدف افتراضي للقيام بذلك.