Visual Studio Live Share poate face asta?
Publicat: 2022-03-10În urmă cu câteva luni, Microsoft a lansat serviciul său gratuit Visual Studio (VS) Live Share. VS Live Share este o colaborare la nivel Google Docs pentru cod. Mai mulți dezvoltatori pot colabora la același fișier în același timp, fără a părăsi vreodată propriul editor.
După lansarea Live Share, mi-am dat seama că mulți dintre noi ne-am resemnat să fim izolați în codul nostru și nici măcar nu suntem conștienți că există modalități mai bune de a lucra cu un serviciu precum VS Live Share. Acest lucru se datorează parțial pentru că suntem blocați în vechile obiceiuri și parțial pentru că pur și simplu nu suntem conștienți de ceea ce poate face toate VS Live Share. Ultima parte cu care te pot ajuta!
În acest articol, vom trece peste caracteristicile și cele mai bune practici pentru VS Live Share care fac colaborarea dezvoltatorilor la fel de ușoară ca a fi un „Hipopotam anonim”.

Distribuiți codul dvs
Live Share vine ca o extensie atât pentru Visual Studio, cât și pentru Visual Studio Code (VS Code). În acest articol, ne vom concentra pe VS Code.

De asemenea, îl puteți instala prin pachetul de extensii VS Live Share, care include următoarele extensii, toate pe care le vom acoperi în acest articol...
- VS Live Share
- VS Live Share Audio
- Extensie Slack Chat
Odată ce extensia este instalată, va trebui să vă conectați la serviciul VS Live Share. Puteți face acest lucru deschizând paleta de comenzi Ctrl/Cmd + Shift + P și selectați „Conectați-vă cu browser”. Dacă nu vă conectați și încercați să începeți o nouă sesiune de partajare, vi se va solicita să vă conectați în acel moment.

Există mai multe moduri de a începe o sesiune VS Live Share. Puteți face acest lucru din paleta de comandă, puteți face clic pe butonul „Partajare” din bara de instrumente de jos sau puteți utiliza vizualizarea exploratorului VS Live Share din bara laterală.

Un link este copiat în clipboard. Apoi puteți trimite acel link altor persoane, iar aceștia se pot alătura sesiunii dvs. Live Share - cu condiția să folosească și VS Code. Care, nu suntem toți?
Acum puteți colabora exact așa cum lucrați la un document Word obișnuit vechi:
Cealaltă persoană nu numai că vă poate vedea codul, dar îl poate edita, salva, executa și chiar depana. Pentru tine, ele apar ca un cursor cu un nume pe el. Apari în editorul lor la fel.
VS Live Share Explorer
Exploratorul VS Live Share apare ca o pictogramă nouă în Bara de acțiuni – care este acea bară de pictograme din extrema dreaptă a ecranului meu (extrema stângă a dvs. pentru plasarea implicită în Bara de acțiuni). Acesta este un fel de „punctul zero” pentru tot VS Live Share. De aici, puteți începe sesiunile, le puteți încheia, puteți partaja terminale, servere și puteți vedea cine este conectat.

Este o idee bună să legați o comandă rapidă de la tastatură la această vizualizare VS Live Share Explorer, astfel încât să puteți comuta rapid între aceasta și fișierele dvs. Puteți face acest lucru apăsând Ctrl/Cmd + K (sau Ctrl/Cmd + S ) și apoi căutând „Show Live Share”. L-am legat pe al meu la Ctrl/Cmd + L , care nu pare să fie legat de nimic altceva. Mi se pare că această comandă rapidă este intuitivă ( L pentru Live Share) și ușor de apăsat pe tastatură.

Partajați codul numai pentru citire
Când începeți o nouă sesiune de partajare, veți fi notificat astfel și veți fi întrebat dacă doriți să partajați spațiul de lucru doar în citire. Dacă selectați numai citire, oamenii vă vor putea vedea codul și vă vor urmări mișcările, dar nu vor putea interacționa.

