אוטומציה מלאה של WSL2 עם Zsh ו- Oh My Zsh ב- Windows

העדכון אחרון: 26 פברואר 2026
מחבר: TecnoDigital
  • WSL2 מאפשר לך להשתמש במערכת לינוקס שלמה בתוך Windows ולשלב אותה עם Zsh כדי ליצור טרמינל עוצמתי ומודרני.
  • Windows Terminal,‏ Nerd Fonts ו-Oh My Zsh משפרים את החוויה החזותית והפונקציונלית בעזרת ערכות נושא מותאמות אישית, סמלים, תוספים וכינויים.
  • סקריפטי Bootstrap, dotfiles ו-Dev Containers מאפשרים אוטומציה וגירסה קלים של הסביבה עבור צוות פיתוח שלם.
  • שילוב עם VS Code וכלים כגון NVM, Conda, BAT, LSD או FZF יוצר זרימת עבודה יציבה וניתנת לשחזור.

אוטומציה של WSL2 Zsh ב-Windows

אם תתפתח ב האם אתם משתמשים ב-Node.js או ב-Python ב-Windows ורוצים את הנוחות של לינוקס? בלי לוותר על המשחקים, הכלים הרגילים או תהליך העבודה שלכם, WSL2 ו-Zsh הם כנראה השילוב שחיפשתם. הפצת לינוקס אמיתית, עם טרמינל משופר והכל אוטומטי לחלוטין, פירושה שהגדרת סביבת פיתוח כבר אינה משימה קשה של שעות של העתקת פקודות.

במדריך זה תראו, בתשומת לב רבה ובפירוט רב, כיצד להפוך סביבת WSL2 לאוטומטית לחלוטין בעזרת Zsh ו-Oh My Zshכיצד לשלב זאת עם Windows Terminal ו-Visual Studio Code, וכיצד לארוז זאת לתוך סקריפטים וקבצי דוט (dotfiles) כדי שאתם (או כל אחד בצוות שלכם) תוכלו לשכפל את אותה הגדרה תוך דקות. הרעיון הוא שתבזבזו פחות זמן בהתמודדות עם תצורה ויותר זמן בקידוד כאוות נפשכם.

מה זה WSL2 ולמה כדאי להשתמש בו עם Zsh?

WSL (מערכת משנה של Windows עבור לינוקס) היא השכבה המאפשרת ללינוקס לפעול בתוך Windows ללא מכונות וירטואליות כבדות משקל או אתחול כפול. עם WSL2, מיקרוסופט לוקחת את זה צעד קדימה: היא מפעילה ליבת לינוקס מלאה באמצעות Hyper-V, עם צריכת משאבים נמוכה מאוד וביצועים הדומים מאוד להתקנה מקורית.

בזכות זה אתה יכול התקנת הפצות כגון אובונטו, דביאן, קאלי או אלפין ישירות מחנות מיקרוסופט או באמצעות פקודות PowerShell, ותיהנו ממערכת קבצים של לינוקס, חבילות apt, כלי פיתוח וכמובן, מעטפות מתקדמות כמו ZSH עם אוי זש שלי והתוספים שלו.

במשך שנים רבות, תכנות מ-Windows לא היה אטרקטיביבלי bash, עם מערכת קבצים מסורבלת ופחות כלי פיתוח מקוריים, רוב האנשים בסופו של דבר עברו ללינוקס או macOS. עם WSL2, זה משתנה באופן קיצוני: אתה נשאר על Windows, אבל אתה עובד כאילו אתה בהפצת לינוקס, עם אפשרות לאוטומציה של כמעט כל תהליך התצורה.

היופי בשילוב WSL2 עם Zsh הוא ש Zsh מציע חוויית טרמינל טובה בהרבה מה-bash הקלאסי.השלמה אוטומטית מתקדמת, הצעות, ערכות נושא, שילוב Git, תוספי NVM, כינויים, הדגשת תחביר ועוד הרבה יותר, שברגע שמנסים אותם, קשה להשאיר מאחור.

סביבת WSL2 ו-Zsh מותאמת אישית

התקנה והכנה של WSL2 ב-Windows 10 או 11

לפני שנתעמק בכוונון עדין של אוטומציה, אתה צריך להפעיל את WSL2 ולהתקין הפצת לינוקס.התהליך כיום פשוט הרבה יותר מאשר בגרסאות המוקדמות, וניתן לעשות כמעט הכל באמצעות פקודה אחת.

