Visual Studio Live Share może to zrobić?
Opublikowany: 2022-03-10Kilka miesięcy temu firma Microsoft udostępniła bezpłatną usługę Visual Studio (VS) Live Share. VS Live Share to współpraca na poziomie Dokumentów Google dla kodu. Wielu programistów może współpracować nad tym samym plikiem w tym samym czasie bez opuszczania własnego edytora.
Po wydaniu Live Share zdałem sobie sprawę, że wielu z nas zrezygnowało z izolacji w naszym kodzie i nawet nie zdajemy sobie sprawy, że istnieją lepsze sposoby pracy z usługą taką jak VS Live Share. Dzieje się tak częściowo dlatego, że tkwimy w starych nawykach, a częściowo dlatego, że po prostu nie jesteśmy świadomi tego, co może zrobić VS Live Share. W tej ostatniej części mogę pomóc!
W tym artykule omówimy funkcje i najlepsze praktyki dotyczące VS Live Share, dzięki którym współpraca programistów jest tak łatwa, jak bycie „anonimowym hipopotamem”.
Udostępnij swój kod
Live Share jest rozszerzeniem zarówno dla Visual Studio, jak i Visual Studio Code (VS Code). W tym artykule skupimy się na VS Code.
Możesz go również zainstalować za pomocą pakietu VS Live Share Extension Pack, który zawiera następujące rozszerzenia, z których wszystkie omówimy w tym artykule…
- Udostępnianie na żywo VS
- VS Live Share Audio
- Rozszerzenie czatu Slack
Po zainstalowaniu rozszerzenia musisz zalogować się do usługi VS Live Share. Możesz to zrobić, otwierając paletę poleceń Ctrl / Cmd + Shift + P i wybierając „Zaloguj się za pomocą przeglądarki”. Jeśli nie zalogujesz się i spróbujesz rozpocząć nową sesję udostępniania, zostaniesz poproszony o zalogowanie się w tym czasie.
Istnieje kilka sposobów na rozpoczęcie sesji VS Live Share. Możesz to zrobić z palety poleceń, możesz kliknąć przycisk "Udostępnij" na dolnym pasku narzędzi lub możesz użyć widoku eksploratora VS Live Share na pasku bocznym.
Link zostanie skopiowany do schowka. Następnie możesz wysłać to łącze innym osobom, które będą mogły dołączyć do Twojej sesji udostępniania na żywo — pod warunkiem, że również korzystają z VS Code. Co, czyż nie wszyscy?
Teraz możesz współpracować tak, jak nad zwykłym, starym dokumentem programu Word:
Druga osoba może nie tylko zobaczyć Twój kod, ale może go edytować, zapisać, wykonać, a nawet debugować. Dla ciebie pojawiają się jako kursor z nazwą na nim. Pojawiasz się w ich edytorze w ten sam sposób.
Eksplorator VS Live Share
Eksplorator VS Live Share pojawia się jako nowa ikona na pasku akcji — czyli na pasku ikon po prawej stronie mojego ekranu (po lewej stronie, gdzie znajduje się domyślne umieszczenie paska akcji). Jest to rodzaj „punktu zerowego” dla wszystkiego, co VS Live Share. Stąd możesz rozpoczynać sesje, kończyć je, udostępniać terminale, serwery i sprawdzać, kto jest podłączony.
Dobrym pomysłem jest powiązanie skrótu klawiaturowego z tym widokiem VS Live Share Explorer, aby móc szybko przełączać się między nim a plikami. Możesz to zrobić, naciskając Ctrl/Cmd + K (lub Ctrl/Cmd + S ), a następnie wyszukując „Pokaż udostępnianie na żywo”. Powiązałem mój z Ctrl/Cmd + L , który nie wydaje się być powiązany z niczym innym. Uważam, że ten skrót jest intuicyjny ( L dla Live Share) i łatwy do naciśnięcia na klawiaturze.
Udostępnij kod tylko do odczytu
Gdy rozpoczniesz nową sesję udostępniania, zostaniesz o tym powiadomiony i zapytany, czy chcesz udostępnić swój obszar roboczy tylko do odczytu. Jeśli wybierzesz tylko do odczytu, ludzie będą mogli zobaczyć Twój kod i śledzić Twoje ruchy, ale nie będą mogli wchodzić w interakcje.
Ten tryb jest przydatny, gdy dzielisz się z kimś, komu niekoniecznie ufasz — na przykład sprzedawcą, partnerem lub dawnym byłym.
Jest to również szczególnie przydatne dla instruktorów. Zwróć uwagę, że w chwili pisania tego tekstu VS Live Share jest zablokowane dla 5 równoczesnych użytkowników. Ponieważ prawdopodobnie będziesz chciał czegoś więcej w trybie tylko do odczytu, zwłaszcza jeśli uczysz grupę, możesz zwiększyć limit do 30, dodając następujący wiersz do pliku ustawień użytkownika: Ctrl/Cmd + , .
"liveshare.features": "experimental"
Zmień domyślne zachowanie łączenia
Każdy, kto ma link, może dołączyć do Twojej sesji udostępniania na żywo. Gdy dołączą, zobaczysz wyskakujące okienko z informacją. Podobnie, gdy się rozłączą, otrzymasz powiadomienie. Jest to domyślne zachowanie usługi VS Live Share.
Dobrym pomysłem jest zmiana tego, aby trzeba było ręcznie zatwierdzić kogoś, zanim będzie mógł dołączyć do Twojej sesji. Ma to na celu ochronę w przypadku, gdy pójdziesz na lunch i zapomnisz o rozłączeniu sesji. Twoi współpracownicy nie mogą się ponownie zalogować, zmienić jednej litery w ciągu połączenia z bazą danych, a następnie śmiać się, gdy przez następne cztery godziny próbujesz dowiedzieć się, jak twoje życie poszło tak strasznie źle.
Aby to umożliwić, dodaj następujący wiersz do pliku ustawień użytkownika Ctrl/Cmd + , .
"liveshare.guestApprovalRequired": true
Teraz zostaniesz poproszony, gdy ktoś będzie chciał dołączyć. Jeśli kogoś zablokujesz, zostanie on zablokowany na czas trwania sesji. Jeśli spróbują dołączyć ponownie, nie otrzymasz powiadomienia i zostaną bezceremonialnie odrzuceni przez VS Live Share.
Idź i ciesz się lunchem. Twój komputer jest bezpieczny.
Skup się na obserwujących
Domyślnie każdy, kto dołącza do Twojej sesji Live Share, „śledzi” Ciebie. Oznacza to, że ich edytor załaduje dowolny plik, w którym się znajdujesz i będzie przewijał za każdym razem, gdy przewijasz. Nawet jeśli zmienisz pliki, uczestnicy zobaczą dokładnie to, co Ty.
W momencie, w którym dana osoba wprowadza zmiany w pliku, już Cię nie obserwuje. Więc jeśli oboje pracujecie razem nad plikiem, a potem przejdziecie do innego pliku, nie pójdą automatycznie z wami. Może to prowadzić do wielu nieporozumień, gdy mówisz o kodzie w pliku, w którym się znajdujesz, podczas gdy druga osoba patrzy na coś zupełnie innego.
Oprócz tego, że po prostu mówisz sobie, gdzie jesteś (co działa, btw), jest przydatne polecenie o nazwie „Skup się uczestników”, które znajduje się w palecie poleceń Ctrl/Cmd + Shift + P .
Możesz również uzyskać do niego dostęp jako ikonę w widoku VS Live Share Explorer.
To skupi uczestników na następnej rzeczy, którą klikniesz lub do której przejdziesz. Domyślnie żądania fokusu VS Live Share są akceptowane niejawnie. Jeśli nie chcesz, aby ludzie mogli Cię skoncentrować, możesz dodać następujący wiersz do pliku ustawień użytkownika.
"liveshare.focusBehavior": "prompt"
Pamiętaj też, że możesz śledzić uczestników. Jeśli klikniesz ich nazwę w widoku VS Live Share Explorer, zaczniesz ich śledzić.
Ponieważ obserwowanie jest wyłączane, gdy tylko druga osoba zaczyna edytować kod, może być trudno dokładnie określić, kiedy ludzie Cię śledzą, a kiedy nie. Jednym z miejsc, w których możesz zajrzeć, jest widok Eksploratora VS Live Share. Poinformuje Cię o pliku, w którym znajduje się dana osoba, ale nie o tym, czy Cię obserwuje.
Dobrą praktyką jest po prostu pamiętać, że koncentracja zawsze się zmienia, więc ludzie mogą, ale nie muszą, widzieć to, co Ty widzisz w danym momencie.
Debuguj jako zespół
Uczestnicy mogą udostępniać dowolne sesje debugowania, które prowadzisz. Jeśli rozpoczniesz sesję debugowania, uzyskają dokładnie takie same wrażenia, jak Ty. Jeśli zepsuje się po Twojej stronie, zepsuje się po ich stronie, a oni otrzymają pełny widok debugowania do całego kodu.
Mogą wchodzić, wychodzić, uzupełniać, dodawać zegarki, oceniać w konsoli debugowania; każde debugowanie, które możesz wykonać, oni też mogą to zrobić i mogą to kontrolować.
Debugowanie mogą być również uruchamiane przez uczestników. Pamiętaj jednak, że program VS Code nie pozwala na zdalne uruchamianie debugera. Aby to włączyć, dodaj następujący wiersz do pliku ustawień użytkownika Ctrl/Cmd + , :
"liveshare.allowGuestDebugControl": true
Udostępnij swój terminal
Wiele pracy, którą wykonujemy jako programiści, nie znajduje się w naszym kodzie; jest w terminalu. Czasami wydaje mi się, że spędzam na terminalu tyle samo czasu, co w edytorze. Oznacza to, że jeśli masz błąd na swoim terminalu lub musisz wpisać jakieś polecenie, byłoby miło, gdyby uczestnicy VS Live Share mogli zobaczyć Twój terminal oprócz kodu.
VS Code ma zintegrowany terminal i możesz go udostępniać za pomocą VS Live Share.
Gdy to zrobisz, masz możliwość udostępnienia swojego terminala jako tylko do odczytu lub do odczytu i zapisu.
Domyślnie powinieneś udostępniać swój terminal jako tylko do odczytu. Kiedy udostępniasz terminal do odczytu i zapisu, użytkownik może wykonywać dowolne polecenia bezpośrednio na terminalu. Niech to zapadnie na chwilę. To jest ciężkie.
Nie trzeba dodawać, że posiadanie zdalnego dostępu do zapisu na czyimś terminalu wiąże się z dużym zaufaniem i odpowiedzialnością. Powinieneś udostępniać swój terminal tylko do odczytu i zapisu osobom, którym ufasz bezwarunkowo. Byli w separacji są prawdopodobnie poza stołem.
Bezpieczne udostępnianie terminala tylko do odczytu pozwala osobie po drugiej stronie linii zobaczyć, co piszesz i dane wyjściowe terminala w czasie rzeczywistym, ale ogranicza jej możliwość wpisywania czegokolwiek do tego terminala.
Jeśli znajdziesz się w scenariuszu, w którym druga osoba szybciej dostanie się do twojego terminala, zamiast próbować przeprowadzić cię przez jakieś zwariowane polecenie z mnóstwem flag, możesz udostępnić swój terminal do odczytu i zapisu. W tym trybie druga osoba ma pełny zdalny dostęp do Twojego terminala. Mądrze dobieraj przyjaciół.
Udostępnij swojego hosta lokalnego
W powyższym filmie polecenie terminala kończy się linkiem do witryny działającej pod adresem https://localhost:8080. Dzięki usłudze VS Live Share możesz udostępnić ten host lokalny, aby inna osoba mogła uzyskać do niego dostęp tak, jakby był to jej własny host lokalny.
Jeśli prowadzisz wspólną sesję debugowania, gdy uczestnik trafi na adres URL hosta lokalnego na swoim końcu, przerwa zostanie przerwana dla was obojga, jeśli zostanie trafiony punkt przerwania. Co więcej, możesz udostępnić dowolny proces TCP. Oznacza to, że możesz udostępnić coś takiego jak baza danych lub pamięć podręczna Redis. Na przykład możesz udostępnić swój lokalny serwer Mongo DB. Na serio! Oznacza to koniec zmiany plików konfiguracyjnych lub próby uruchomienia współdzielonej bazy danych. Po prostu udostępnij port dla lokalnej instancji Mongo DB.
Udostępniaj właściwe pliki we właściwy sposób
Czasami nie chcesz, aby współpracownicy widzieli określone pliki. Prawdopodobnie w Twoim projekcie znajdują się prywatne klucze i hasła, które nie są sprawdzane w kontroli źródła i nie nadają się do publicznego przeglądania. W takim przypadku warto ukryć te pliki przed wszystkimi osobami uczestniczącymi w sesji udostępniania na żywo.
Domyślnie VS Live Share ukryje każdy plik określony w .gitignore
. Jeśli istnieje plik, który chcesz ukryć, po prostu dodaj go do swojego .gitignore
. Zauważ jednak, że to tylko ukrywa plik w widoku projektu. Jeśli jesteś we wspólnej sesji debugowania i przejdziesz do pliku znajdującego się w .gitignore
, jest on nadal załadowany do edytora i Twoi współpracownicy będą mogli go zobaczyć.
Możesz uzyskać bardziej szczegółową kontrolę nad sposobem udostępniania plików, tworząc plik .vsls.json
.
Na przykład, jeśli chcesz się upewnić, że wszystkie pliki znajdujące się w .gitignore
nigdy nie są widoczne, nawet podczas debugowania, możesz ustawić właściwość gitignore
na exclude
.
{ "$schema": "https://json.schemastore.org/vsls", "gitignore":"exclude" }
Podobnie możesz pokazać wszystko w swoim .gitignore
i kontrolować widoczność pliku bezpośrednio z pliku .vsls.json
. Aby to zrobić, ustaw gitignore
na none
, a następnie użyj właściwości excludeFiles
i hideFiles
. Pamiętaj — wykluczenie oznacza nigdy niewidoczne, a ukrywanie oznacza „niewidoczne w eksploratorze plików”.
{ "$schema": "https://json.schemastore.org/vsls", "gitignore":"none", "excludeFiles":[ "*.env" ], "hideFiles": [ "dist" ] }
Udostępnianie i rozszerzenia
Częścią atrakcyjności VS Code dla wielu programistów jest ogromny rynek rozszerzeń. Większość ludzi ma zainstalowanych więcej niż kilka. Ważne jest, aby zrozumieć, jak rozszerzenia będą działać lub nie działać w kontekście VS Live Share.
VS Live Share zsynchronizuje wszystko, co jest specyficzne dla kontekstu udostępnianego projektu. Na przykład, jeśli masz zainstalowane rozszerzenie Vetur, ponieważ pracujesz z projektem Vue, zostanie ono udostępnione wszystkim uczestnikom — niezależnie od tego, czy oni również je zainstalowali. To samo dotyczy innych rzeczy specyficznych dla kontekstu, takich jak linter, formatery, debugery i usługi językowe.
VS Live Share nie synchronizuje rozszerzeń, które są specyficzne dla użytkownika. Były to takie rzeczy, jak motywy, ikony, powiązania klawiatury i tak dalej. Zgodnie z ogólną zasadą VS Live Share udostępnia Twój kontekst, a nie ekran. Możesz zapoznać się z oficjalnym artykułem w dokumentach na ten temat, aby uzyskać bardziej szczegółowe wyjaśnienie, jakich rozszerzeń możesz się spodziewać.
Komunikuj się podczas współpracy
Jedną z pierwszych rzeczy, które ludzie robią podczas inauguracyjnego korzystania z usługi VS Live Share, jest próba komunikowania się poprzez wpisywanie komentarzy do kodu. Wygląda na to, że należy pisać (rozumieć?), ale nie do końca, w jaki sposób zaprojektowano VS Live Share.
VS Live Share nie ma na celu zastąpienia wybranego klienta czatu. Prawdopodobnie masz już preferowany mechanizm czatu, a VS Live Share zakłada, że będziesz nadal z niego korzystać.
Jeśli już korzystasz ze Slacka, istnieje rozszerzenie VS Code o nazwie Slack Chat. To rozszerzenie jest jeszcze trochę na wczesnym etapie rozwoju, ale wygląda całkiem obiecująco. Przełącza VS Code w tryb podziału i osadza Slack po prawej stronie. Co więcej, możesz rozpocząć sesję Live Share bezpośrednio z czatu Slack.
Innym narzędziem, które wygląda całkiem interesująco, jest CodeStream.
CodeStream
Podczas gdy VS Live Share ma na celu poprawę współpracy z edytorem, CodeStream ma na celu rozwiązanie tego samego problemu z perspektywy czatu.
Rozszerzenie CodeStream umożliwia czatowanie bezpośrednio w programie VS Code, a te czaty stają się częścią historii kodu. Możesz podświetlić fragment kodu do omówienia, który trafia bezpośrednio do czatu, dzięki czemu istnieje kontekst dla twoich komentarzy. Te komentarze są następnie zapisywane jako część repozytorium Git. Pojawiają się one również w twoim kodzie jako małe ikony komentarzy, a te komentarze pojawią się niezależnie od gałęzi, w której się znajdujesz.
Jeśli chodzi o VS Live Share, CodeStream oferuje bezpłatny zestaw funkcji. Możesz rozpocząć nowe sesje bezpośrednio z okienka czatu, a także klikając awatar. Nowe sesje automatycznie tworzą odpowiedni kanał czatu, który możesz zachować z kodem lub usunąć, gdy skończysz.
Jeśli rozmowa na czacie nie wystarczy, aby wykonać zadanie, a musisz współpracować jak w 1999 r., wystarczy zadzwonić do pomocy.
VS Live Share Audio
Chociaż VS Live Share nie próbuje na nowo wymyślać czatu, to jednak na nowo wymyśla Twój telefon. Rodzaj.
Dzięki rozszerzeniu VS Live Share Audio możesz zadzwonić do kogoś bezpośrednio i prowadzić czat głosowy z poziomu VS Code.
Druga osoba otrzyma wówczas monit o dołączenie do rozmowy.
Po nawiązaniu połączenia zobaczysz ikonę głośnika na dolnym pasku stanu. Możesz kliknąć ten głośnik, aby zmienić urządzenie audio, wyciszyć się lub rozłączyć połączenie.
Ostatnia wskazówka, którą ci dam, jest prawdopodobnie najważniejsza i nie jest to wymyślna funkcja ani niejasne ustawienie, o którym istnieniu nie wiedziałeś.
Zmień swoją pamięć mięśniową
Mamy lata wyuczonego zachowania, jeśli chodzi o uzyskiwanie pomocy lub udostępnianie naszego kodu. Stan narzędzi do współpracy programistów był tak zły od tak dawna, że jesteśmy przyzwyczajeni do wklejania kodu do Slacka, rozpoczynania niezręcznych rozmów przez Skype, które składają się głównie z „powiedz mi, kiedy widzisz mój ekran” lub tłoku się wokół monitora i wskazywania nadmiernie, tj. styl zdjęć stockowych.
Najważniejszą rzeczą, jaką możesz zrobić, aby w pełni wykorzystać VS Live Share, jest faktyczne korzystanie z VS Live Share. I będzie to musiał być „świadomy” wysiłek.
Twój mózg jest dobry we wzorach. Ciągle rozpoznajesz i klasyfikujesz otaczający cię świat na podstawie zidentyfikowanych wzorców i jesteś w tym tak dobry, że nawet nie zdajesz sobie sprawy, że to robisz. Następnie opracowujesz domyślne odpowiedzi na te wzorce. Tworzysz instynkty. Dlatego domyślnie przejdziesz do starych sposobów współpracy, nawet nie myśląc o tym, co robisz. Zanim się zorientujesz, będziesz na rozmowie Skype z kimś, kto współdzieli Twój ekran — nawet jeśli masz zainstalowaną usługę Live Share.
Dużo pisałem o VS Code i ludzie od czasu do czasu pytają mnie, jak mogą zwiększyć produktywność dzięki swojemu edytorowi. Zawsze mówię to samo: następnym razem, gdy sięgniesz po myszkę, żeby coś zrobić, przestań. Czy możesz to zrobić za pomocą klawiatury? Prawdopodobnie możesz. Wyszukaj skrót, a następnie zmuś go do użycia. Na początku będzie wolniej, ale jeśli chcesz celowo przyjąć inne zachowanie, zdziwisz się, jak szybko twój mózg przestawi się na bardziej produktywny sposób robienia czegoś.
To samo dotyczy udostępniania na żywo. Będziesz w trakcie połączenia, udostępniając swój ekran, gdy okaże się, że możesz korzystać z funkcji Live Share. W tym momencie przestań; kliknij przycisk „Udostępnij” na dole VS Code.
Tak, osoba po drugiej stronie może nie mieć zainstalowanego rozszerzenia. Tak, konfiguracja może chwilę potrwać. Ale jeśli teraz będziesz pracować nad ustaleniem tego zachowania, następnym razem, gdy to zrobisz, to „po prostu zadziała” i nie minie dużo czasu, zanim nawet nie będziesz musiał o tym myśleć, a w tym momencie w końcu osiągnęli poziom współpracy „Anonymous Hippo”.
Więcej zasobów
- Pakiet rozszerzenia VS Live Share
- VS Code Live Share Docs
- Rozszerzenia i wsparcie ekosystemów
- Pierwsze kroki z VS Live Share