بصفتنا من المطورين الذين يقضون معظم وقتنا في الترميز على نظام التشغيل OSX وLinux، كنا نشعر بالفضول بشأن الشكل الذي قد يبدو عليه إعداد سطر الأوامر الحديث في نظام التشغيل Windows.
ذكّرنا استطلاع رأي مطوري البرامج في StackOverflow أنّ عدد مطوّري البرامج الذين يستخدمون Windows أكثر من أي نظام تشغيل آخر، كنّا نشعر بالفضول لمعرفة ما إذا كانت الأدوات المتوفرة على قدم المساواة مع ما اعتدنا عليه في عام *nix.
بعد قضاء بعض الوقت في تقييم مشهد أدوات واجهة سطر الأوامر بنظام Windows، استقرنا على مجموعة من الأدوات التي نعتقد أنها تصلنا إلى 95% من الطريق.
في نهاية اليوم، توصلنا إلى مجموعة من:
- PowerShell
- ConEmu
- PSReadLine
- فريق PSGet
- بالشوكولاتة
- البابون (اختياري)
انظر أدناه للحصول على بعض الملاحظات الإضافية حول ما تقدمه لك هذه الآلات المختلفة.
PowerShell (صدفة)
- إنه أقرب بكثير إلى "الغلاف" الحقيقي من cmd.exe، مما يوفر لنا بيئة برمجة نصية قوية لأتمتة المهام. من الإنصاف مقارنتها باستخدام Bash أو zsh.
- ميزة الإكمال التلقائي للدليل وأسماء الملفات
- ميزة الإكمال التلقائي لأسماء التطبيقات
- يتضمّن أسماء مستعارة وأوامر مدمجة (يُطلق عليها cmdlets - على سبيل المثال
Select-String
يشبهgrep
وInvoke-Elevated
مثلsudo
وSort-Object
مثلsort
وGet-Process
يسرد جميع العمليات النشطة). في حال الانتقال من واجهة أوامر أخرى إلى PS، يتيح لكSet-Alias
ربط الأسماء المستعارة التي اعتدت على استخدامها مع الأسماء المكافئة لنظام التشغيل Windows. على سبيل المثال: يبدأSet-Alias server python -m http.server 8000
خادم Python عند استخدام الاسم المستعارserver
. - يمكن الاحتفاظ بأسماء مستعارة في الملف الشخصي لـ PowerShell
- تدعم الممرات، مثل Unix. على عكس نظام Unix، يقوم بتوجيه الكائنات بدلاً من عمليات البث النصية. يتطلب هذا الاعتياد على ذلك ولكن مع تجنب العودة عندما تريد الحصول على عقار.
- يدعم الوحدات. PSGet هو مدير حزم لـ PowerShell يتيح لك توسيعه بسهولة.
- يمكنك اختياريًا استخدام Posh-Git، وهو نص برمجي من PowerShell لـ git لإكمال عملية الإكمال السياقي لعلامة التبويب.
إذا كنت مهتمًا بالمعلومات العامة، إليك إجابة عن سبب إنشاء MS لـ PowerShell من المهندس المعماري الرئيسي.
PSReadLine (برامج المساعدة في تعديل وحدة التحكُّم)
- تحسين تجربة التعديل في وحدة التحكّم بشكل كبير
- يتم تمييز البنية متى بدأت كتابة أوامر. تشير بوضوح إلى أخطاء في البنية باستخدام حرف ">" باللون الأحمر.
- روابط مفاتيح قابلة للتخصيص بشكل كبير
- الإكمال التلقائي بنمط باش
- البحث عن التاريخ التفاعلي باش/zsh (Ctrl + R). إمكانية اجتياز سجلّ الأوامر الفعّالة أيضًا. يمكنك الاطّلاع بسهولة على الأوامر السابقة المتعددة الأسطر باستخدام مفاتيح الأسهم بدلاً من السطر الأخير من الأمر فقط.
- الدعم المناسب للنسخ/اللصق/القص (من المفترض أن يعمل Ctrl+C/X/V على نحو جيد)
- دعم جيد للتراجع/الإعادة
- يتم حفظ السجلّ تلقائيًا
وبدلاً من ذلك، يمكنك استخدام Clink، الذي يضم مجموعة مشابهة من الميزات ولكن لم تتم كتابته بشكل صارم لـ PowerShell.
ConEmu (مضيف وحدة التحكم)
- محاكي متقدّم لوحدات التحكّم يمكنك من خلاله تشغيل وحدة التحكّم التي تختارها.
- تتيح فتح أطراف متعددة في علامات تبويب مختلفة. يسهّل ذلك تشغيل الوحدات الطرفية كمستخدمين مختلفين.
- قابلة للتخصيص للغاية - يمكن تغيير كل شيء بدءًا من الاختصارات وحتى تحديد النص وألوان شريط الحالة.
- إتاحة عرض تقسيم الشاشة
- يمكن تشغيل تطبيقات واجهة المستخدم الرسومية البسيطة في علامات تبويب
- التوافق مع قوائم الانتقال في Windows 7 والإصدارات الأحدث
- إمكانية تغيير حجم النوافذ بسلاسة
- تعديل الخطوط في Windows
- يمكن تخصيص علامات تبويب البدء بشكل كامل للبدء في دليل معين.
- النسخ/اللصق الذكي
لا يزال بعض المستخدمين يستمتعون باستخدام Console2، وقد كتب "سكوت هانسلمان" مشاركة مدونة عنها.
Cmder
وتجدر الإشارة إلى أهمية Cmder - وهي حزمة محاكاة وحدة التحكم التي تجمع بين ConEmu وClink وmsysgit - مما يقدم لك مساعدي Git. تمنحك Cmder بشكل أساسي تجربة أجمل في ConEmu بشكل تلقائي عبر نظام ألوان Monokai.
يشمل Cmder أيضًا بعض المزايا الصغيرة الأخرى، مثل الدمج مع تطبيقات واجهة المستخدم التصويرية (GUI) مثل Sublime Text.
Chocolatey (أداة إدارة الحِزم)
- يتم إعدادها في الأساس لنظام التشغيل Windows، مما يسمح لك بسحب تطبيقات Windows المفضلة لديك بسهولة. يتوفر حاليًا حوالي 3 آلاف حزم يمكن تحديثها باستخدام Chocolatey مباشرةً.
- ويختلف عن Nuget. NuGet مخصص لمكتبات التطوير. Chocolatey هي مديرة لحزم الأجهزة الثنائية ومصمّمة على بنية NuGet.
- يتم توفير إصدارات صامتة فعّالة
يمكنك أيضًا التعرّف على تطبيق OneGet، وهو مدير حزم Microsoft، الذي من المفترض أن يعمل مع Chocolatey ضمن نظام التشغيل Windows 10.
Babun (ضبط Cygwin مسبقًا)
- Cygwin (بيئة تشبه Linux لنظام التشغيل Windows) مطروحًا منها بعض المزايا المعروفة تاريخيًا. أصبحت عملية الإعداد العامة أكثر وضوحًا، وذلك باستخدام أداة تثبيت Babun. إذا كنت خبيرًا بشكل خاص في نظام Unix وتفضل تجنب تعلم PowerShell، فإن cygwin/Babun يجدر أخذها في الاعتبار.
- تتضمن أداة إدارة حزم اسمها
pact
(تشبه إلى حد ماbrew
) تشبهapt-get
. تعد هذه مشكلة كبيرة حيث يتعين عليك حاليًا إعادة تشغيل مثبت Cygwin عند إضافة الحزم مقابل استخدام pact فقط. - Vim مثبَّت مسبقًا ومهيأ سابقًا
- دعم متكامل لـ Hey-my-zsh
- التحديثات التلقائية