En גרסה עדכנית של Windows 10 (גרסה 2004 ומעלה) או Windows 11פשוט פתחו את PowerShell כמנהל (חפשו אותו בתפריט התחל, לחצו לחיצה ימנית, "הפעל כמנהל") והפעילו:

wsl --install

פקודה זו אחראית על הפעל את התכונות האופציונליות הנדרשות, הורידו את ליבת לינוקס, להקים WSL2 כגרסת ברירת המחדל ולהתקין כברירת מחדל אובונטו כהפצה. לאחר השלמת התהליך, המערכת תבקש ממך להפעיל מחדש את המחשב כדי להחיל את השינויים.

אם אתם מעדיפים הפצה אחרת, תוכלו לציין אותה בפקודה עצמה, לדוגמה כדי להתקין את דביאן:

wsl --install -d Debian

בכל זמן שאתה יכול בדוק את מצב ההפצות המותקנות והגרסאות שלהן עם:

wsl -l -v

ואם אתם רוצים להחליף הפצה או לנקות הפצה שאתם כבר לא משתמשים בה, יש לכם אפשרויות כמו רשימת ההפצות הזמינות באינטרנט או להסיר התקנה ספציפית:

wsl -l -o
wsl --unregister Ubuntu-20.04

כשתפעילו לראשונה את ההפצה, יופיע אשף מבוסס טקסט שיבקש מכם לעשות זאת צור משתמש יוניקס וסיסמה שלוזה יהיה המשתמש העיקרי שלך בתוך WSL, כאשר ה-HOME הטיפוסי שלו הוא /home/tuusuarioוחשוב שתרשמו את שם המשתמש והסיסמה שלכם, כי תשתמשו בהם למשימות אדמיניסטרטיביות. sudo.

הגדרת מסוף Windows לעבודה עם WSL2

לאחר ש-WSL2 מותקן ופועל, הצעד ההגיוני הבא הוא שיפור חוויית שורת הפקודה ב-Windows באמצעות מסוף Windowsיישום זה תומך בכרטיסיות, פאנלים, ערכות נושא, שקיפויות, פרופילים לפי הפצה, גופנים עם סמלים ועוד.

התקן את מסוף Windows מה- חנות Microsoft וכאשר תפתחו אותו, תראו שהוא בדרך כלל מציג פרופיל PowerShell או CMD כברירת מחדל. מחץ התפריט הנפתח של הכרטיסייה, תוכלו לבחור את הפצת ה-WSL שלכם (Ubuntu, Debian וכו') ולפתוח אותה בכרטיסייה חדשה.

עבור אובונטו או כל הפצה אחרת שבה אתם משתמשים ב-WSL תמיד תיפתח כברירת מחדל.ניתן לערוך את ההגדרות. מסוף Windows שומר את ההגדרות שלו בקובץ JSON, הנגיש מתפריט ההגדרות. אתר את השדה "defaultProfile" ולשים את GUID של פרופיל אובונטו (תראו את זה ברשימה) profiles) כערך.

בנוסף לכך, אתם יכולים התאמה אישית של ערכות צבעים והוספת שקיפות אקרילית כדי לתת לזה מגע מודרני יותר. לדוגמה, בחלק של "defaults" עבור הפרופילים, ניתן להגדיר משהו כזה:

  מעבר מ-Linux לאובונטו: מעבר חלק

"defaults": {
"useAcrylic": true,
"acrylicOpacity": 0.4
}

אם תרצו לקחת את הדברים צעד קדימה עם הצבעים, תוכלו להוסיף תוכנית מותאמת אישית בקטע "schemes" מה-JSON, המגדיר צבעי רקע, צבעי חזית ופלטת הטרמינל הבסיסית. דוגמה אופיינית תהיה משהו כמו ערכת נושא סולרית, שאליה ניתן לשייך פרופיל WSL באמצעות המאפיין "colorScheme" : "wsl" בפרופיל המתאים.

מסוף Windows עם WSL2 ו-Zsh

התקנה ואוטומציה של Zsh + Oh My Zsh ב-WSL2