Acest mod este util atunci când partajați cu cineva în care nu aveți neapărat încredere - poate un furnizor, partener sau un fost înstrăinat.
De asemenea, este deosebit de util pentru instructori. Rețineți că la momentul scrierii acestui articol, VS Live Share este blocat pentru 5 utilizatori concurenți. Deoarece probabil că veți dori mai mult decât atât în modul numai citire, mai ales dacă predați un grup, puteți crește limita la 30 adăugând următoarea linie în fișierul Setări utilizator: Ctrl/Cmd + , .
"liveshare.features": "experimental"
Schimbați comportamentul de alăturare implicit
Oricine are linkul se poate alătura sesiunii dvs. Live Share. Când se alătură, veți vedea o fereastră pop-up care vă va anunța. La fel, când se deconectează, ești notificat. Acesta este comportamentul implicit pentru VS Live Share.

Este o idee bună să schimbați acest lucru, astfel încât să trebuiască să aprobați manual pe cineva înainte ca acesta să se alăture sesiunii dvs. Acest lucru este pentru a vă proteja în cazul în care mergeți la prânz și uitați să vă deconectați sesiunea. Colegii tăi nu se pot conecta din nou, nu pot schimba o literă din șirul de conexiune la baza de date și apoi râde în timp ce tu petreci următoarele patru ore încercând să-ți dai seama cum a mers atât de prost viața ta.
Pentru a activa acest lucru, adăugați următoarea linie în fișierul Setări utilizator Ctrl/Cmd + , .
"liveshare.guestApprovalRequired": true
Acum vi se va solicita când cineva dorește să se alăture. Dacă blocați pe cineva, acesta este blocat pe durata sesiunii. Dacă încearcă să se alăture din nou, nu veți fi notificat și vor fi respinși fără ceremonie de VS Live Share.
Du-te și bucură-te de prânz. Computerul dvs. este în siguranță.
Concentrați-vă pe urmăritori
În mod implicit, oricine se alătură sesiunii dvs. Live Share vă „urmărește”. Aceasta înseamnă că editorul lor va încărca orice fișier în care vă aflați și va derula ori de câte ori derulați. Chiar dacă schimbați fișierele, participanții vor vedea exact ceea ce vedeți.
În momentul în care o persoană face modificări într-un fișier, nu vă mai urmărește. Deci, dacă amândoi lucrați împreună la un fișier și apoi mergeți la un alt fișier, ei nu vor merge automat cu dvs. Acest lucru poate duce la multă confuzie când vorbiți despre codul din fișierul în care vă aflați, în timp ce cealaltă persoană se uită la ceva complet diferit.
Pe lângă faptul că vă spuneți unul altuia unde vă aflați (ceea ce funcționează, btw), există o comandă la îndemână numită „Focus Participants” care se află în paleta de comenzi Ctrl/Cmd + Shift + P .

De asemenea, îl puteți accesa ca pictogramă în vizualizarea VS Live Share Explorer.

Acest lucru va concentra participanții dvs. asupra următorului lucru pe care faceți clic sau spre care derulați. În mod implicit, solicitările de focalizare VS Live Share sunt acceptate implicit. Dacă nu doriți ca oamenii să vă poată concentra, puteți adăuga următoarea linie în fișierul Setări utilizator.
"liveshare.focusBehavior": "prompt"
De asemenea, rețineți că puteți urmări participanții. Dacă faceți clic pe numele lor în vizualizarea VS Live Share Explorer, veți începe să le urmăriți.
Deoarece urmărirea este dezactivată de îndată ce cealaltă persoană începe să editeze codul, poate fi dificil să știi exact când oamenii te urmăresc și când nu. Un loc în care puteți căuta este în vizualizarea VS Live Share Explorer. Îți va spune fișierul în care se află o persoană, dar nu dacă te urmărește sau nu.
O bună practică este să vă amintiți că concentrarea se schimbă mereu, astfel încât oamenii pot vedea sau nu ceea ce vedeți la un moment dat.
Depanați ca o echipă
Participanții pot partaja orice sesiuni de depanare pe care le rulați. Dacă începeți o sesiune de depanare, ei vor primi exact aceeași experiență ca și dumneavoastră. Dacă se rupe de partea ta, se rupe pe a lor și ei primesc vizualizarea completă de depanare în tot codul tău.
Ei pot intra, ieși, peste, adăuga ceasuri, pot evalua în Consola de depanare; orice depanare pe care o puteți face, o pot face și ei și o pot controla.
Depanarea poate fi lansată și de către participanți. Fii implicit, totuși, VS Code nu permite pornirea depanatorului de la distanță. Pentru a activa acest lucru, adăugați următoarea linie în fișierul Setări utilizator Ctrl/Cmd + , :

