بهعنوان برنامهنویسهایی که بیشتر وقت خود را صرف کدنویسی در OSX و Linux میکنیم، کنجکاو بودیم که یک راهاندازی خط فرمان مدرن در ویندوز چگونه به نظر میرسد.
یک نظرسنجی توسعهدهنده StackOverflow به ما یادآوری کرد که تعداد برنامهنویسهایی که از ویندوز استفاده میکنند بیشتر از هر سیستمعامل دیگری است، بنابراین ما کنجکاو بودیم که آیا ابزارهای موجود در آنجا با آنچه در *nix land به آن عادت کردهایم برابری میکند.
پس از گذراندن مدتی برای ارزیابی چشم انداز ابزار CLI ویندوز، ما بر روی مجموعه ای از ابزارها که فکر می کنیم 95 درصد راه را به ما می رساند، قرار گرفتیم.
در پایان روز، ما در ترکیبی از موارد زیر فرود آمدیم:
- پاورشل
- ConEmu
- PSReadLine
- PSGet
- شکلاتی
- بابون (اختیاری)
برای چند نکته بیشتر در مورد آنچه که این قطعات مختلف ماشین آلات به شما می دهند، در زیر ببینید.
پاورشل (پوسته)
- به طور قابل توجهی به یک "پوسته" واقعی از cmd.exe نزدیک تر است و یک محیط برنامه نویسی قدرتمند برای اتوماسیون کار به ما ارائه می دهد. منصفانه است که آن را با Bash یا zsh مقایسه کنید.
- تکمیل خودکار فهرست و نام فایل ها
- نام برنامه ها را به صورت خودکار تکمیل می کند
- دارای نام های مستعار و دستورات یکپارچه است (به نام cmdlets - به عنوان مثال
Select-String
مانندgrep
است،Invoke-Elevated
مانندsudo
است،Sort-Object
مانندsort
است،Get-Process
تمام فرآیندهای فعال را لیست می کند). اگر از پوسته دیگری به PS میروید،Set-Alias
به شما امکان میدهد نامهای مستعار را که به آنها عادت کردهاید به معادلهای ویندوز نگاشت کنید. به عنوان مثال:Set-Alias server python -m http.server 8000
یک سرور پایتون را زمانی که نام مستعارserver
استفاده می شود راه اندازی می کند. - نام مستعار را می توان در نمایه PowerShell حفظ کرد
- از لوله کشی مانند یونیکس پشتیبانی می کند. برخلاف یونیکس، به جای جریان متن، اشیا را لوله می کند. این مستلزم عادت کردن است، اما وقتی میخواهید ملکی را بیرون بیاورید، از تعمیر مجدد جلوگیری میکند.
- ماژول ها را پشتیبانی می کند. PSGet یک مدیر بسته برای PowerShell است که به شما امکان می دهد آن را به راحتی گسترش دهید.
- به صورت اختیاری Posh-Git را در نظر بگیرید، یک اسکریپت PowerShell برای git برای به دست آوردن تکمیل زبانه متنی.
اگر به چیزهای بی اهمیت علاقه دارید، در اینجا پاسخی به دلیل ایجاد PowerShell توسط MS از معمار اصلی ارائه شده است.
PSReadLine (کمک های ویرایش کنسول)
- به طور قابل توجهی تجربه ویرایش کنسول را بهبود می بخشد
- هر زمان که دستورات را تایپ کنید، نحو برجسته می شود. به وضوح خطاهای نحوی را با کاراکتر قرمز ">" نشان می دهد.
- اتصالات کلید بسیار قابل تنظیم
- تکمیل خودکار به سبک Bash
- جستجوی تاریخچه تعاملی Bash/zsh (Ctrl + R). پیمایش تاریخچه فرمان قدرتمند نیز. با استفاده از کلیدهای جهت دار به جای آخرین خط فرمان، به راحتی دستورات چند خطی قبلی را مشاهده کنید.
- پشتیبانی مناسب برای کپی/پیست/کات (Ctrl+C/X/V همه باید به خوبی کار کنند)
- پشتیبانی خوب برای لغو/دوباره
- ذخیره سابقه به صورت خودکار است
از طرف دیگر، میتوانید از Clink استفاده کنید، که دارای مجموعهای از ویژگیهای مشابه است، اما به طور دقیق برای PowerShell نوشته نشده است.
ConEmu (میزبان کنسول)
- یک شبیه ساز کنسول پیشرفته که در آن می توانید پوسته دلخواه خود را اجرا کنید.
- پشتیبانی از باز کردن چندین ترمینال در تب های مختلف. راه اندازی پایانه ها به عنوان کاربران مختلف را بی اهمیت می کند.
- بسیار قابل تنظیم - همه چیز از میانبرها گرفته تا انتخاب متن و رنگ نوار وضعیت قابل تغییر است.
- از نمای تقسیم صفحه پشتیبانی می کند
- برنامه های ساده رابط کاربری گرافیکی را می توان در تب ها اجرا کرد
- پشتیبانی از Windows 7+ Jump Lists
- از تغییر اندازه صاف پنجره پشتیبانی می کند
- آنتی آلیاسینگ فونت ویندوز
- برگه های شروع را می توان به طور کامل برای شروع در یک فهرست خاص سفارشی کرد
- کپی/پیست هوشمند
برخی از مردم هنوز از استفاده از Console2 لذت می برند و اسکات هانسلمن یک پست وبلاگی در مورد آن نوشته است.
Cmder
نکته قابل توجه Cmder است - یک بسته شبیه سازی کنسول که ConEmu، Clink و msysgit را ترکیب می کند - به شما کمک های Git می دهد. Cmder اساساً از طریق طرح رنگی Monokai به طور پیش فرض تجربه زیباتری از ConEmu به شما می دهد.
Cmder همچنین دارای مزایای کوچک دیگری مانند ادغام با برنامه های رابط کاربری گرافیکی مانند Sublime Text است.
شکلاتی (مدیر بسته بندی)
- اساساً homebrew برای ویندوز، به شما این امکان را می دهد که برنامه های ویندوز مورد علاقه خود را به راحتی وارد کنید. در حال حاضر بسته های ~3K در دسترس هستند که می توانند مستقیماً با استفاده از Chocolatey به روز شوند.
- با Nuget فرق داره NuGet برای کتابخانه های توسعه است. Chocolatey یک مدیر بسته ماشین باینری است و بر اساس زیرساخت NuGet ساخته شده است.
- ساختهای بیصدا را ارائه میدهد
همچنین ممکن است علاقه مند به یادگیری در مورد OneGet ، مدیر بسته مایکروسافت باشید، که باید با Chocolatey تحت ویندوز 10 کار کند.
بابون (Cygwin از پیش پیکربندی شده)
- Cygwin (محافظه لینوکس مانند برای ویندوز) منهای برخی از ویژگی های شناخته شده تاریخی. راه اندازی کلی با استفاده از نصب کننده Babun به طور قابل توجهی ساده تر است. اگر به خصوص با یونیکس تجربه دارید و ترجیح می دهید از یادگیری PowerShell اجتناب کنید، cygwin/Babun ارزش توجه دارد.
- شامل یک مدیر بسته به نام
pact
(کمی شبیه بهbrew
) شبیه بهapt-get
. این یک مشکل بزرگ است زیرا در حال حاضر باید نصب کننده Cygwin را مجدداً در هنگام اضافه کردن بسته ها در مقابل فقط با استفاده از pact اجرا کنید. - Vim از قبل نصب شده و از قبل پیکربندی شده است
- پشتیبانی یکپارچه از oh-my-zsh
- به روز رسانی خودکار