כעת, לאחר שבסיס ה-WSL ובסיס הטרמינל של Windows מוכנים, הגיע הזמן להוסיף קצת בשר לקליפה. Zsh היא אלטרנטיבה הרבה יותר חזקה ל-bashובשילוב עם אוי זש שלי זה הופך להיות אולר שוויצרי לעבודה עם גיט, נוד, פייתון וכמעט כל דבר בטרמינל.

בהפצת ה-WSL שלך (לדוגמה, אובונטו), התחל עם עדכן את המאגרים והתקן את החבילות המינימליות הדרושות:

sudo apt update
sudo apt install git zsh -y

לאחר מכן התקן את Oh My Zsh באמצעות הסקריפט הרשמי, תוך ניצול curl כדי להוריד את המתקין ולהפעיל אותו ישירות:

sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"

במהלך ההתקנה תישאל אם ברצונך הגדר את Zsh כקליפה ברירת מחדלתגיד לו שכן. אם אי פעם תצטרך לעשות את זה ידנית, אתה יכול להשתמש ב:

chsh -s /bin/zsh

לאחר שתסיים, ייווצר קובץ תצורה בתיקיית HOME שלך בשם ~/.zshrcשבו הכל נשלט: תוספים, ערכת נושא, כינויים, סביבה, נתיבים...

נושא פופולרי מאוד עבור Oh My Zsh הוא אגנוסטר, המתמקד בהצגת מידע גיט בצורה ברורה. כדי להפעיל אותו, ערוך את הקובץ ~/.zshrc עם העורך המועדף עליך (לדוגמה vi ~/.zshrc o nano ~/.zshrc) וודאו ששורת הנושא נראית כך:

ZSH_THEME="agnoster"

מומלץ גם, גם ב-bash וגם ב-Zsh, לאלץ את המעטפת להתחיל בספריית ה-HOME של לינוקס (לא בתיקיית המשתמש של Windows), מכיוון ש-WSL עובד הרבה יותר טוב בתוך מערכת הקבצים המקורית של ההפצה. פשוט הוסיפו את הדברים הבאים לסוף ~/.zshrc שורה פשוטה:

cd ~

גופני Nerd ו-Powerline: אייקונים ואסתטיקה בטרמינל

כדי שהשירים של Zsh ו-Oh My Zsh ייראו כמתוכנן, אתה צריך גופן שתומך בסמלים ובסמלים מיוחדים. (אלה נקראים גופני Nerd או גופני Powerline). אם לא תעשו זאת, תראו ריבועים מוזרים או תווים שבורים בהנחיות מתקדמות יותר.

יש לך שתי אפשרויות פופולריות: להתקין חבילת ספק כוח Powerline קלאסית או לבחור גופן חנון ספציפי כמו MesloLGS NF o גופן Hack Nerdשיטה מהירה היא לשכפל את מאגר הגופנים של Powerline מ-PowerShell ב-Windows, תחילה ניווט לתיקייה ריקה:

git clone https://github.com/powerline/fonts.git
cd fonts
.\install.ps1

סקריפט ההתקנה יוסיף אוטומטית מספר גופנים למערכת. לאחר מכן, מהגדרות הטרמינל של Windows, בחר אחד מהגופנים המותקנים עבור פרופיל WSL, לדוגמה:

"fontFace": "DejaVu Sans Mono for Powerline"

אם אתם מעדיפים משהו אפילו יותר מודרני, תוכלו להוריד גופן Nerd ספציפי (כמו MesloLGS NF Regular.ttf) מאתר האינטרנט של Nerd Fonts, התקן אותו ב-Windows על ידי לחיצה כפולה ובחירה באפשרות "התקן", ולאחר מכן בחר אותו כגופן בפרופיל Windows Terminal.

במקרה של שימוש בערכות נושא מתקדמות כגון רמת הספק 10kמומלץ מאוד להשתמש בגופני Nerd. כדי להתקין ערכת נושא זו, ניתן לבצע את הפעולות הבאות בחשבון המשתמש שלך ב-WSL:

git clone --depth=1 https://github.com/romkatv/powerlevel10k.git ~/powerlevel10k
echo 'source ~/powerlevel10k/powerlevel10k.zsh-theme' >> ~/.zshrc

לאחר טעינה מחדש של Zsh (zsh או לסגור ולפתוח את הטרמינל), יופעל אשף מודרך (p10k configure) כדי להתאים אישית את ההנחיה לטעמכם, תוך יצירת קובץ ~/.p10k.zsh עם כל ההגדרות.

