Kumpletong automation ng WSL2 gamit ang Zsh at Oh My Zsh sa Windows

Huling pag-update: 26 ng Pebrero 2026
May-akda: TecnoDigital
  • Pinapayagan ka ng WSL2 na gumamit ng kumpletong sistema ng Linux sa loob ng Windows at pagsamahin ito sa Zsh upang lumikha ng isang malakas at modernong terminal.
  • Pinahuhusay ng Windows Terminal, Nerd Fonts, at Oh My Zsh ang visual at functional na karanasan gamit ang mga custom na tema, icon, plugin, at alias.
  • Pinapadali ng mga Bootstrap script, dotfile, at Dev Container ang pag-automate at pag-bersyon ng environment para sa isang buong development team.
  • Ang integrasyon sa VS Code at mga kagamitang tulad ng NVM, Conda, BAT, LSD, o FZF ay lumilikha ng isang matibay at maaaring kopyahin na daloy ng trabaho.

Awtomasyon ng WSL2 Zsh sa Windows

Kung ikaw ay umunlad sa Gumagamit ka ba ng Node.js o Python sa Windows at gusto mo ang kaginhawahan ng Linux? Nang hindi tinatalikuran ang iyong mga laro, ang iyong mga karaniwang kagamitan, o ang iyong daloy ng trabaho, ang WSL2 at Zsh ay malamang na ang kombinasyon na iyong hinahanap. Ang pagkakaroon ng isang tunay na distro ng Linux, na may pinahusay na terminal at lahat ng bagay ay ganap na awtomatiko, ay nangangahulugan na ang pag-set up ng isang development environment ay hindi na isang pagsubok ng mga oras na ginugugol sa pagkopya ng mga utos.

Sa gabay na ito, makikita mo, nang may lubos na pag-iingat at detalye, Paano ganap na i-automate ang isang WSL2 environment gamit ang Zsh at Oh My ZshPaano ito i-integrate sa Windows Terminal at Visual Studio Code, at kung paano ito i-package sa mga script at dotfile para ikaw (o sinuman sa iyong team) ay makapag-replicate ng parehong setup sa loob lamang ng ilang minuto. Ang ideya ay para mas kaunting oras ang gugugulin mo sa pag-configure at mas maraming oras sa pag-coding ayon sa gusto mo.

Ano ang WSL2 at bakit ito sulit gamitin kasama ng Zsh?

Ang WSL (Windows Subsystem for Linux) ay ang layer na nagpapahintulot sa Linux na tumakbo sa loob ng Windows nang walang mabibigat na virtual machine o dual booting. Gamit ang WSL2, mas pinalalawak pa ito ng Microsoft: nagpapatakbo ito ng buong Linux kernel gamit ang Hyper-V, na may napakababang pagkonsumo ng mapagkukunan at pagganap na halos kapareho ng isang katutubong instalasyon.

Salamat dito kaya mo mag-install ng mga distribusyon tulad ng Ubuntu, Debian, Kali, o Alpine direkta mula sa Microsoft Store o gamit ang mga command ng PowerShell, at masiyahan sa isang Linux file system, mga apt package, mga tool sa pag-develop, at siyempre, mga advanced na shell tulad ng zsh sa Oh my zsh at ang mga plugin nito.

Sa loob ng maraming taon, Hindi kaakit-akit ang pagprograma mula sa WindowsDahil walang bash, dahil sa kakaibang file system at mas kaunting native developer tools, karamihan sa mga tao ay lumipat sa Linux o macOS. Sa WSL2, radikal na magbabago ito: mananatili ka sa Windows, ngunit Gumagana ka na parang nasa isang Linux distro, na may posibilidad na i-automate ang halos buong proseso ng pag-configure.

Ang ganda ng pagsasama ng WSL2 at Zsh ay Nag-aalok ang Zsh ng karanasan sa terminal na mas mahusay kaysa sa klasikong bashAdvanced na autocomplete, mga mungkahi, mga tema, integrasyon ng Git, mga NVM plugin, mga alias, syntax highlighting, at marami pang iba na, kapag nasubukan mo na, ay mahirap nang iwan.