"liveshare.allowGuestDebugControl": true
Partajați terminalul dvs
O mare parte din munca pe care o facem ca dezvoltatori nu se află în codul nostru; este in terminal. În unele zile se pare că petrec aproximativ la fel de mult timp pe terminalul meu ca și în editorul meu. Aceasta înseamnă că, dacă aveți o eroare pe terminalul dvs. sau trebuie să introduceți o comandă, ar fi bine ca participanții dvs. la VS Live Share să vă vadă terminalul în plus față de cod.
VS Code are un terminal integrat și îl puteți partaja cu VS Live Share.

Când faceți acest lucru, aveți posibilitatea de a vă partaja terminalul ca doar citire sau ca citire-scriere.

În mod implicit, ar trebui să vă partajați terminalul ca doar citire. Când partajați terminalul citire-scriere, utilizatorul poate executa comenzi arbitrare direct pe terminalul dumneavoastră. Lăsați asta să intre pentru o clipă. Asta e greu.
Este de la sine înțeles că a avea acces de scriere la distanță la terminalul cuiva vine cu multă încredere și responsabilitate. Ar trebui să împărtășiți terminalul citire-scriere numai cu persoane în care aveți încredere implicit. Foștii înstrăinați probabil nu sunt de pe masă.
Partajarea în siguranță a terminalului dvs. numai în citire permite persoanei de la celălalt capăt al liniei să vadă ceea ce introduceți și rezultatul terminalului dvs. în timp real, dar îi împiedică să introducă ceva în acel terminal.
Dacă vă aflați într-un scenariu în care ar fi mai rapid pentru cealaltă persoană să ajungă doar la terminalul dvs. în loc să încercați să vă ghideze printr-o comandă ciudată cu o mulțime de steaguri, puteți partaja terminalul citire-scriere. În acest mod, cealaltă persoană are acces complet de la distanță la terminalul dvs. Alege-ți prietenii cu înțelepciune.
Distribuiți gazda dvs. locală
În videoclipul de mai sus, comanda terminalului se termină cu un link către un site care rulează pe https://localhost:8080. Cu VS Live Share, puteți partaja acea gazdă locală, astfel încât cealaltă persoană să o poată accesa așa cum ar fi propria gazdă locală.
Dacă rulați o sesiune de depanare partajată, atunci când participantul atinge acea adresă URL a gazdei locale la capătul său, se va întrerupe pentru amândoi dacă este atins un punct de întrerupere. Și mai bine, puteți partaja orice proces TCP. Asta înseamnă că poți partaja ceva precum o bază de date sau un cache Redis. De exemplu, puteți partaja serverul local Mongo DB. Serios! Aceasta înseamnă că nu mai trebuie să schimbați fișierele de configurare sau să încercați să obțineți o bază de date partajată. Doar partajați portul pentru instanța locală Mongo DB.
Partajați fișierele potrivite în modul corect
Uneori nu doriți ca colaboratorii să vadă anumite fișiere. Există probabil chei private și parole în proiectul dvs. care nu sunt verificate în controlul sursei și nu sunt potrivite pentru vizionare publică. În acest caz, ați dori să ascundeți acele fișiere de la oricine care participă la sesiunea dvs. Live Share.
În mod implicit, VS Live Share va ascunde orice fișier care este specificat în .gitignore
. Dacă există un fișier pe care doriți să-l ascundeți, adăugați-l la .gitignore
. Rețineți totuși că acest lucru ascunde doar fișierul în vizualizarea proiectului. Dacă vă aflați într-o sesiune de depanare partajată și pășiți într-un fișier care se află în .gitignore
, acesta este încă încărcat în editor și colaboratorii dvs. îl vor putea vedea.
Puteți obține un control mai precis asupra modului în care partajați fișiere prin crearea unui fișier .vsls.json
.
De exemplu, dacă doriți să vă asigurați că orice fișiere care se află în .gitignore
nu sunt niciodată vizibile, chiar și în timpul depanării, puteți seta proprietatea gitignore
să exclude
.
{ "$schema": "https://json.schemastore.org/vsls", "gitignore":"exclude" }
De asemenea, puteți afișa totul în .gitignore
și vizibilitatea fișierului de control direct din fișierul .vsls.json
. Pentru a face asta, setați gitignore
la none
și apoi utilizați proprietățile excludeFiles
și hideFiles
. Amintiți-vă — exclude înseamnă niciodată vizibil, iar ascunde înseamnă „nu este vizibil în exploratorul de fișiere”.
{ "$schema": "https://json.schemastore.org/vsls", "gitignore":"none", "excludeFiles":[ "*.env" ], "hideFiles": [ "dist" ] }
Partajare și extensii
O parte a atractiei VS Code pentru o mulțime de dezvoltatori este piața masivă de extensii. Majoritatea oamenilor vor avea mai mult de câteva instalate. Este important să înțelegeți cum vor funcționa sau nu vor funcționa extensiile în contextul VS Live Share.
VS Live Share va sincroniza orice este specific contextului proiectului pe care îl partajați. De exemplu, dacă aveți extensia Vetur instalată deoarece lucrați cu un proiect Vue, aceasta va fi partajată tuturor participanților – indiferent dacă o au sau nu instalată. Același lucru este valabil și pentru alte lucruri specifice contextului, cum ar fi linters, formatatoare, depanatoare și servicii lingvistice.
VS Live Share nu sincronizează extensiile care sunt specifice utilizatorului. Acestea ar fi lucruri precum teme, pictograme, legături de la tastatură și așa mai departe. Ca regulă generală, VS Live Share vă împărtășește contextul, nu ecranul. Puteți consulta articolul oficial din documentele despre acest subiect pentru o explicație mai detaliată a extensiilor la care vă puteți aștepta să fie partajate.
Comunică în timp ce colaborezi
Unul dintre primele lucruri pe care le fac oamenii în experiența lor inaugurală VS Live Share este să încerce să comunice introducând comentarii de cod. Acesta pare a scrie (înțelegi?) lucru de făcut, dar nu chiar cum a fost conceput pentru a fi utilizat VS Live Share.
VS Live Share nu este menit să înlocuiască clientul de chat ales. Probabil că aveți deja un mecanism de chat preferat, iar VS Live Share presupune că veți continua să îl utilizați.
Dacă utilizați deja Slack, există o extensie VS Code numită Slack Chat. Această extensie este încă puțin timpurie în dezvoltarea sa, dar pare destul de promițătoare. Pune VS Code în modul split și încorporează Slack în partea dreaptă. Și mai bine, puteți începe o sesiune Live Share direct din chat-ul Slack.