אוטומציה מתקדמת של WSL2 ו-Zsh

תוספים שימושיים עבור Zsh: פרודוקטיביות מיידית

אחד היתרונות הגדולים של Oh My Zsh הוא ש זה מאפשר לך להוסיף תוספים בקלות רבה. כדי לשפר את חוויית העבודה. כמה מהסביבות הנפוצות ביותר בסביבות פיתוח WSL2 הן הבאות.

התוסף סילון הוא מופעל כברירת מחדל ואחראי על הצגת באיזה ענף אתה נמצא, אם יש לך שינויים ממתינים, אם יש שינויים שלא בוצעו?...הכל ישירות בשורת הפקודה. זה מושלם למעקב אחר סטטוס המאגר שלך בזמן הגלישה.

עוד קלאסיקה היא zsh-הצעות אוטומטיות, אשר מציע פקודות באפור בהתבסס על ההיסטוריה שלך, כך שתוכל לקבל את ההצעה בלחיצת מקש ו הימנעו מכתיבה של אותם צירופים ארוכים שוב ושוב. להתקנתו:

git clone https://github.com/zsh-users/zsh-autosuggestions ~/.zsh/zsh-autosuggestions

מומלץ מאוד הדגשת תחביר zshאשר צובע את הפקודות בהתאם לשאלה האם הן מאויתות נכון, האם הקבצים שאליהם אתה מצביע קיימים וכו', ועוזר לך לזהות שגיאות תחביר לפני לחיצה על Enter:

git clone https://github.com/zsh-users/zsh-syntax-highlighting.git ~/.zsh/zsh-syntax-highlighting

הפעל את התוספים האלה, הוסף את הפרטים הבאים לסוף ~/.zshrc משהו כמו:

source ~/.zsh/zsh-autosuggestions/zsh-autosuggestions.zsh
source ~/.zsh/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh

תוספת פרקטית מאוד נוספת היא תוסף הסודו של Oh My Zshמה שמאפשר לך, למשל, ללחוץ על צירוף מקשים כדי הוסף במהירות "sudo" לפני הפקודה האחרונה זה רץ. אתה יכול להוריד את זה ככה:

mkdir -p ~/.zsh/sudo-plugin && cd ~/.zsh/sudo-plugin
wget https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/plugins/sudo/sudo.plugin.zsh

והפעל אותו על ידי הוספתו לדף שלך ~/.zshrc:

source ~/.zsh/sudo-plugin/sudo.plugin.zsh

כלי שורת פקודה משופרים (BAT, LSD, FZF, HTTPie)

מכיוון שאתה מכוון את הטרמינל, כדאי להתקין כמה חלופות מודרניות לתשתיות קלאסיות כמו cat o lsכמו גם כלי חיפוש ולקוחות HTTP ידידותיים למשתמש.

  הסמכת לינוקס: כיצד להפוך למומחה לינוקס

לבת זוהי גרסה "מקצועית" של cat, עם הדגשת תחביר, מספור, אינטגרציה עם גיט...אידיאלי לקריאת קבצי קוד ישירות בטרמינל. ניתן להתקין אותו על ידי הורדת החבילה המתאימה מ-GitHub (תוך התאמתה לארכיטקטורה שלך):

wget https://github.com/sharkdp/bat/releases/download/v0.20.0/bat_0.20.0_amd64.deb
sudo dpkg -i bat_0.20.0_amd64.deb

כדי לשלב אותו בתהליך העבודה שלך, תוכל ליצור כינויים ב ~/.zshrc אז כשכותבים cat למעשה קראתי ל-BAT, אבל שמרתי על קיצורי דרך לכלי השירות המסורתי:

alias cat='/bin/bat'
alias catn='/bin/cat'
alias catnl='/bin/bat --paging=never'

מצד, LSD מחליף ls עם צבעים, סמלים ופלט קריא הרבה יותרהוא מותקן באופן דומה ל-BAT:

wget https://github.com/Peltoche/lsd/releases/download/0.21.0/lsd_0.21.0_amd64.deb
sudo dpkg -i lsd_0.21.0_amd64.deb

לאחר מכן ניתן להגדיר מחדש כינויים נפוצים כדי למיין ספריות, להציג פרטים, להסתיר אותם וכו', לדוגמה:

alias ll='lsd -lh --group-dirs=first'
alias la='lsd -a --group-dirs=first'
alias l='lsd --group-dirs=first'
alias lla='lsd -lha --group-dirs=first'
alias ls='lsd --group-dirs=first'

עבור חיפושים אינטראקטיביים בתוך הטרמינל, FZF זה כמעט חיוני: משיק מנוע חיפוש מצטבר אשר משתלב עם היסטוריה, נתיבים ופקודות אחרות. הוא מותקן על ידי שכפול המאגר שלו והפעלת סקריפט ההתקנה:

git clone --depth 1 https://github.com/junegunn/fzf.git ~/.fzf
~/.fzf/install

המתקין יוסיף ל ~/.zshrc el source מתאים (משהו כמו [ -f ~/.fzf.zsh ] && source ~/.fzf.zsh) כך שהכל מוכן. הוא מופעל באמצעות קיצורי דרך כמו CTRL + T.

לבסוף, אם אתם עובדים עם ממשקי API, HTTPie זה מציע חוויה נוחה הרבה יותר מאשר curl, עם פלט צבעוני ותחביר קריא מאודניתן להתקין אותו על ידי הוספת המאגר שלו ושימוש בו apt:

curl -SsL https://packages.httpie.io/deb/KEY.gpg | apt-key add -
curl -SsL -o /etc/apt/sources.list.d/httpie.list https://packages.httpie.io/deb/httpie.list
apt update
apt install httpie
apt upgrade httpie

Node.js, NVM, Python וכלים נוספים ב-WSL2

אחת הסיבות העיקריות להקמת כל המבצע הזה היא היכולת כדי שתהיה סביבה חזקה עבור Node.js, Python וטכנולוגיות אחרותעם ניהול גרסאות פשוט וניתן לשחזור. כאן זה נכנס לתמונה NVM עבור Node וכלים כמו Conda עבור Python.

במקרה של Node, האידיאל הוא להשתמש ב- NVM (מנהל גרסאות צומת)מה שמאפשר לך להתקין מספר גרסאות ולעבור ביניהן באמצעות מספר פקודות. מה-WSL2 שלך, תוכל להתקין את NVM באמצעות:

curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.1/install.sh | zsh

לאחר מכן, התקינו את Node (הגרסה היציבה הנוכחית או גרסה ספציפית):

nvm install node
nvm install 18.17.0

אם ברצונך לבדוק שהכל תקין, יש לך את פקודות אימות הגרסה הטיפוסיות בהישג יד, שאמורות להחזיר ערכים תקינים:

node --version
npm --version

עם Zsh, NVM לפעמים לא נטען אוטומטית כשפותחים את הטרמינל. ניתן לתקן זאת בשתי דרכים: הוספה ידנית של המשתנים הדרושים ל ~/.zshrc או באמצעות התוסף zsh-nvm מ-Oh My Zsh. הגרסה הידנית עשויה להיראות בערך כך:

export NVM_DIR=~/.nvm
[ -s "$NVM_DIR/nvm.sh" ] && . "$NVM_DIR/nvm.sh"

אם תבחרו בתוסף, פתחו אותו ~/.zshrc, אתר את שורת התוספים (לדוגמה plugins=(git)) ומוסיף zsh-nvm הוסף אותו לרשימה. לאחר שמירה והפעלה מחדש של הטרמינל, NVM אמור להיטען ללא בעיה.

עבור פייתון, אפשרות חזקה מאוד היא קונדה (או מיניקונדה), המאפשרת צור סביבות מבודדות, נהל תלויות וטפל בגרסאות Python מבלי להתעסק עם המערכת הגלובלית. ישנם סקריפטים אוטומטיים אשר, בתוך מאגר תצורות WSL, מתקינים את Conda, מנהלי התקנים של GPU ורכיבים אחרים באופן כמעט שקוף.

אוטומציה של תצורה באמצעות סקריפטים, קבצי דוט ומכולות פיתוח

עד כה ראינו כיצד להגדיר הכל "באופן ידני", אך המפתח לסביבת עבודה טובה, במיוחד בצוותים, טמון ב... אוטומציה של קליטה וגירסת תצורהWSL2 מושלם לכך משום שהוא מאפשר לך לארוז הכל, החל מהתקנה ועד להתאמה אישית של המעטפת.