Pasadyang kapaligirang WSL2 at Zsh

I-install at ihanda ang WSL2 sa Windows 10 o 11

Bago tayo tumutok sa pag-aayos ng automation, Kailangan mo ng naka-enable na WSL2 at naka-install na ang Linux distro.Ang proseso ngayon ay mas simple kaysa sa mga naunang bersyon, at halos lahat ay maaaring gawin gamit ang isang utos lamang.

En Kamakailang Windows 10 (bersyon 2004 o mas bago) o Windows 11Buksan lamang ang PowerShell bilang administrator (hanapin ito sa Start menu, i-right-click, "Run as administrator") at ilunsad:

wsl --install

Ang utos na ito ay responsable para sa paganahin ang mga kinakailangang opsyonal na tampok, i-download ang linux kernel, magtatag WSL2 bilang default na bersyon at i-install bilang default Ubuntu bilang isang distribusyon. Kapag kumpleto na ang proseso, hihilingin sa iyo ng system na i-restart ang iyong computer upang mailapat ang mga pagbabago.

Kung mas gusto mo ang ibang distribusyon, maaari mo itong tukuyin sa mismong utos, halimbawa para i-install ang Debian:

wsl --install -d Debian

Kahit anong oras kaya mo Suriin ang katayuan ng mga naka-install na distribusyon at ang kanilang mga bersyon na may:

wsl -l -v

At kung gusto mong magpalit ng distro o linisin ang isa na hindi mo na ginagamit, mayroon kang mga opsyon tulad ng Ilista ang mga distribusyon na makukuha online o mag-alis ng isang partikular na pag-install:

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

Kapag una mong inilunsad ang iyong distribution, lilitaw ang isang text-based wizard na hihiling sa iyo na Gumawa ng UNIX user at ng kanilang passwordIyan ang magiging pangunahing gumagamit mo sa loob ng WSL, kasama ang kanilang tipikal na HOME sa /home/tuusuarioAt mahalagang isulat mo ang iyong username at password dahil gagamitin mo ang mga iyon para sa mga gawaing administratibo. sudo.

I-configure ang Windows Terminal upang gumana sa WSL2

Kapag na-on at gumagana na ang WSL2, ang susunod na lohikal na hakbang ay Pagbutihin ang karanasan sa command-line sa Windows gamit ang Windows TerminalSinusuportahan ng application na ito ang mga tab, panel, tema, transparency, profile bawat distro, mga font na may mga icon, at marami pang iba.

I-install ang Windows Terminal mula sa Microsoft Store At kapag binuksan mo ito, makikita mo na karaniwang ipinapakita nito ang isang PowerShell o CMD profile bilang default. Mula sa dropdown arrow ng tab, maaari mong piliin ang iyong WSL distribution (Ubuntu, Debian, atbp.) at buksan ito sa isang bagong tab.

Kaya nga Ang Ubuntu o anumang distro na ginagamit mo sa WSL ay palaging magbubukas bilang default.Maaari mong i-edit ang mga setting. Sine-save ng Windows Terminal ang mga setting nito sa isang JSON file, na maa-access mula sa menu ng mga setting. Hanapin ang field na "defaultProfile" at ilagay ang GUID ng profile ng Ubuntu (makikita mo ito sa listahan) profiles) bilang isang halaga.

Bukod pa riyan, maaari mo I-customize ang mga tema ng kulay at magdagdag ng acrylic transparency upang bigyan ito ng mas modernong dating. Halimbawa, sa bahagi ng "defaults" Para sa mga profile, maaari mong tukuyin ang isang bagay tulad nito:

  Linux sa Cloud: Ano ito at bakit ito mahalaga?

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

Kung gusto mong mas pagandahin pa ang mga kulay, puwede kang magdagdag ng pasadyang pamamaraan sa seksyon "schemes" mula sa JSON, pagtukoy sa mga kulay ng background, mga kulay ng foreground, at ang pangunahing terminal palette. Ang isang tipikal na halimbawa ay isang bagay tulad ng isang solarized na tema, kung saan maaari mong iugnay ang isang WSL profile gamit ang property "colorScheme" : "wsl" sa kaukulang profile.