Un alt instrument care pare destul de interesant se numește CodeStream.
CodeStream
În timp ce VS Live Share încearcă să îmbunătățească colaborarea din partea editorului, CodeStream își propune să rezolve aceeași problemă din perspectiva chatului.
Extensia CodeStream vă permite să discutați direct în VS Code, iar acele chaturi devin parte din istoricul codului dvs. Puteți evidenția o bucată de cod de discutat și va intra direct în chat, astfel încât să existe context pentru comentariile dvs. Aceste comentarii sunt apoi salvate ca parte a depozitului dumneavoastră Git. De asemenea, ele apar în codul dvs. ca mici pictograme de comentarii, iar aceste comentarii vor apărea indiferent de ramura în care vă aflați.
Când vine vorba de VS Live Share, CodeStream oferă un set gratuit de funcții. Puteți începe sesiuni noi direct din panoul de chat, precum și făcând clic pe un avatar. Noile sesiuni creează automat un canal de chat corespunzător pe care îl puteți persista cu codul sau îl puteți elimina când ați terminat.
Dacă conversația nu este suficientă pentru a duce treaba la bun sfârșit și trebuie să colaborezi ca și cum ar fi 1999, ajutorul este la doar un telefon distanță.
VS Live Share Audio
Deși VS Live Share nu încearcă să reinventeze chat-ul, îți reinventează telefonul. Cam.
Cu extensia VS Live Share Audio, puteți apela direct pe cineva și puteți discuta vocal din VS Code.