גישה נפוצה מאוד היא לקיים סקריפט אתחול (למשל install.sh o setup.sh) במאגר צוותי שמבצע, ברצף, משימות כגון:

  • בדוק את הדרישות המוקדמות (גרסת Windows, WSL2 פעיל, נוכחות של Docker Desktop במידת הצורך וכו').
  • התקנה או עדכון של הפצת WSLחבילות בסיסיות, Zsh, Oh My Zsh, NVM, Conda וכו'.
  • שכפול והחלת קבצי נקודה (.zshrc, .bashrc, .gitconfig, קבצי ערכת נושא, כינויים משותפים...).
  • התקנת כלי מחסנית פרויקטים (Node, Python, מסדי נתונים, פקודות שורת פקודה ספציפיות).
  • הגדרת סקריפטי אימות כמו make check-env כדי לוודא שהכל נכון.

הסקריפטים האלה חייבים להיות אידמפוטנטכלומר, הם צריכים להיות ניתנים להרצה מספר פעמים מבלי לשבור דבר, ומומלץ לתעד את כל משתני הסביבה בקובץ כמו .env.example כך שכל אדם יוכל להתאים אישית את סביבתו מבלי לגעת בסקריפט הראשי.

שכבה נוספת ועוצמתית מאוד היא מכולות פיתוח קוד VS (.devcontainerהם מורכבים מתיאורים הצהרתיים של הסביבה (Dockerfile, תצורת VS Code, הרחבות, פורטים וכו') המאפשרים לכל פרויקט יש קונטיינר פיתוח משלובשילוב עם WSL2, הודות להרחבה מרחוק – WSLניתן לפתוח מאגר (repository) במכולה של לינוקס בתוך WSL ולוודא שלכולם יש את אותן גרסאות וכלים.

במקביל, לתחזק מאגר של קבצי דוט גרסאי (לדוגמה, ב-GitHub) מסייע בשיתוף וסנכרון של תצורות מעטפת, כינויים, ערכות נושא ותוכניות בין מחשבים מרובים או אפילו בין מכונות שונות השייכות לאותו מפתח. כלים כגון צ'זמוי או סקריפטים סמליים פשוטים משמשים לעתים קרובות לשם כך.

  עריכת Windows החדשה: עורך TUI קל משקל, פתוח ומוכן לשימוש בטרמינל

שילוב WSL2 ו-Zsh עם קוד Visual Studio

החוויה משתפרת משמעותית אם משלבים את כל הסביבה הזו עם עורך קל משקל אך בעל יכולות גבוהות כמו... קוד Visual Studio. הרעיון הוא זה קוד VS פועל ישירות מול מערכת הקבצים WSLהימנעות מבעיות ביצועים והרשאות.

ראשית, התקינו את VS Code על Windows מהאתר הרשמי שלה. לאחר מכן, מתוך העורך עצמו, פתחו את לשונית הרחבות (קיצור דרך) Ctrl+Shift+X) ולחפש ולהתקין את ההרחבה "מרחוק – WSL"הרחבה זו מאפשרת לך לפתוח תיקיות ופרויקטים הממוקמים בהפצת לינוקס שלך, כאשר כל הלוגיקה פועלת בתוך WSL.

לאחר ההתקנה, תוכלו להפעיל את הפקודה הבאה מטרמינל אובונטו שלכם:

code .

פעולה זו תפתח את VS Code, שיתחבר לסביבת WSL ועם גישה מלאה לכלים שהתקנת שם. כדי להשלים את האינטגרציה החזותית, תוכל הגדרת הטרמינל המשולב של VS Code להשתמש באותו גופן Nerd שבחרת בטרמינל של Windows, כך שגם הסמלים ייראו טוב:

{
"terminal.integrated.fontFamily": "DejaVu Sans Mono for Powerline"
}

בתיק settings.json ב-VS Code ניתן גם להגדיר את מסוף ברירת המחדל של Windows להיות Ubuntu שלכם ב-WSL, על ידי הגדרת פרופיל כזה:

"terminal.integrated.profiles.windows": {
"Ubuntu (WSL)": {
"path": "C:\\Windows\\System32\\wsl.exe",
"args": ["-d", "Ubuntu"]
}
},
"terminal.integrated.defaultProfile.windows": "Ubuntu (WSL)"

ובזמן שאתם כבר שם, אתם יכולים לנצל את ההזדמנות להפעיל עיצוב אוטומטי בעת שמירה, צביעה של זוגות סוגריים ושיפורים קטנים אחרים שהופכים את חיי היומיום למהנים יותר בעורך.

סקריפטים אוטומטיים ומאגרי תצורה מלאים של WSL2

למרות שניתן להגדיר תשתית סקריפטים משלכם, קיימת גם האפשרות של להסתמך על מאגרים מוכנים מראש אשר הופכים חלק ניכר מהעבודה לאוטומטיתחלקם מתמקדים במדריכי לינוקס, סקריפטים להתקנת כלי שירות מסוף (Oh My Zsh, תוספים, ערכות נושא), Conda, דרייברים של GPU ורכיבים חיוניים אחרים של סביבת מדעי נתונים או פיתוח אתרים.

הרעיון מאחורי מאגרים אלה ברור: פקודה אחת מבצעת סקריפט Bash זה מעדכן את ההפצה, מתקין את curl ו-Node.js בעת הצורך, מטפל ב-NVM, מוריד גופנים כמו Nerd Fonts, מגדיר ל-Zsh ערכת נושא ומערכת סבירה של תוספים וכינויים, ומשאיר את הטרמינל שלך מוכן לשימוש.

במהלך ביצוע הסקריפטים הללו תראו שבמספר נקודות תתבקשו סיסמת מנהל המערכת שלך עקב השימוש ב sudoזה נורמלי לחלוטין, מכיוון שחבילות מותקנות, נתיבי מערכת משתנים וקבצים מועתקים למיקומים מוגנים.

במקרים מסוימים, הם יבקשו ממך בחר את הגרסה הספציפית של כלים כמו BAT או LSD (למשל bat_0.25.0_amd64.deb o lsd_1.1.5_amd64.deb), אשר תלוי הן בגרסה הזמינה ב-GitHub והן בארכיטקטורה של המכונה שלך (הדבר הרגיל בימינו הוא amd64ודא שבחרת את האפשרות הנכונה כדי למנוע שגיאות של חבילה שאינה תואמת.

התוצאה של סקריפט מסוג זה היא סביבה שבה ל-Zsh כבר יש קובץ .zshrc שלם מאודעם ערכת נושא, תוספים, כינויים עבור cat/ls, שילוב Gitmoji עבור קומיטים עם אייקונים כשאתם חסרים השראה, הדגשת תחביר, השלמה אוטומטית של Oh My Zsh, ועוד פינוקים. וואו, זה אחד מאותם טרמינלים שתרצו לשמור על המסך כל היום.

כדי להשלים את ההתאמה האישית, תוכלו אפילו התאם את העיצובים כדי להציג רק את שם המשתמש (ולהסתיר את שם המארח) שינוי ישיר של קבצי ערכת נושא ספציפיים, כגון agnoster.zsh-theme במסלול ~/.oh-my-zsh/themes, ומשנה את השורה המתאימה למשהו כזה:

prompt_segment green black "%(!.%{%F{yellow}%}.)%n"

עם כל זה, מה שאתה משיג הוא ש כל מפתח בצוות יכול לשכפל את מאגר התצורה, להריץ פקודה ולקבל את אותה סביבה תוך דקות ספורות. מאשר השאר: אותו מעטפת, אותו ערכת נושא, אותן גרסאות של כלי בסיס ואותה התנהגות טרמינל, בלי תקלות של "זה עובד על המחשב שלי" או "אני לא זוכר מה התקנתי באותו יום".

בסופו של דבר, הגדרה ואוטומציה של סביבת WSL2 ו-Zsh כרוכות בשילוב של מספר חלקים: בסיס לינוקס בתוך Windows, טרמינל מוגדר היטב כמו Windows Terminal, מעטפת משופרת עם Oh My Zsh והתוספים שלו, כלים מודרניים כמו BAT, LSD או FZF, בקרת גרסאות עם NVM או Conda, אינטגרציה עם VS Code דרך Remote-WSL, וסקריפטים וקבצי dotfile המאפשרים לך לשכפל את כל זה בצורה אמינה. אם תקדיש זמן לכוונון עדין, תהיה לך מערכת אקולוגית שבה מעבר מאפס לתכנות נוח לוקח דקות במקום אחר צהריים שלמים של התקנה מחדש ידנית של דברים.