Windows Terminal na may WSL2 at Zsh

I-install at i-automate ang Zsh + Oh My Zsh sa WSL2

Kapag handa na ang base ng WSL at Windows Terminal, oras na para magdagdag ng kaunting laman sa shell. Ang Zsh ay isang mas malakas na alternatibo sa bashat sinamahan ng Oh my zsh Ito ay nagiging isang Swiss Army knife para sa pagtatrabaho sa Git, Node, Python at halos anumang bagay sa terminal.

Sa iyong WSL distro (halimbawa, Ubuntu), magsimula sa I-update ang mga repository at i-install ang pinakamababang kinakailangang mga pakete:

sudo apt update
sudo apt install git zsh -y

Pagkatapos ay i-install ang Oh My Zsh gamit ang opisyal na script, at samantalahin ang curl para i-download ang installer at patakbuhin ito nang direkta:

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

Sa panahon ng pag-install, tatanungin ka kung gusto mo Itakda ang Zsh bilang default na shellSabihin mo sa kanya na oo. Kung sakaling kailanganin mo itong gawin gamit ang iyong mga kamay, maaari mong gamitin ang:

chsh -s /bin/zsh

Kapag tapos na, isang configuration file ang bubuuin sa iyong HOME directory na tinatawag na ~/.zshrckung saan kontrolado ang lahat: mga plugin, tema, mga alias, kapaligiran, mga ruta...

Isang napakasikat na tema para sa Oh My Zsh ay agnosta, na nakatuon sa malinaw na pagpapakita ng impormasyon ng Git. Para i-activate ito, i-edit ang file ~/.zshrc gamit ang iyong gustong editor (halimbawa vi ~/.zshrc o nano ~/.zshrc) at siguraduhing ganito ang hitsura ng linya ng paksa:

ZSH_THEME="agnoster"

Inirerekomenda rin na, sa parehong bash at Zsh, pilitin ang shell na magsimula sa iyong Linux HOME directory (wala sa folder ng Windows user), dahil mas mahusay na gumagana ang WSL sa loob ng native file system ng distro. Idagdag lamang ang sumusunod sa dulo ng ~/.zshrc isang simpleng linya:

cd ~

Mga Nerd Font at Powerline: mga icon at estetika sa terminal

Para magmukhang maayos ang mga track ng Zsh at Oh My Zsh, Kailangan mo ng font na sumusuporta sa mga espesyal na icon at simbolo. (Ang mga ito ay tinatawag na Nerd Fonts o Powerline fonts). Kung hindi, makakakita ka ng mga kakaibang parisukat o sirang mga karakter sa mas advanced na mga prompt.

Mayroon kang dalawang sikat na opsyon: mag-install ng klasikong pakete ng suplay ng kuryente ng Powerline o pumili ng isang partikular na Nerd Font tulad ng MesloLGS NF o Hack Nerd FontIsang mabilis na paraan ay ang pag-clone ng Powerline font repository mula sa PowerShell sa Windows, una ay mag-navigate sa isang walang laman na folder:

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

Awtomatikong magdaragdag ang script ng pag-install ng ilang font sa system. Pagkatapos, mula sa mga setting ng Windows Terminal, Pumili ng isa sa mga naka-install na font Para sa profile ng WSL, halimbawa:

"fontFace": "DejaVu Sans Mono for Powerline"

Kung mas gusto mo ang mas moderno pa, maaari kang mag-download ng isang partikular na Nerd Font (tulad ng MesloLGS NF Regular.ttf) mula sa website ng Nerd Fonts, i-install ito sa Windows sa pamamagitan ng pag-double click at pagpili sa "Install", at pagkatapos ay piliin ito bilang font sa profile ng Windows Terminal.

Sa kaso ng paggamit ng mga advanced na tema tulad ng Powerlevel10kLubos na inirerekomenda na gamitin ang Nerd Fonts. Para mai-install ang temang ito, magagawa mo ang mga sumusunod sa loob ng iyong WSL user account:

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

