בתור מפתחים שמקדישים את רוב זמננו בתכנות ב-OSX וב-Linux, היינו סקרנים כיצד תיראה שורת הפקודה מודרנית ב-Windows.
סקר למפתחים של StackOverflow החזיר לנו תזכורת לכך שיש יותר מפתחים שמשתמשים ב-Windows מאשר בכל מערכת הפעלה אחרת, ולכן רצינו לגלות אם הכלים שם שווים למה שהתרגלנו אליהם ב-*nix.
לאחר שדיברנו על סביבת הכלים של Windows CLI, הסתמכנו על ערכת כלים שלדעתנו תקנה לנו 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
- תמיכה ב-piping, כמו Unix. שלא כמו Unix, היא יוצרת צינורות של אובייקטים ולא זרמי טקסט. במצב כזה צריך להתרגל, אבל נמנעת משימוש כשברצונך לשחרר נכס.
- תמיכה במודולים. PSGet הוא מנהל חבילות של PowerShell, שמאפשר לכם להרחיב אותו בקלות.
- אפשר גם להשתמש ב-Posh-Git, סקריפט PowerShell ל-Git כדי להשלים את יצירת הכרטיסייה לפי הקשר.
אם אתם מתעניינים בפרטי טריוויה, הנה התשובה לשאלה מדוע MS יצרה את PowerShell מהארכיטקט המוביל.
PSReadLine (עוזרים בעריכה במסוף)
- משפר משמעותית את חוויית העריכה במסוף
- הדגשת תחביר בכל פעם שמתחילים להקליד פקודות. מציין בבירור שגיאות תחביר עם תו '>' אדום.
- קישורי מפתחות עם אפשרות להתאמה אישית גבוהה
- השלמה אוטומטית בסגנון Bash
- חיפוש היסטוריה אינטראקטיבית ב-Bash/zsh (Ctrl + R). מעבר חזק להיסטוריית פקודות. להציג בקלות פקודות מרובות שורות באמצעות מקשי החצים במקום רק את השורה האחרונה של הפקודה.
- תמיכה מתאימה בהעתקה/הדבקה/חיתוך (Ctrl+C/X/V אמור לפעול ללא בעיה)
- תמיכה טובה בביטול/ביצוע מחדש
- שמירת ההיסטוריה מתבצעת באופן אוטומטי
לחלופין, תוכל להשתמש ב-Clink, הכולל קבוצת תכונות דומה אבל לא נכתבה אך ורק עבור PowerShell.
ConEmu (מארח המסוף)
- אמולטור מסוף מתקדם שבו תוכלו להריץ את המעטפת שבחרתם.
- תומך בפתיחת מסופים מרובים בכרטיסיות שונות. הפעלת מסופים בתור משתמשים שונים היא פעולה טריוויאלית.
- ניתן להתאים אישית במידה רבה מאוד - ניתן לשנות כל דבר, מקיצורי דרך ועד לבחירת טקסט ועד לצבעים של שורת הסטטוס.
- תמיכה בתצוגת מסך מפוצל
- ניתן להריץ אפליקציות פשוטות של GUI בכרטיסיות
- תמיכה ב-Windows 7+ Jump List
- תמיכה בשינוי חלק של גודל החלון
- החלקת שינשון בגופנים ב-Windows
- ניתן להתאים אישית באופן מלא כרטיסיות פתיחה כך שיתחילו בספרייה מסוימת
- העתקה/הדבקה חכמה
יש אנשים שעדיין נהנים להשתמש ב-Console2 ול-Sקוט הנסלמן יש פוסט בבלוג שנכתב עליו.
Cmder
כדאי לשים לב ל-Cmder – חבילת אמולציה של מסוף שמשלבת את ConEmu, Clink ו-msysgit – ומספקת לכם מסייעי Git. כברירת מחדל, Cmder מספק חוויה יפה יותר ל-ConEmu באמצעות ערכת הצבעים של Monokai.
Cmder כולל גם כמה יתרונות קטנים אחרים, כמו שילוב עם אפליקציות GUI כמו Sublime Text.
שוקולד (מנהל חבילות)
- בעיקרון ביתי תוכנה ל-Windows, שיאפשר לך לשלוף בנוחות את אפליקציות Windows המועדפות עליך. כרגע יש כ-3,000 חבילות זמינות שניתן לעדכן באמצעות Chocolatey ישירות.
- שונה מ-Nuget. NuGet מיועדת לספריות פיתוח. Chocolatey היא מנהלת חבילות של מכונות בינאריות, ומבוססת על התשתית של NuGet.
- מציע גרסאות build שקטות ויעילות
מומלץ גם לקרוא על OneGet, מנהל החבילות..של Microsoft, שאמור לעבוד עם Chocolatey ב-Windows 10.
Babun (הגדרה מראש של Cygwin)
- Cygwin (סביבת עבודה דמוית Linux עבור Windows) מינוס חלק מהגרסאות הידועות בעבר. ההתקנה הכוללת הרבה יותר ישרה בזכות מנהל ההתקנה של Babun. אם יש לך ניסיון מיוחד בשימוש ב-Unix ומעדיף להימנע מללמידה על PowerShell, מומלץ לשקול את Ccygwin/Babun.
- כולל מנהל חבילות בשם
pact
(קצת דומה ל-brew
) כמוapt-get
. זה נהדר כי כרגע צריך להריץ מחדש את מנהל ההתקנה של Cygwin כשמוסיפים חבילות ולא רק משתמשים ב-pact. - Vim מותקן מראש ומוגדר מראש
- תמיכה משולבת ב-oh-my-zsh
- עדכונים אוטומטיים