Cealaltă persoană va primi apoi o solicitare să se alăture apelului dvs.

Veți vedea o pictogramă difuzor în bara de stare de jos atunci când sunteți conectat la un apel. Puteți face clic pe difuzorul respectiv pentru a vă schimba dispozitivul audio, pentru a vă opri sunetul sau pentru a vă deconecta de la apel.

Ultimul sfat pe care ți-l dau este probabil cel mai important și nu este o caracteristică elegantă sau o setare obscure despre care nu știai că există.
Schimbați-vă memoria musculară
Avem ani de comportament învățat când vine vorba de a obține ajutor sau de a ne partaja codul. Starea instrumentelor de colaborare pentru dezvoltatori a fost atât de proastă de atâta timp încât suntem condiționați să lipim codul în Slack, să începem apeluri Skype incomode care constau în principal în „spune-mi când îmi poți vedea ecranul” sau să ne înghesuim în jurul unui monitor și să arătăm. excesiv, adică stilul fotografiei de stoc.

Cel mai important lucru pe care îl puteți face pentru a profita la maximum de VS Live Share este să utilizați efectiv VS Live Share. Și va trebui să fie un efort „conștient”.
Creierul tău este bun la tipare. Recunoașteți și clasificați în mod constant lumea din jurul vostru pe baza tiparelor pe care le-ați identificat și sunteți atât de bun la asta, încât nici nu vă dați seama că o faceți. Apoi dezvoltați răspunsuri implicite la aceste modele. Îți formezi instincte. Acesta este motivul pentru care veți utiliza vechile moduri de colaborare fără să vă gândiți măcar la ceea ce faceți. Înainte să vă dați seama, veți participa la un apel Skype cu cineva care vă partajează ecranul - chiar dacă aveți Live Share instalat.
Am scris multe despre VS Code și oamenii mă vor întreba din când în când cum pot deveni mai productivi cu editorul lor. Întotdeauna spun același lucru: data viitoare când vei ajunge la mouse pentru a face ceva, oprește-te. Poți să faci asta cu tastatura? Probabil că poți. Căutați comanda rapidă și apoi folosiți-o. La început va fi mai lent, dar dacă sunteți dispus să adoptați în mod deliberat un alt comportament, veți fi uimit de cât de repede va fi creierul dvs. implicit la modul mai productiv de a face ceva.
Același lucru este valabil și pentru Live Share. Veți fi la un apel care vă va partaja ecranul atunci când vi se va gândi că ați putea folosi Live Share. În acel moment, opriți-vă; faceți clic pe butonul „Partajare” din partea de jos a VS Code.
Da, este posibil ca persoana de la celălalt capăt să nu aibă extensia instalată. Da, poate dura un moment pentru a-l configura. Dar dacă lucrezi la stabilirea acestui comportament acum, data viitoare când vei face asta, va „pur și simplu să funcționeze” și nu va trece mult până când nici nu trebuie să te gândești la el și, în acel moment, vei va fi atins în sfârșit acel nivel de colaborare „Hippopotam anonim”.
Mai multe resurse
- Pachetul de extensii VS Live Share
- VS Code Live Share Docs
- Extensii și suport pentru ecosistem
- Noțiuni introductive cu VS Live Share