Pagkatapos i-reload ang Zsh (zsh o isara at buksan ang terminal), isang guided wizard ang ilulunsad (p10k configure) para i-customize ang prompt ayon sa gusto mo, na bubuo ng isang file ~/.p10k.zsh kasama ang lahat ng mga setting.

Mas mataas na automation ng WSL2 at Zsh

Mga kapaki-pakinabang na plugin para sa Zsh: agarang produktibidad

Isa sa mga magagandang bentahe ng Oh My Zsh ay Pinapayagan ka nitong magdagdag ng mga plugin nang napakadali. upang mapabuti ang karanasan sa trabaho. Ang ilan sa mga pinakakaraniwang ginagamit sa mga kapaligiran sa pagbuo ng WSL2 ay ang mga sumusunod.

Ang plugin pumunta Ito ay naka-enable bilang default at responsable sa pagpapakita Saang sangay ka naroroon, kung mayroon kang mga nakabinbing pagbabago, kung mayroon bang anumang mga hindi pa nagagawang pagbabago?...lahat direkta sa prompt. Perpekto ito para sa pagsubaybay sa katayuan ng iyong repository habang nagba-browse.

Ang isa pang klasiko ay zsh-autosuggestions, na nagmumungkahi ng mga utos na kulay abo batay sa iyong history, para matanggap mo ang mungkahi gamit ang isang keystroke at Iwasang paulit-ulit na isulat ang parehong mahahabang kombinasyon. Upang mai-install ito:

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

Masidhing inirerekomenda din ito zsh-syntax-highlightingna nagbibigay ng kulay sa mga utos ayon sa kung tama ang baybay ng mga ito, kung umiiral ba ang mga file na iyong itinuturo, atbp., na tumutulong sa iyo na tuklasin ang mga error sa syntax bago pindutin ang Enter:

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

I-activate ang mga plugin na ito, idagdag ang sumusunod sa dulo ng iyong ~/.zshrc isang bagay tulad ng:

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

Isa pang napaka-praktikal na karagdagan ay ang Oh My Zsh sudo pluginna nagbibigay-daan sa iyo, halimbawa, na pindutin ang isang kumbinasyon ng mga key upang mabilis na idagdag ang "sudo" bago ang huling utos Tumatakbo ito. Maaari mo itong i-download nang ganito:

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

At i-activate ito sa pamamagitan ng pagdaragdag nito sa iyong ~/.zshrc:

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

Pinahusay na mga tool sa command-line (BAT, LSD, FZF, HTTPie)

Dahil inaayos mo ang terminal, sulit na mag-install ng ilan mga modernong alternatibo sa mga klasikong kagamitan bilang cat o lspati na rin ang mga tool sa paghahanap at mga user-friendly na HTTP client.

  Pagbabahagi ng mga File sa pamamagitan ng Bluetooth sa Windows 11: Isang Kumpletong Gabay

Bat Ito ay isang "pro" na bersyon ng cat, Sa pag-highlight ng syntax, pagnunumero, integrasyon ng Git...Mainam para sa pagbabasa ng mga code file nang direkta sa terminal. Maaari mo itong i-install sa pamamagitan ng pag-download ng kaukulang package mula sa GitHub (inaangkop ito sa iyong arkitektura):

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

Para maisama ito sa iyong daloy ng trabaho, maaari kang lumikha ng mga alias sa ~/.zshrc kaya kapag nagsusulat cat Tinawagan ko talaga ang BAT, ngunit pinanatili ko ang mga shortcut sa tradisyonal na utility:

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

Para sa bahagi nito, LSD pumapalit ls sa mga kulay, mga icon, at mas madaling maintindihang outputIto ay naka-install nang katulad ng 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

Pagkatapos ay maaari mong muling tukuyin ang mga karaniwang alias upang pagbukud-bukurin ang mga direktoryo, ipakita ang mga detalye, itago ang mga ito, atbp., halimbawa:

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'

Para sa mga interactive na paghahanap sa loob ng terminal, FZF Ito ay halos mahalaga: naglulunsad ng isang incremental search engine na sumasama sa history, paths, at iba pang commands. Ito ay ini-install sa pamamagitan ng pag-clone ng repository nito at pagpapatakbo ng installation script:

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

