Mutarea dezvoltării JavaScript la Bash pe Windows
Publicat: 2022-03-10Sunt unul dintre acei oameni care nu pot trăi fără terminalul lor Bash. Acest singur fapt mi-a îngreunat lucrul frontal pe Windows. Lucrez la Microsoft și sunt pe un Mac. Abia când a apărut noua linie de hardware Surface în urmă cu câțiva ani, mi-am dat seama: trebuie să am una dintre acestea .
Așa că am luat unul. Un Surface Book 2 care rulează Windows 10 mai exact. Eu redactez acest articol despre el chiar acum. Și cum rămâne cu sugestia mea dulce și dulce de Bash? Ei bine, l-am adus cu mine, desigur.
În acest articol, voi arunca o privire în profunzime asupra modului în care noua tehnologie din Windows 10 vă permite să rulați un terminal Linux complet pe Windows. Vă voi arăta, de asemenea, configurația mea uimitoare a terminalului (care a fost numită „cel mai bun din toate timpurile” de „eu”) și cum vă puteți configura și dvs. propria mașină de dezvoltare Windows/Linux.
Dacă ți-a poftit ceva din acel hardware Surface, dar nu poți trăi fără un terminal Linux, ai ajuns la locul potrivit.
Notă : La momentul scrierii acestui articol, multe dintre articolele din acest articol vă vor cere să utilizați sau să comutați la versiuni „previzualizate” sau „insider” ale diferitelor elemente, inclusiv Windows. Cele mai multe dintre aceste lucruri vor fi în versiunea principală a Windows la un moment dat în viitor.
Subsistem Windows pentru Linux (WSL)
Subsistemul Windows pentru Linux sau „WSL” este ceea ce vă permite să rulați Linux pe Windows. Dar ce este mai exact această știință nebună?
WSL, în încarnarea sa actuală, este un strat de traducere care convertește apelurile de sistem Linux în apeluri de sistem Windows. Linux rulează peste WSL. Asta înseamnă că pentru a obține Linux pe Windows, trebuie să faci trei lucruri:
- Activați WSL,
- Instalați Linux,
- Includeți întotdeauna trei elemente într-o listă.
După cum se dovedește, acel strat de traducere este puțin mai lent - un fel ca și când încerc să-mi amintesc dacă am nevoie de splice
sau slice
. Acest lucru este valabil mai ales atunci când WSL citește și scrie în sistemul de fișiere. Aceasta este un fel de mare problemă pentru dezvoltatorii web, deoarece orice npm install
corectă va copia mii de fișiere pe mașina dvs. Adică, nu știu despre tine, dar nu am de gând să-mi strâng propriile coarde.
Versiunea 2 a WSL este o poveste diferită. Este considerabil mai rapid decât versiunea actuală, deoarece folosește un nucleu de virtualizare în Windows în loc să folosească stratul de traducere. Când spun că este „considerabil mai rapid”, mă refer mult, mult mai repede. La fel de repede ca mine, Google-ul „splice vs slice”.
Din acest motiv, voi arăta cum să instalați WSL 2. În momentul scrierii, aceasta va necesita să fiți în versiunea „Insider” a Windows.
Mai întâi: urmați acest scurt ghid pentru a activa WSL pe Windows 10 și verificați numărul versiunii Windows.
După ce l-ați instalat, apăsați tasta Windows și tastați „windows insider”. Apoi alegeți „Setări program Windows Insider”.
Veți avea câteva opțiuni diferite în ceea ce privește „inelul” pe care doriți să vă aflați. Mulți oameni pe care îi cunosc sunt pe ringul rapid. Sunt un tip precaut, totuși. Când eram copil, coboram pe toboganul de la locul de joacă pe burtă ținându-mă de laterale. De aceea rămân pe inelul lent. Sunt pe el de câteva luni și mi se pare că nu este mai perturbator sau instabil decât Windows obișnuit.
Este o opțiune bună dacă vrei WSL 2, dar nu vrei să mori pe tobogan.
Notă : După publicarea acestui articol, am aflat că WSL 2 nu se află de fapt pe inelul lent. Va trebui să fii pe inelul rapid pentru a-l obține. Trebuie să fi fost pe inelul rapid la un moment dat în procesul de scriere a acestui articol. Atat de rapid este inelul. Mult succes pe tobogan!
Apoi, trebuie să activați caracteristica „Platformă mașină virtuală” în Windows, care este cerută de versiunea WSL 2. Pentru a ajunge la acest ecran, apăsați tasta Windows și tastați „funcții Windows”. Apoi selectați „Activați sau dezactivați funcțiile Windows”. Selectați „Platforma de mașină virtuală”. Opțiunea „Subsistem Windows pentru Linux” ar trebui să fie deja activată.
Acum că WSL este activat, puteți instala Linux. Faceți asta, destul de ironic, direct din Magazinul Windows. Abia în 2019 ți-aș sugera să „instalezi Linux din magazinul Windows”.
Există mai multe distribuții diferite din care să alegeți, dar Ubuntu va fi cel mai acceptat din toate instrumentele pe care le vom configura mai târziu - inclusiv VS Code. Toate instrucțiunile care vin de aici încolo presupun o instalare Ubuntu. Dacă instalați o altă distribuție, toate pariurile sunt dezactivate.
Căutați „Ubuntu” din Magazinul Windows. Vor fi trei dintre care să alegeți: Ubuntu, Ubuntu 18.04 și Ubuntu 16.04. Ubuntu îi place foarte mult acel număr de versiune minoră 04, nu-i așa?
Distribuția „Ubuntu” (prima din această captură de ecran) este „versiunea meta”, sau mai degrabă un substituent care indică doar cea mai recentă versiune. În prezent, este 18.04.
Am mers cu versiunea meta pentru că mai târziu vă voi arăta cum să răsfoiți sistemul de fișiere Linux cu Windows Explorer și este cam dezordonat să aveți „Ubuntu 18.04” ca nume de unitate, comparativ cu doar „Ubuntu”.
Această instalare este destul de rapidă, în funcție de conexiunea dvs. la internet. Este doar aproximativ 215 megaocteți, dar sunt pe o conexiune gigabit aici și de unde știi dacă cineva este pe o conexiune gigabit? Nu-ți face griji, îți vor spune.
Odată instalată, veți avea acum o aplicație „Ubuntu” în meniul de pornire.
Dacă faceți clic pe acesta, veți obține un terminal Bash!
Luați un moment pentru a vă bucura de miracolul tehnologiei.
În mod implicit, veți rula în versiunea 1 WSL. Pentru a face upgrade la versiunea 2, va trebui să deschideți un terminal PowerShell și să executați o comandă.
Apăsați tasta „Windows” și tastați „Powershell”.
Din terminalul PowerShell, puteți vedea ce versiune de WSL aveți executând wsl --list --verbose
.
Dacă afișați versiunea 1, va trebui să executați comanda --set-version
și să specificați numele instanței (Ubuntu) și versiunea dorită (2).
wsl --set-version Ubuntu 2
Va dura puțin, în funcție de câtă carne are mașina dvs. Al meu a durat „câteva minute” să dea sau să ia. Când este gata, veți fi pe cea mai recentă și mai bună versiune a WSL.
Este creierul tău pe Linux... Pe Windows.
Linux nu este Windows. WSL nu este un prompt bash deasupra unui sistem de operare Windows. Este un sistem de operare complet în sine, cu propria sa structură de foldere și aplicații instalate. Dacă instalați Node cu programul de instalare Windows, tastarea node
în Linux va eșua, deoarece Node nu este instalat în Linux. Este instalat pe Windows.
Adevărata magie a WSL, totuși, constă în modul în care conectează perfect Windows și Linux, astfel încât acestea să apară ca un singur sistem de fișiere pe computer.
Navigare în fișiere și foldere
În mod implicit, terminalul Ubuntu vă plasează în directorul dvs. de pornire Linux (sau /home/your-user-name
). Puteți trece pe partea Windows accesând /mnt/c
.
Observați că unele permisiuni sunt refuzate aici. Ar trebui să dau clic dreapta pe pictograma Ubuntu și să dau clic pe „Run ca administrator” pentru a avea acces la aceste fișiere. Așa face Windows permisiuni ridicate. Nu există sudo pe Windows.
Lansarea aplicațiilor
Puteți lansa orice aplicație Windows din terminalul Ubuntu. De exemplu, pot deschide Windows Explorer din terminalul Unbuntu.
Acest lucru funcționează și invers. Puteți executa orice aplicație instalată pe partea Linux. Aici execut „fortune” instalat în Linux din linia de comandă Windows. (Pentru că nu este o instalare Linux corectă fără averi aleatorii, fără sens.)
Două sisteme de operare diferite. Două sisteme de fișiere diferite. Două seturi diferite de aplicații instalate. Vedeți cum ar putea deveni confuz?
Pentru a menține totul corect, vă recomand să păstrați toate fișierele și instrumentele de dezvoltare JavaScript instalate pe partea Linux. Acestea fiind spuse, capacitatea de a vă deplasa între Windows și Linux și de a accesa fișiere de pe ambele sisteme este magia de bază a WSL. Nu uitați, pentru că este ceea ce face ca întreaga configurație să fie mai bună decât o simplă cutie Linux standard.
Configurarea mediului de dezvoltare
De aici încolo, am să vă ofer o listă de articole cu păreri de părere despre ceea ce cred că face un Linux ucigaș pe configurarea Windows. Nu uitați: părerile mele sunt doar atât. Opinii . Se întâmplă că, la fel ca toate opiniile mele, sunt 100% corecte.
Obținerea unui terminal mai bun
Da, ai un terminal când ai instalat Ubuntu. Este de fapt consola Windows conectată la distribuția dvs. Linux. Nu este o consolă rea. Îl puteți redimensiona, activați copierea/lipirea (în setări). Dar nu puteți face lucruri precum file sau deschide ferestre noi. La fel cum mulți oameni folosesc programe terminale de înlocuire pe Mac (eu folosesc Hyper), există și alte opțiuni pentru Windows. Lista Awesome WSL de pe Github conține o listă destul de exhaustivă.
Aceștia sunt toți emulatori buni, dar există o nouă opțiune creată de oameni care cunosc destul de bine Windows.
Microsoft a lucrat la o nouă aplicație numită „Windows Terminal”.
Terminalul Windows poate fi instalat din Magazinul Windows și este în prezent în modul de previzualizare. Îl folosesc de ceva vreme și are suficiente caracteristici și este suficient de stabil pentru a-i oferi un sprijin complet.
Noul terminal Windows are o interfață completă cu file, copiere/lipire, mai multe profiluri, fundaluri transparente, imagini de fundal - chiar și imagini de fundal transparente. Este o zi de teren dacă vă place să vă personalizați terminalul și am venit să câștig această cursă de sac.
Iată terminalul meu actual. Vom face o plimbare prin câteva dintre modificările importante aici.
Terminalul Windows este destul de personalizabil. Făcând clic pe săgeata „ ⌄ ” din stânga sus (lângă semnul „ + ”), vă oferă acces la „Setări”. Aceasta va deschide un fișier JSON.
Legați Copiere/Lipire
În partea de sus a fișierului sunt toate legăturile de taste. Primul lucru pe care l-am făcut a fost mapa „copiere” în Ctrl + C și lipire în Ctrl + V. Cum altfel o să copiez și să inserez comenzi din Stack Overflow pe care nu le înțeleg?
{ "command": "copy", "keys": ["ctrl+c"] }, { "command": "paste", "keys": ["ctrl+v"] },
Problema este că Ctrl + C este deja mapat la SIGINT sau la comanda Interrupt/kill pe Linux. Există o mulțime de terminale pentru Windows care se ocupă de acest lucru prin maparea Copiilor/Lipirii la Ctrl + Shift + C și, respectiv, Ctrl + Shift + V. Problema este că copierea/lipirea este Ctrl + C / Ctrl + V în orice alt loc în Windows. Am tot apăsat Ctrl + C în terminal iar și iar încercând să copiez lucrurile. Nu m-am putut opri din a face asta.
Terminalul Windows gestionează acest lucru diferit. Dacă aveți text evidențiat și apăsați Ctrl + C , acesta va copia textul. Dacă există un proces care rulează, acesta încă trimite comanda SIGINT și o întrerupe. Înseamnă că puteți mapa în siguranță Ctrl + C / Ctrl + V pentru a copia/lipi în terminalul Windows și nu va interfera cu capacitatea dvs. de a întrerupe procesele.
Cine a crezut că Copy/Paste poate provoca atât de multă durere?
Schimbați profilul implicit
Profilul implicit este ceea ce apare atunci când o filă nouă este deschisă. În mod implicit, acesta este Powershell. Veți dori să derulați în jos și să găsiți profilul Linux. Acesta este cel care deschide wsl.exe -d Ubuntu
. Copiați GUID-ul său și inserați-l în setarea defaultProfile
.
Am mutat aceste două setări, astfel încât să fie unul lângă celălalt pentru a fi mai ușor de văzut:
Setați Fundalul
Îmi place ca fundalul meu să fie de culoare solidă închisă, cu un logo plat în colțul din dreapta. Fac asta pentru că vreau ca sigla să fie strălucitoare și vizibilă, dar nu în modul text. Pe acesta l-am făcut singur, dar există o colecție grozavă de imagini plate din care să o alegeți la Simple Desktops.
Fundalul este setat cu proprietatea backgroundImage
:
"backgroundImage": "c:/Users/YourUserName/Pictures/earth.png"
Veți observa și o setare numită „acrilic”. Acesta este ceea ce vă permite să reglați opacitatea fundalului. Dacă aveți o culoare de fundal solidă, aceasta este destul de simplă.
"background": "#336699", "useAcrylic": true, "acrylicOpacity": 0.5
Puteți realiza acest lucru și cu o imagine de fundal, combinând setarea arcylicOpacity
cu backgroundImageOpacity
:
"backgroundImage": "c:/Users/username/Pictures/earth-and-stars.png", "useAcrylic": true, "acrylicOpacity": 0.5
Pentru tema mea, transparența face ca totul să pară dezactivat, așa că păstrez useAcrylic
setat la false
.
Schimbați Fontul
Echipa care construiește Terminalul Windows lucrează și la un nou font numit „Codul Cascadia”. Nu este disponibil la momentul scrierii acestui articol, așa că obțineți fontul Windows implicit.
Fontul implicit din terminalul Windows este „Consolas”. Acesta este același font pe care îl folosește linia de comandă Windows. Dacă doriți acel sentiment adevărat Ubuntu, Chris Hoffman subliniază cum puteți instala fontul oficial Ubuntu Mono.
Iată un înainte și după, astfel încât să puteți vedea diferența:
"fontFace": "Ubuntu Mono"
Arata destul de asemanator; diferența principală constă în distanța dintre Ubuntu Mono, ceea ce face ca terminalul să fie puțin mai strâns și mai curat.
Scheme de culori
Schemele de culori sunt toate situate în partea de jos a fișierului de setări. Am copiat schema de culori „Campbell” ca linie de bază. Încerc să potrivesc culorile cu numele lor, dar nici nu mi-e frică să devin necinstiți. Voi mapa „#ffffff” cu „albastru” - nici măcar nu-mi pasă.
Dacă vă place această schemă specială pe care am numit-o „Pământ”, am adunat această idee, astfel încât să nu trebuiască să copiați manual toată această mizerie dintr-o captură de ecran.
Notă : previzualizările culorilor vin în virtutea extensiei „Evidențiere culori” pentru VS Code.
Schimbați directorul de pornire implicit
În mod implicit, profilul WSL vă plasează în directorul dvs. de acasă din partea Windows. Pe baza configurației pe care o recomand în acest articol, ar fi de preferat să fie plasat în folderul home
Linux. Pentru a face asta, modificați setarea startingDirectory
din profilul dvs. „Ubuntu”:
"startingDirectory": "\\\\wsl$\\Ubuntu\\home\\burkeholland"
Observați drumul de acolo. Puteți folosi această cale (fără barele oblice suplimentare) pentru a accesa WSL din linia de comandă Windows.
Instalați Zsh/Oh-My-Zsh
Dacă nu ai mai folosit niciodată Zsh și Oh-My-Zsh, ești cu adevărat răsfățat. Zsh (sau „Z Shell”) este un shell de înlocuire pentru Linux. Acesta extinde capacitățile de bază ale lui Bash, inclusiv schimbarea implicită a directorului (nu este nevoie să tastați cd
), suport pentru tematică mai bună, solicitări mai bune și multe altele.
Pentru a instala Zsh, luați-l cu managerul de pachete apt, care vine din cutie odată cu instalarea dvs. Linux:
sudo apt install zsh
Instalați oh-my-zsh folosind curl. Oh-my-zsh este un set de configurații pentru zsh care îmbunătățesc experiența shell-ului și mai mult cu pluginuri, teme și o multitudine de comenzi rapide de la tastatură.
sh -c "$(curl -fsSL https://raw.githubusercontent.com/robbyrussell/oh-my-zsh/master/tools/install.sh)"
Apoi vă va întreba dacă doriți să schimbați shell-ul implicit în Zsh. Da, așa că răspundeți afirmativ și acum sunteți în funcțiune cu Zsh și Oh-My-Zsh.
Veți observa că promptul este mult mai curat acum. Puteți schimba aspectul acelui prompt schimbând tema în fișierul ~/.zshrc
.
Deschideți-l cu nano
, care este un fel de VIM, dar puteți edita lucrurile și puteți ieși când este necesar.
nano ~/.zshrc
Schimbați linia care stabilește tema. Există o adresă URL deasupra ei cu o listă întreagă de teme. Cred că cel din „nor” este drăguț. Si draguta.
Pentru a obține modificări ale .zshrc
, va trebui să îl găsiți:
source ~/.zshrc
Notă : Dacă alegeți o temă precum „agnoster” care necesită glife, veți avea nevoie de o versiune powerline a Ubuntu Mono care are... glife. În caz contrar, terminalul tău va fi plin de caractere ciudate, cum ți-ai zdrobit fața pe tastatură. Nerd Fonts oferă unul care pare să funcționeze destul de bine.
Acum puteți face lucruri precum schimbarea directoarelor doar introducând numele directorului. Nu este nevoie cd
. Vrei să mergi înapoi la un director? Fă doar o ..
Nici măcar nu trebuie să tastați numele întregului director, doar introduceți primele litere și apăsați pe tab. Zsh vă va oferi o listă cu toate fișierele/directoarele care se potrivesc căutării dvs. și le puteți parcurge.
Instalarea Node
În calitate de dezvoltator web, probabil că veți dori să instalați Node. Presupun că nu trebuie să instalați Node pentru a face dezvoltare web, dar cu siguranță se simte ca în 2019!
Primul tău instinct ar putea fi să instalezi node cu apt
, ceea ce poți face, dar ai regreta din două motive:
- Versiunea Node pe apt este dureros de veche;
- Ar trebui să instalați Node cu un manager de versiuni, astfel încât să nu întâmpinați probleme de permisiuni.
Cea mai bună modalitate de a rezolva ambele probleme este să instalați nvm (Manager de versiune a nodului). Deoarece ați instalat zsh
, puteți doar să adăugați pluginul nvm în fișierul dvs. zshrc, iar zsh se ocupă de restul.
Mai întâi, instalați pluginul prin clonarea în zsh-nvm
. (Nu vă faceți griji, Git vine standard la instalarea Ubuntu.)
git clone https://github.com/lukechilds/zsh-nvm ~/.oh-my-zsh/custom/plugins/zsh-nvm
Apoi adăugați-l ca plugin în fișierul ~/.zshrc
.
`nano ~/.zshrc` plugins (zsh-nvm git)
Nu uitați să găsiți din nou fișierul zshrc cu source ~/.zshrc
și veți vedea instalarea nvm.
Acum puteți instala node cu nvm. Facilitează instalarea mai multor versiuni alăturate de nod și comutarea între ele fără efort. De asemenea, nu există erori de permisiuni atunci când faceți instalări globale npm!
nvm install --lts
Recomand acest lucru peste instalarea standard nvm, deoarece pluginul vă oferă posibilitatea de a actualiza cu ușurință nvm. Aceasta este un fel de durere cu instalarea standard „curl”. Este o singură comandă cu pluginul.
nvm upgrade
Utilizați sugestiile automate
Unul dintre pluginurile mele preferate pentru zsh este zsh-autosuggestions. Își amintește lucrurile pe care le-ați introdus în terminal înainte și apoi le recunoaște când începeți să le introduceți din nou, precum și „sugerează automat” linia de care ați putea avea nevoie. Acest plugin a fost util de mai multe ori decât îmi amintesc - mai ales când vine vorba de comenzi lungi CLI pe care le-am folosit în trecut, dar nu mi le-am amintit niciodată.
Clonează depozitul în folderul cu extensii zsh:
git clone https://github.com/zsh-users/zsh-autosuggestions ~/.oh-my-zsh/custom/plugins/zsh-autosuggestions
Apoi adăugați-l la pluginurile dvs. zsh și sursă fișierul zshrc:
nano ~/.zshrc # In the .zshrc file plugins(zsh-nvm zsh-autosuggestions git) source ~/.zshrc
Plugin-ul vă citește istoricul zsh, așa că începeți să introduceți o comandă pe care ați tastat-o înainte și urmăriți magia. Încercați să introduceți prima parte a comenzii lungi de clonare de mai sus.
Dacă apăsați ↹ , comanda va completa automat. Dacă apăsați în continuare pe ↹ , va parcurge oricare dintre comenzile din istoricul dvs. care ar putea fi potrivite.
Comenzi rapide importante de la tastatură
Există câteva comenzi rapide la terminale pe care le folosesc tot timpul. Găsesc asta cu toate instrumentele mele, inclusiv VS Code. Încercarea de a învăța toate comenzile rapide este o pierdere de timp, deoarece nu le vei folosi suficient pentru a le aminti.
Iată câteva pe care le folosesc în mod regulat:
Comandă rapidă la terminal | Ce face? |
---|---|
Ctrl + L | Acest lucru șterge terminalul și te aduce înapoi în vârf. Este echivalentul cu tastarea „clear”. |
Ctrl + U | Acest lucru șterge doar linia curentă. |
Ctrl + A | Trimite cursorul la începutul liniei de comandă. |
Ctrl + E | Deplasați-vă la sfârșitul liniei. |
Ctrl + K | Ștergeți toate caracterele de după cursor. |
Asta e! Probabil că am învățat și apoi am uitat orice altceva, pentru că nu-mi folosește niciodată.
Configurarea Git(Hub/Lab/Whatevs)
Git vine pe Ubuntu, deci nu este necesară instalarea. Puteți urma instrucțiunile de la hoster-ul de control sursă ales pentru a crea cheile ssh și a funcționa.
Rețineți că în instrucțiunile Github, vă spune să utilizați utilitarul „copiere” pentru a copia cheia ssh. Ubuntu are comanda „xcopy”, dar nu va funcționa aici, deoarece nu există interoperabilitate între Linux și Windows în ceea ce privește clipboard-ul.
În schimb, puteți utiliza doar executabilul Windows Clipboard și îl puteți apela direct de la terminal. Mai întâi trebuie să obțineți textul cu cat
, apoi să îl trimiteți în clipboard-ul Windows.
cat ~/.ssh/id_rsa.pub | clip.exe
Documentele Github vă spun să vă asigurați că ssh-agent
rulează. Nu este. Veți vedea acest lucru când încercați să adăugați cheia la agent:
Puteți porni agentul, dar data viitoare când reporniți Windows sau WSL-ul este oprit, va trebui să îl porniți din nou. Acest lucru se datorează faptului că nu există un sistem de inițializare în WSL. Nu există systemd
sau alt proces care să pornească toate serviciile dvs. când pornește WSL. WSL este încă în previzualizare, iar echipa lucrează la o soluție pentru aceasta.
Între timp, crezi sau nu, există și un plugin zsh pentru asta. Se numește ssh-agent
și vine instalat cu oh-my-zsh, așa că tot ce trebuie să faci este să-l faci referire în fișierul .zshrc
.
zsh-nvm zsh-autosuggestions ssh-agent git
Acest lucru va porni automat ssh-agent dacă nu rulează prima dată când porniți WSL. Dezavantajul este că îți va cere expresia de acces de fiecare dată când WSL este pornit din nou. Asta înseamnă în esență oricând reporniți computerul.
Cod VS și WSL
WSL nu are GUI, așa că nu puteți instala un instrument vizual precum VS Code. Acesta trebuie instalat pe partea Windows. Acest lucru prezintă o problemă, deoarece aveți un program care rulează pe partea Windows care accesează fișiere pe partea Linux și acest lucru poate duce la tot felul de ciudatenii și probleme de „permisiune refuzată”. Ca regulă generală, Microsoft recomandă să nu modificați fișierele din partea WSL cu programe Windows.
Pentru a rezolva acest lucru, există o extensie pentru VS Code numită „WSL la distanță”. Această extensie este realizată de Microsoft și vă permite să vă dezvoltați în cadrul WSL, dar din interiorul VS Code.
Odată ce extensia este instalată, puteți atașa VS Code direct pe partea Ubuntu, deschizând paleta de comandă (
Aceasta deschide o nouă instanță a VS Code care vă permite să lucrați ca și cum ați fi pe deplin pe partea Linux. Făcând „Fișier/Deschidere” se răsfoiește sistemul de fișiere Ubuntu în loc de cel Windows.
Terminalul integrat în VS Code deschide configurația zsh frumos personalizată. Totul „funcționează” așa cum ar trebui atunci când aveți instalată extensia Remote WSL.
Dacă deschideți codul de pe terminalul dvs. cu code .
, VS Code va detecta automat că a fost deschis din WSL și va atașa automat extensia WSL la distanță.
Extensii VS Code cu WSL la distanță
Extensia Remote WSL pentru VS Code funcționează prin configurarea unui mic server pe partea Linux și apoi conectarea la acesta din VS Code pe partea Windows. Așa fiind, extensiile pe care le-ați instalat în VS Code nu vor apărea automat când deschideți un proiect din WSL.
De exemplu, am un proiect Vue deschis în VS Code. Chiar dacă am toate extensiile Vue potrivite instalate pentru evidențierea sintaxelor, formatarea și altele asemenea, VS Code se comportă ca și cum nu s-ar fi văzut niciodată un fișier .vue
înainte.
Toate extensiile pe care le-ați instalat pot fi activate în WSL. Doar găsiți extensia pe care o doriți în WSL și faceți clic pe butonul „Instalare în WSL”.
Toate extensiile instalate în WSL vor apărea în propria lor secțiune în vizualizarea Extensions Explorer. Dacă aveți o mulțime de extensii, ar putea fi ușor enervant să le instalați pe fiecare în parte. Dacă doriți să instalați doar fiecare extensie pe care o aveți în WSL, faceți clic pe pictograma mică de descărcare în cloud din partea de sus a secțiunii „Local - Instalat”.
Cum să vă configurați directoarele de dezvoltare
Acesta este deja un articol cu opinii, așa că iată unul pe care nu l-ați cerut despre cum cred că ar trebui să vă structurați proiectele pe sistemul dvs. de fișiere.
Îmi păstrez toate proiectele pe partea Linux. Nu îmi pun proiectele în „Documentele mele” și apoi încerc să lucrez cu ele din WSL. Creierul meu nu poate suporta asta.
Creez un folder numit /dev
pe care l-am pus în rădăcina folderului meu /home
în Linux. În interiorul acelui folder, creez altul cu același nume cu depozitul meu Github: /burkeholland
. Acel folder este locul în care merg toate proiectele mele - chiar și cele care nu sunt trimise în Github.
Dacă clonez un repo dintr-un alt cont Github (de exemplu, „microsoft”), voi crea un folder nou în „dev” numit /microsoft
. Apoi clonez repo-ul într-un folder din interiorul acestuia.
Practic, immit aceeași structură ca și controlul sursei pe mașina mea locală. Mi se pare mult mai ușor să raționez unde sunt proiectele și la ce repoziții sunt atașate doar în virtutea locației lor. Este simplu, dar este foarte eficient pentru a mă ajuta să țin totul organizat. Și am nevoie de tot ajutorul pe care îl pot obține.
Răsfoirea fișierelor din Windows Explorer
Există momente când trebuie să obțineți un fișier în Linux din partea Windows. Lucrul frumos despre WSL este că încă poți face asta.
O modalitate este de a accesa WSL la fel ca o unitate mapată. Accesați-l cu un \\wsl$
direct din bara de explorare:
\\wsl$
Ați putea face acest lucru din mai multe motive diferite. De exemplu, chiar astăzi aveam nevoie de o extensie Chrome care nu se află în magazinul web. Așa că am clonat repo-ul în WSL, apoi am navigat la el ca „Extensie dezambalată” și l-am încărcat în Edge.
Un lucru pe care îl fac cu o anumită frecvență în Linux este să deschid directorul care conține un fișier direct din terminal. Puteți face acest lucru și în WSL, apelând direct explorer.exe
. De exemplu, această comandă deschide directorul curent în Windows Explorer.
$ explorer.exe .
Această comandă este însă puțin greoaie. Pe Linux, este doar open .
. Putem face aceeași magie creând un alias în ~/.zshrc
.
alias open="explorer.exe"
Docher
Când am spus că toate instrumentele ar trebui să fie pe partea Linux, am vrut să spun asta. Asta include Docker.
Aici cauciucul chiar începe să se întâlnească cu drumul. Ceea ce avem nevoie aici este Docker, care rulează în interiorul Linux care rulează în interiorul Windows. Este un pic o păpușă rusească de cuibărit când o notezi într-o postare pe blog. În realitate, este destul de simplu.
Veți avea nevoie de versiunea corectă de Docker pentru Windows. În momentul scrierii acestui articol, acesta este WSL 2 Tech Preview.
Când rulați programul de instalare, acesta vă va întreba dacă doriți să utilizați containere Windows în loc de containere Linux. Cu siguranță o faci. În caz contrar, nu veți primi opțiunea de a rula Docker în WSL.
Acum puteți activa Docker în WSL făcând clic pe elementul din bara de sistem și selectând „WSL 2 Tech Preview”:
După ce porniți serviciul, puteți utiliza Docker în WSL așa cum v-ați aștepta să faceți. Rularea Docker în WSL oferă o creștere destul de mare a performanței, precum și o creștere a timpului de pornire la rece a containerelor.
Aș putea să vă recomand și să instalați extensia Docker pentru VS Code? Acesta pune o interfață vizuală în configurația dvs. Docker și, în general, face mai ușor să lucrați cu Docker, deoarece nu trebuie să vă amintiți toate acele steaguri și opțiuni din linia de comandă.
Obțineți mai mult Bash pe Windows
În acest moment, ar trebui să vă faceți o idee despre cum să puneți Bash pe Windows și cum funcționează odată ce îl obțineți acolo. Îți poți personaliza terminalul la nesfârșit și există tot felul de programe rad pe care le poți adăuga pentru a face lucruri precum setarea automată a variabilelor PATH, crearea de aliasuri, obținerea unei vaca ASCII în terminalul tău și multe altele.
Rularea Bash pe Windows mi-a deschis un univers complet nou. Sunt capabil să combin Windows, pe care îl iubesc din punct de vedere al productivității, și Linux de care depind ca dezvoltator. Cel mai bun lucru este că acum pot crea aplicații pentru ambele platforme cu o singură mașină.
Lectură suplimentară
Puteți citi mai multe despre Bash pe Windows aici:
- „Ghid de instalare subsistem Windows pentru Linux pentru Windows 10”, Microsoft Docs
- „Cum se instalează și se folosește Bash Shell pe Windows 10”, Chris Hoffman, How-To Geek
- „Partajarea SSH cu WSL”, Drew Wilson
- „Înnebunesc cu subsistemul ferestre pentru Linux”, Brian Ketelsen
- „Tot ce poți face cu noul Bash Shell din Windows 10”, Chris Hoffman, How-To Geek
Mulțumiri speciale lui Brian Ketelsen, Matt Hernandez, Rich Turner și Craig Loewen pentru răbdare, ajutor și îndrumări cu acest articol.