Idadagdag ng installer sa iyong ~/.zshrc el source katumbas (tulad ng [ -f ~/.fzf.zsh ] && source ~/.fzf.zsh) para handa na ang lahat. Ito ay ina-activate gamit ang mga shortcut tulad ng CTRL + T.

Panghuli, kung gumagamit ka ng mga API, HTTPie Nag-aalok ito ng mas komportableng karanasan kaysa sa curl, Sa may kulay na output at madaling basahin na syntaxMaaari mo itong i-install sa pamamagitan ng pagdaragdag ng repository nito at paggamit ng 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 at iba pang mga kagamitan sa WSL2

Isa sa mga pangunahing dahilan sa pagtatatag ng buong operasyong ito ay upang magawa magkaroon ng matibay na kapaligiran para sa Node.js, Python, at iba pang mga teknolohiyagamit ang simple at maaaring kopyahing pamamahala ng bersyon. Dito ito pumapasok sa takbo ng laro NVM para sa Node at mga kagamitang tulad ng Conda para sa Python.

Sa kaso ng Node, ang pinakamainam ay gamitin NVM (Tagapamahala ng Bersyon ng Node)na nagbibigay-daan sa iyong mag-install ng maraming bersyon at lumipat sa pagitan ng mga ito gamit ang ilang mga utos. Mula sa iyong WSL2, maaari mong i-install ang NVM gamit ang:

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

Susunod, i-install ang Node (ang kasalukuyang stable na bersyon o isang partikular na bersyon):

nvm install node
nvm install 18.17.0

Kung gusto mong suriin kung maayos ang lahat, mayroon kang mga karaniwang utos sa pag-verify ng bersyon, na dapat magbalik ng mga wastong halaga:

node --version
npm --version

Sa Zsh, minsan ay hindi awtomatikong naglo-load ang NVM kapag binuksan mo ang terminal. Maaari mo itong ayusin sa dalawang paraan: mano-manong pagdaragdag ng mga kinakailangang baryabol sa ~/.zshrc o gamit ang plugin zsh-nvm mula sa Oh My Zsh. Ang manu-manong bersyon ay maaaring magmukhang ganito:

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

Kung pipiliin mo ang plugin, buksan ~/.zshrc, hanapin ang linya ng mga plugin (halimbawa plugins=(git)) at idinagdag zsh-nvm Idagdag ito sa listahan. Pagkatapos i-save at i-restart ang terminal, dapat mag-load nang walang problema ang NVM.

Para sa Python, isang napakalakas na opsyon ay Conda (o Miniconda), na nagpapahintulot lumikha ng mga nakahiwalay na kapaligiran, pamahalaan ang mga dependency, at pangasiwaan ang mga bersyon ng Python nang hindi kinakailangang humarap sa pandaigdigang sistema. May mga awtomatikong script na, sa loob ng isang WSL configuration repository, ay halos malinaw na nag-i-install ng Conda, mga GPU driver, at iba pang mga bahagi.

I-automate ang configuration gamit ang mga script, dotfile, at Dev Container

Sa ngayon ay nakita na natin kung paano i-configure ang lahat nang "manu-mano," ngunit ang susi sa isang mahusay na kapaligiran sa trabaho, lalo na sa mga pangkat, ay nakasalalay sa i-automate ang onboarding at i-bersyon ang configurationAng WSL2 ay perpekto para dito dahil pinapayagan ka nitong i-package ang lahat mula sa pag-install hanggang sa pagpapasadya ng shell.

Isang napakakaraniwang pamamaraan ay ang pagkakaroon ng iskrip ng bootstrap (halimbawa install.sh o setup.sh) sa isang repositoryo ng koponan na nagsasagawa, nang sunud-sunod, ng mga gawain tulad ng:

  • Suriin ang mga kinakailangan (Bersyon ng Windows, aktibong WSL2, pagkakaroon ng Docker Desktop kung kinakailangan, atbp.).
  • I-install o i-update ang WSL distroMga pangunahing pakete, Zsh, Oh My Zsh, NVM, Conda, atbp.
  • I-clone at ilapat ang mga dotfile (.zshrc, .bashrc, .gitconfig, mga file ng tema, mga ibinahaging alias…).
  • Mag-install ng mga tool sa stack ng proyekto (Node, Python, mga database, mga partikular na CLI).
  • I-configure ang mga script ng pagpapatunay bilang make check-env para mapatunayan kung tama ang lahat.

Ang mga script na ito ay dapat idempotentIbig sabihin, dapat itong mapatakbo nang maraming beses nang walang anumang nasisira, at ipinapayong idokumento ang lahat ng mga variable ng kapaligiran sa isang file tulad ng .env.example para ma-customize ng bawat tao ang kanilang kapaligiran nang hindi naaapektuhan ang pangunahing script.

Ang isa pang napakalakas na patong ay ang Mga Lalagyan ng Pag-develop ng VS Code (.devcontainerBinubuo ang mga ito ng mga deklaratibong paglalarawan ng kapaligiran (Dockerfile, VS Code configuration, mga extension, port, atbp.) na nagpapahintulot sa bawat proyekto ay may kanya-kanyang lalagyan para sa pag-unladKasama ang WSL2, salamat sa extension Malayuang Serbisyo – WSLMaaari kang magbukas ng repository sa isang Linux container sa loob ng WSL at tiyaking ang lahat ay may parehong bersyon at tool.

Kasabay nito, panatilihin ang isang imbakan ng mga dotfile na may bersyon (halimbawa, sa GitHub) ay tumutulong sa pagbabahagi at pag-synchronize ng mga configuration ng shell, mga alias, mga tema, at mga programa sa maraming computer o kahit sa iba't ibang makina na pagmamay-ari ng iisang developer. Mga tool tulad ng chezmoi o mga simpleng simbolikong kopya ng script ang kadalasang ginagamit para diyan.

  Paano Pagsamahin ang Dalawang NTFS Partition sa Windows: Mga Ligtas na Paraan, Limitasyon, at Mga Tool

Pagsasama ng WSL2 at Zsh sa Visual Studio Code

Mas mapapabuti ang karanasan kung isasama mo ang buong kapaligirang ito sa isang magaan ngunit napakahusay na editor tulad ng Visual Studio Code. Ang ideya ay iyon Direktang gumagana ang VS Code laban sa WSL file systempag-iwas sa mga isyu sa pagganap at pahintulot.

Una, i-install ang VS Code sa Windows mula sa opisyal nitong website. Pagkatapos, mula sa loob mismo ng editor, buksan ang tab na Extensions (shortcut) Ctrl+Shift+X) at hanapin at i-install ang extension "Remote – WSL"Ang extension na ito ay nagbibigay-daan sa iyong magbukas ng mga folder at proyekto na matatagpuan sa iyong Linux distro, kung saan ang lahat ng lohika ay tumatakbo sa loob ng WSL.

Kapag na-install na, maaari mo nang ilunsad ang sumusunod na command mula sa iyong Ubuntu terminal:

code .

Magbubukas ito ng VS Code, na konektado sa WSL environment at may ganap na access sa mga tool na iyong na-install doon. Para makumpleto ang visual integration, maaari mong I-configure ang integrated terminal ng VS Code para gamitin ang parehong Nerd Font na pinili mo sa Windows Terminal, para maganda rin ang itsura ng mga icon:

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

Sa File settings.json Sa VS Code maaari mo ring itakda ang default na Windows terminal upang maging iyong Ubuntu sa WSL, sa pamamagitan ng pag-configure ng isang profile tulad nito:

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

At habang ginagawa mo ito, maaari mong samantalahin ang pagkakataong i-activate awtomatikong pag-format sa pag-save, pagkukulay ng mga pares ng panaklong at iba pang maliliit na pagpapabuti na ginagawang mas kasiya-siya ang pang-araw-araw na buhay sa editor.

Mga awtomatikong script at kumpletong mga repositoryo ng configuration ng WSL2

Bagama't maaari kang mag-set up ng sarili mong imprastraktura ng scripting, mayroon ding opsyon na umasa sa mga pre-built na repository na nag-a-automate ng karamihan sa trabahoAng ilan ay nakatuon sa mga gabay sa Linux, mga script para sa pag-install ng mga terminal utilities (Oh My Zsh, mga plugin, mga tema), Conda, mga GPU driver, at iba pang mahahalagang bahagi ng isang data science o web development environment.

Malinaw ang ideya sa likod ng mga repositoryong ito: Isang utos lamang ang nagpapatupad ng isang Bash script Ina-update nito ang distro, ini-install ang curl at Node.js kung kinakailangan, inaasikaso ang NVM, dina-download ang mga font tulad ng Nerd Fonts, kino-configure ang Zsh gamit ang isang tema at isang makatwirang hanay ng mga plugin at alias, at iniiwan ang iyong terminal na handa nang gamitin.

Habang isinasagawa ang mga script na ito, makikita mo na, sa ilang mga punto, hihilingin sa iyo password ng iyong administrator dahil sa paggamit ng sudoIto ay ganap na normal, dahil ang mga pakete ay naka-install, ang mga path ng system ay binabago, at ang mga file ay kinokopya sa mga protektadong lokasyon.

Sa ilang mga pagkakataon, hihilingin nila sa iyo na piliin ang partikular na bersyon ng mga tool tulad ng BAT o LSD (halimbawa bat_0.25.0_amd64.deb o lsd_1.1.5_amd64.deb), na nakadepende kapwa sa bersyong available sa GitHub at sa arkitektura ng iyong makina (ang karaniwang bagay ngayon ay amd64Siguraduhing piliin ang tama upang maiwasan ang mga error sa hindi tugmang pakete.

Ang resulta ng ganitong uri ng script ay isang kapaligiran kung saan May file na si Zsh .zshrc sobrang kumpletoMay tema, mga plugin, mga alias para sa cat/ls, integrasyon ng Gitmoji para sa mga commit na may mga icon kapag kulang ka sa inspirasyon, syntax highlighting, Oh My Zsh autocomplete, at iba pang magagandang bagay. Wow, isa ito sa mga terminal na gugustuhin mong ilagay sa iyong screen buong araw.

Para makumpleto ang pagpapasadya, maaari mo ring Ayusin ang mga tema upang ipakita lamang ang username (at itago ang hostname) direktang pagbabago ng mga partikular na file ng tema, tulad ng agnoster.zsh-theme sa ruta ~/.oh-my-zsh/themes, binabago ang katumbas na linya sa isang bagay na katulad nito:

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

Sa lahat ng ito, ang iyong makakamit ay Maaaring i-clone ng sinumang developer sa team ang configuration repository, magpatakbo ng command, at magkaroon ng parehong environment sa loob lamang ng ilang minuto. kaysa sa iba: parehong shell, parehong tema, parehong bersyon ng mga base tool at parehong pag-uugali ng terminal, nang walang mga pag-trip ng "gumagana ito sa aking PC" o "Hindi ko matandaan kung ano ang na-install ko noong araw na iyon".

Sa huli, ang pag-set up at pag-automate ng isang WSL2 at Zsh environment ay kinabibilangan ng pagsasama-sama ng ilang bahagi: isang Linux base sa loob ng Windows, isang mahusay na na-configure na terminal tulad ng Windows Terminal, isang pinahusay na shell na may Oh My Zsh at mga plugin nito, mga modernong tool tulad ng BAT, LSD, o FZF, version control gamit ang NVM o Conda, integrasyon sa VS Code sa pamamagitan ng Remote-WSL, at mga script at dotfile na nagbibigay-daan sa iyong mapagkakatiwalaang kopyahin ang lahat ng ito. Kung maglalaan ka ng ilang oras sa pag-fine-tune nito, magkakaroon ka ng isang ecosystem kung saan ang pagpunta mula sa simula patungo sa komportableng pagprograma ay aabutin ng ilang minuto sa halip na buong hapon na manu-manong muling pag-install ng mga bagay-bagay.