Kann Visual Studio Live Share das?
Veröffentlicht: 2022-03-10Vor einigen Monaten hat Microsoft seinen kostenlosen Visual Studio (VS) Live Share-Dienst veröffentlicht. VS Live Share ist eine Zusammenarbeit auf Google Docs-Ebene für Code. Mehrere Entwickler können gleichzeitig an derselben Datei zusammenarbeiten, ohne jemals ihren eigenen Editor zu verlassen.
Nach der Veröffentlichung von Live Share wurde mir klar, dass viele von uns sich damit abgefunden haben, in unserem Code isoliert zu sein, und uns nicht einmal bewusst ist, dass es bessere Möglichkeiten gibt, mit einem Dienst wie VS Live Share zu arbeiten. Das liegt zum Teil daran, dass wir in alten Gewohnheiten feststecken, und zum Teil daran, dass wir uns einfach nicht bewusst sind, was VS Live Share alles kann. Der letzte Teil, bei dem ich helfen kann!
In diesem Artikel gehen wir auf die Funktionen und Best Practices für VS Live Share ein, die die Zusammenarbeit von Entwicklern so einfach machen, als wäre man ein „anonymes Flusspferd“.

Teilen Sie Ihren Code
Live Share ist eine Erweiterung für Visual Studio und Visual Studio Code (VS Code). In diesem Artikel konzentrieren wir uns auf VS Code.

Sie können es auch über das VS Live Share Extension Pack installieren, das die folgenden Erweiterungen enthält, die wir alle in diesem Artikel behandeln werden…
- VS Live-Freigabe
- VS Live Share Audio
- Slack-Chat-Erweiterung
Sobald die Erweiterung installiert ist, müssen Sie sich beim VS Live Share-Dienst anmelden. Sie können dies tun, indem Sie die Befehlspalette mit Strg/Befehlstaste + Umschalttaste + P öffnen und „Mit Browser anmelden“ auswählen. Wenn Sie sich nicht anmelden und versuchen, eine neue Freigabesitzung zu starten, werden Sie zu diesem Zeitpunkt aufgefordert, sich anzumelden.

Es gibt mehrere Möglichkeiten, eine VS Live Share-Sitzung zu starten. Sie können dies über die Befehlspalette tun, Sie können auf die Schaltfläche „Teilen“ in der unteren Symbolleiste klicken oder die Explorer-Ansicht von VS Live Share in der Seitenleiste verwenden.

Ein Link wird in Ihre Zwischenablage kopiert. Sie können diesen Link dann an andere senden, und diese können an Ihrer Live Share-Sitzung teilnehmen – vorausgesetzt, sie verwenden ebenfalls VS Code. Welche, sind wir das nicht alle?
Jetzt können Sie zusammenarbeiten, als würden Sie an einem normalen alten Word-Dokument arbeiten:
Die andere Person kann Ihren Code nicht nur sehen, sondern auch bearbeiten, speichern, ausführen und sogar debuggen. Für Sie erscheinen sie als Cursor mit einem Namen darauf. Sie werden in ihrem Editor auf die gleiche Weise angezeigt.
Der VS Live Share-Explorer
Der VS Live Share-Explorer wird als neues Symbol in der Aktionsleiste angezeigt – das ist die Leiste mit Symbolen ganz rechts auf meinem Bildschirm (ganz links von Ihnen für die Standardplatzierung der Aktionsleiste). Dies ist eine Art „Ground Zero“ für alles VS Live Share. Von hier aus können Sie Sitzungen starten und beenden, Terminals und Server freigeben und sehen, wer verbunden ist.

Es ist eine gute Idee, eine Tastenkombination an diese VS Live Share Explorer-Ansicht zu binden, damit Sie schnell zwischen dieser und Ihren Dateien wechseln können. Sie können dies tun, indem Sie Strg/Cmd + K (oder Strg/Cmd + S ) drücken und dann nach „Show Live Share“ suchen. Ich habe meine an Ctrl/Cmd + L gebunden, was anscheinend an nichts anderes gebunden ist. Ich finde diese Tastenkombination intuitiv ( L für Live Share) und einfach auf der Tastatur zu treffen.

Teilen Sie Code schreibgeschützt
Wenn Sie eine neue Freigabesitzung starten, werden Sie entsprechend benachrichtigt und gefragt, ob Sie Ihren Arbeitsbereich schreibgeschützt freigeben möchten. Wenn Sie schreibgeschützt auswählen, können Personen Ihren Code sehen und Ihren Bewegungen folgen, aber sie können nicht interagieren.

Dieser Modus ist nützlich, wenn Sie mit jemandem teilen, dem Sie nicht unbedingt vertrauen – vielleicht einem Verkäufer, Partner oder einem entfremdeten Ex.
Es ist auch besonders nützlich für Ausbilder. Beachten Sie, dass zum Zeitpunkt der Erstellung dieses Artikels VS Live Share für 5 gleichzeitige Benutzer gesperrt ist. Da Sie im schreibgeschützten Modus wahrscheinlich mehr als das wollen werden, insbesondere wenn Sie eine Gruppe unterrichten, können Sie das Limit auf 30 erhöhen, indem Sie die folgende Zeile zu Ihrer Benutzereinstellungsdatei hinzufügen: Strg/Befehl + , .
"liveshare.features": "experimental"
Ändern Sie das standardmäßige Join-Verhalten
Jeder, der über den Link verfügt, kann an Ihrer Live Share-Sitzung teilnehmen. Wenn sie beitreten, sehen Sie ein Pop-up, das Sie darüber informiert. Ebenso werden Sie benachrichtigt, wenn sie die Verbindung trennen. Dies ist das Standardverhalten für VS Live Share.

Es ist eine gute Idee, dies so zu ändern, dass Sie jemanden manuell genehmigen müssen, bevor er Ihrer Sitzung beitreten kann. Dies soll Sie schützen, falls Sie zum Mittagessen gehen und vergessen, Ihre Sitzung zu trennen. Ihre Kollegen können sich nicht wieder anmelden, einen Buchstaben in Ihrer Datenbank-Verbindungszeichenfolge ändern und dann lachen, während Sie die nächsten vier Stunden damit verbringen, herauszufinden, wie Ihr Leben so schrecklich schief gelaufen ist.
Um dies zu aktivieren, fügen Sie Ihrer Benutzereinstellungsdatei die folgende Zeile hinzu Strg/Befehl + , .
"liveshare.guestApprovalRequired": true
Jetzt werden Sie aufgefordert, wenn jemand beitreten möchte. Wenn Sie jemanden blockieren, wird er für die Dauer der Sitzung blockiert. Wenn sie erneut versuchen, beizutreten, werden Sie nicht benachrichtigt und sie werden von VS Live Share kurzerhand abgelehnt.
Gehen Sie und genießen Sie Ihr Mittagessen. Ihr Computer ist sicher.
Konzentrieren Sie sich auf Follower
Standardmäßig „folgt“ Ihnen jeder, der an Ihrer Live Share-Sitzung teilnimmt. Das bedeutet, dass ihr Editor jede Datei lädt, in der Sie sich befinden, und scrollt, wenn Sie scrollen. Selbst wenn Sie Dateien wechseln, sehen die Teilnehmer genau das, was Sie sehen.
Sobald eine Person Änderungen an einer Datei vornimmt, folgt sie Ihnen nicht mehr. Wenn Sie also beide zusammen an einer Datei arbeiten und dann zu einer anderen Datei wechseln, werden sie nicht automatisch mit Ihnen gehen. Das kann zu viel Verwirrung führen, wenn Sie über Code in der Datei sprechen, in der Sie sich befinden, während die andere Person etwas ganz anderes betrachtet.
Abgesehen davon, dass Sie sich nur gegenseitig sagen, wo Sie sich befinden (was übrigens funktioniert), gibt es einen praktischen Befehl namens „Teilnehmer fokussieren“, der sich in der Befehlspalette Strg/ Befehl + Umschalt + P befindet.

Sie können auch als Symbol in der VS Live Share Explorer-Ansicht darauf zugreifen.

Dadurch konzentrieren sich Ihre Teilnehmer auf das nächste Element, auf das Sie klicken oder zu dem Sie scrollen. Standardmäßig werden VS Live Share-Fokusanfragen implizit akzeptiert. Wenn Sie nicht möchten, dass andere Sie fokussieren können, können Sie die folgende Zeile zu Ihrer Benutzereinstellungsdatei hinzufügen.
"liveshare.focusBehavior": "prompt"
Beachten Sie auch, dass Sie Teilnehmern folgen können. Wenn Sie in der VS Live Share Explorer-Ansicht auf ihren Namen klicken, beginnen Sie, ihnen zu folgen.
Da das Folgen deaktiviert wird, sobald die andere Person beginnt, Code zu bearbeiten, kann es schwierig sein, genau zu wissen, wann Ihnen Personen folgen und wann nicht. Ein Ort, an dem Sie nachsehen können, ist die VS Live Share Explorer-Ansicht. Es wird Ihnen die Datei mitteilen, in der sich eine Person befindet, aber nicht, ob sie Ihnen folgt oder nicht.
Eine gute Praxis ist, sich daran zu erinnern, dass sich der Fokus ständig ändert, sodass die Leute möglicherweise sehen oder nicht, was Sie zu einem bestimmten Zeitpunkt sehen.
Debuggen als Team
Die Teilnehmer können alle Debug-Sitzungen teilen, die Sie ausführen. Wenn Sie eine Debug-Sitzung starten, erhalten sie genau die gleiche Erfahrung wie Sie. Wenn es auf Ihrer Seite kaputt geht, geht es auch auf ihrer Seite kaputt, und sie erhalten die vollständige Debug-Ansicht in Ihren gesamten Code.
Sie können einsteigen, aussteigen, übergehen, Überwachungen hinzufügen und in der Debug-Konsole auswerten; jedes Debugging, das Sie tun können, können sie auch tun, und sie können es kontrollieren.
Debugging kann auch von Teilnehmern gestartet werden. Standardmäßig lässt VS Code jedoch nicht zu, dass Ihr Debugger remote gestartet wird. Um dies zu aktivieren, fügen Sie die folgende Zeile zu Ihrer Benutzereinstellungsdatei hinzu Strg/Cmd + , :
"liveshare.allowGuestDebugControl": true
Teilen Sie Ihr Terminal
Ein Großteil der Arbeit, die wir als Entwickler leisten, liegt nicht in unserem Code; es ist im Terminal. An manchen Tagen scheint es, als verbringe ich ungefähr so viel Zeit auf meinem Terminal wie in meinem Editor. Das heißt, wenn Sie einen Fehler auf Ihrem Terminal haben oder einen Befehl eingeben müssen, wäre es schön, wenn Ihre Teilnehmer in VS Live Share Ihr Terminal zusätzlich zu Ihrem Code sehen könnten.

VS Code hat ein integriertes Terminal und Sie können es mit VS Live Share teilen.

Wenn Sie dies tun, haben Sie die Möglichkeit, Ihr Terminal als schreibgeschützt oder als Lese-/Schreibzugriff freizugeben.

Standardmäßig sollten Sie Ihr Terminal als schreibgeschützt freigeben. Wenn Sie Ihr Terminal mit Lese- und Schreibzugriff freigeben, kann der Benutzer beliebige Befehle direkt auf Ihrem Terminal ausführen. Lassen Sie das einen Moment auf sich wirken. Das ist schwer.
Es versteht sich von selbst, dass der Schreibzugriff auf das Terminal einer anderen Person mit viel Vertrauen und Verantwortung verbunden ist. Sie sollten Ihr Terminal mit Lese- und Schreibzugriff immer nur mit Personen teilen, denen Sie uneingeschränkt vertrauen. Entfremdete Ex-Freunde sind wahrscheinlich vom Tisch.
Wenn Sie Ihr Terminal schreibgeschützt freigeben, kann die Person am anderen Ende der Leitung in Echtzeit sehen, was Sie eingeben, und Ihre Terminalausgabe, sie wird jedoch daran gehindert, etwas in dieses Terminal einzugeben.
Sollten Sie sich in einem Szenario befinden, in dem es für die andere Person schneller wäre, einfach an Ihr Terminal zu gelangen, anstatt zu versuchen, Sie durch einen verrückten Befehl mit einer Menge Flags zu führen, können Sie Ihr Terminal mit Lese- und Schreibzugriff teilen. In diesem Modus hat die andere Person vollen Fernzugriff auf Ihr Endgerät. Wähle deine Freunde mit Bedacht aus.
Teilen Sie Ihren Localhost
Im obigen Video endet der Terminalbefehl mit einem Link zu einer Website, die auf https://localhost:8080 läuft. Mit VS Live Share können Sie diesen lokalen Host freigeben, sodass die andere Person darauf zugreifen kann, als wäre es ihr eigener lokaler Host.
Wenn Sie eine gemeinsam genutzte Debug-Sitzung ausführen und der Teilnehmer an seinem Ende auf diese Localhost-URL trifft, wird sie für Sie beide unterbrochen, wenn ein Haltepunkt erreicht wird. Noch besser, Sie können jeden TCP-Prozess freigeben. Das bedeutet, dass Sie so etwas wie eine Datenbank oder einen Redis-Cache freigeben können. Beispielsweise könnten Sie Ihren lokalen Mongo DB-Server freigeben. Ernsthaft! Das bedeutet, dass Sie keine Konfigurationsdateien mehr ändern oder versuchen müssen, eine gemeinsam genutzte Datenbank einzurichten. Geben Sie einfach den Port für Ihre lokale Mongo DB-Instance frei.
Teilen Sie die richtigen Dateien auf die richtige Weise
Manchmal möchten Sie nicht, dass Mitbearbeiter bestimmte Dateien sehen. Es gibt wahrscheinlich private Schlüssel und Kennwörter in Ihrem Projekt, die nicht in die Quellcodeverwaltung eingecheckt und nicht für die öffentliche Anzeige geeignet sind. In diesem Fall möchten Sie diese Dateien vor jedem verbergen, der an Ihrer Live Share-Sitzung teilnimmt.
Standardmäßig blendet VS Live Share alle Dateien aus, die in Ihrer .gitignore
-Datei angegeben sind. Wenn Sie eine Datei ausblenden möchten, fügen Sie sie einfach zu Ihrer .gitignore
. Beachten Sie jedoch, dass dadurch die Datei nur in der Projektansicht ausgeblendet wird. Wenn Sie sich in einer gemeinsamen Debugging-Sitzung befinden und in eine Datei einsteigen, die sich in .gitignore
befindet, wird sie immer noch in den Editor geladen und Ihre Mitarbeiter können sie sehen.
Sie können genauer steuern, wie Sie Dateien freigeben, indem Sie eine .vsls.json
-Datei erstellen.
Wenn Sie beispielsweise sicherstellen möchten, dass Dateien in .gitignore
niemals sichtbar sind, auch nicht während des Debuggens, können Sie die gitignore
Eigenschaft so einstellen, exclude
sie .
{ "$schema": "https://json.schemastore.org/vsls", "gitignore":"exclude" }
Ebenso könnten Sie alles in Ihrer .gitignore
-Datei anzeigen und die Sichtbarkeit der Datei direkt aus der .vsls.json
-Datei steuern. Setzen Sie dazu gitignore
auf none
und verwenden Sie dann die Eigenschaften excludeFiles
und hideFiles
. Denken Sie daran – Ausschließen bedeutet nie sichtbar und Ausblenden bedeutet „im Datei-Explorer nicht sichtbar“.
{ "$schema": "https://json.schemastore.org/vsls", "gitignore":"none", "excludeFiles":[ "*.env" ], "hideFiles": [ "dist" ] }
Freigabe und Erweiterungen
Ein Teil der Attraktivität von VS Code für viele Entwickler ist der riesige Marktplatz für Erweiterungen. Die meisten Leute werden mehr als ein paar installiert haben. Es ist wichtig zu verstehen, wie Erweiterungen im Zusammenhang mit VS Live Share funktionieren oder nicht funktionieren.
VS Live Share synchronisiert alles, was für den Kontext des von Ihnen freigegebenen Projekts spezifisch ist. Wenn Sie beispielsweise die Vetur-Erweiterung installiert haben, weil Sie mit einem Vue-Projekt arbeiten, wird sie allen Teilnehmern mitgeteilt – unabhängig davon, ob sie sie ebenfalls installiert haben oder nicht. Dasselbe gilt für andere kontextspezifische Dinge wie Linters, Formatierer, Debugger und Sprachdienste.
VS Live Share synchronisiert keine benutzerspezifischen Erweiterungen. Dies wären Dinge wie Themen, Symbole, Tastaturbelegungen und so weiter. Als allgemeine Faustregel teilt VS Live Share Ihren Kontext, nicht Ihren Bildschirm. Sie können den offiziellen Docs-Artikel zu diesem Thema konsultieren, um eine ausführlichere Erklärung darüber zu erhalten, welche Erweiterungen Sie voraussichtlich teilen werden.
Kommunizieren Sie, während Sie zusammenarbeiten
Eines der ersten Dinge, die die Leute bei ihrer ersten VS Live Share-Erfahrung tun, ist zu versuchen, zu kommunizieren, indem sie Code-Kommentare eingeben. Dies scheint das Schreiben (verstehen?) zu tun, aber nicht wirklich, wie VS Live Share verwendet werden sollte.
VS Live Share soll Ihren bevorzugten Chat-Client nicht ersetzen. Sie haben wahrscheinlich bereits einen bevorzugten Chat-Mechanismus, und VS Live Share geht davon aus, dass Sie diesen weiterhin verwenden werden.
Wenn Sie Slack bereits verwenden, gibt es eine VS Code-Erweiterung namens Slack Chat. Diese Erweiterung ist noch ein bisschen am Anfang ihrer Entwicklung, sieht aber recht vielversprechend aus. Es versetzt VS Code in den Split-Modus und bettet Slack auf der rechten Seite ein. Noch besser ist, dass Sie eine Live Share-Sitzung direkt aus dem Slack-Chat starten können.

Ein weiteres Tool, das recht interessant aussieht, heißt CodeStream.
CodeStream
Während VS Live Share versucht, die Zusammenarbeit vom Editor aus zu verbessern, zielt CodeStream darauf ab, dasselbe Problem aus der Chat-Perspektive zu lösen.
Mit der CodeStream-Erweiterung können Sie direkt in VS Code chatten, und diese Chats werden Teil Ihres Codeverlaufs. Sie können einen zu diskutierenden Codeabschnitt hervorheben, der direkt in den Chat geht, sodass Ihre Kommentare im Kontext stehen. Diese Kommentare werden dann als Teil Ihres Git-Repos gespeichert. Sie werden auch in Ihrem Code als kleine Kommentarsymbole angezeigt, und diese Kommentare werden unabhängig davon angezeigt, in welchem Zweig Sie sich befinden.
Wenn es um VS Live Share geht, bietet CodeStream eine Reihe von kostenlosen Funktionen. Sie können neue Sitzungen direkt aus dem Chat-Bereich starten oder indem Sie auf einen Avatar klicken. Neue Sitzungen erstellen automatisch einen entsprechenden Chat-Kanal, den Sie mit dem Code beibehalten oder löschen können, wenn Sie fertig sind.
Wenn Chatten nicht ausreicht, um die Arbeit zu erledigen, und Sie zusammenarbeiten müssen, als wäre es 1999, ist Hilfe nur einen Anruf entfernt.
VS Live Share Audio
Während VS Live Share nicht versucht, den Chat neu zu erfinden, erfindet es Ihr Telefon neu. So'ne Art.
Mit der VS Live Share Audio-Erweiterung können Sie jemanden direkt anrufen und von VS Code aus einen Voice-Chat führen.

Die andere Person wird dann aufgefordert, sich Ihrem Anruf anzuschließen.

Sie sehen ein Lautsprechersymbol in der unteren Statusleiste, wenn Sie mit einem Anruf verbunden sind. Sie können auf diesen Lautsprecher klicken, um Ihr Audiogerät zu wechseln, sich selbst stummzuschalten oder den Anruf zu beenden.

Der letzte Tipp, den ich Ihnen geben werde, ist wahrscheinlich der wichtigste, und es ist keine ausgefallene Funktion oder obskure Einstellung, von der Sie nicht wussten, dass sie existiert.
Ändern Sie Ihr Muskelgedächtnis
Wir haben jahrelanges erlerntes Verhalten, wenn es darum geht, Hilfe zu bekommen oder unseren Code zu teilen. Der Zustand der Tools für die Entwicklerzusammenarbeit war so lange so schlecht, dass wir darauf konditioniert sind, Code in Slack einzufügen, umständliche Skype-Anrufe zu starten, die hauptsächlich aus „Sag mir, wann du meinen Bildschirm sehen kannst“, oder uns um einen Monitor und einen Punkt zu drängen übermäßig, dh Stock-Foto-Stil.

Das Wichtigste, was Sie tun können, um VS Live Share optimal zu nutzen, ist, VS Live Share tatsächlich zu verwenden. Und es muss eine „bewusste“ Anstrengung sein.
Ihr Gehirn ist gut in Mustern. Sie erkennen und klassifizieren ständig die Welt um sich herum auf der Grundlage von Mustern, die Sie identifiziert haben, und Sie sind so gut darin, dass Sie nicht einmal merken, dass Sie es tun. Anschließend entwickeln Sie Standardreaktionen auf diese Muster. Sie bilden Instinkte. Aus diesem Grund werden Sie standardmäßig auf die alten Methoden der Zusammenarbeit zurückgreifen, ohne überhaupt darüber nachzudenken, was Sie tun. Ehe Sie sich versehen, befinden Sie sich in einem Skype-Gespräch mit jemandem, der Ihren Bildschirm teilt – selbst wenn Sie Live Share installiert haben.
Ich habe viel über VS Code geschrieben und Leute werden mich von Zeit zu Zeit fragen, wie sie mit ihrem Editor produktiver werden können. Ich sage immer dasselbe: Wenn Sie das nächste Mal nach der Maus greifen, um etwas zu tun, hören Sie auf. Kannst du das stattdessen mit der Tastatur machen? Sie können wahrscheinlich. Schlagen Sie die Verknüpfung nach und verwenden Sie sie dann selbst. Am Anfang wird es langsamer sein, aber wenn Sie bereit sind, bewusst ein anderes Verhalten anzunehmen, werden Sie erstaunt sein, wie schnell Ihr Gehirn standardmäßig auf die produktivere Art und Weise etwas tut.
Dasselbe gilt für Live Share. Sie befinden sich in einem Anruf und teilen Ihren Bildschirm, wenn Ihnen auffällt, dass Sie Live Share verwenden könnten. Hör in diesem Moment auf; Klicken Sie unten in VS Code auf die Schaltfläche „Teilen“.
Ja, die Person am anderen Ende hat die Erweiterung möglicherweise nicht installiert. Ja, die Einrichtung kann einen Moment dauern. Aber wenn Sie daran arbeiten, dieses Verhalten jetzt zu etablieren, wird es das nächste Mal, wenn Sie dies tun, „einfach funktionieren“ und es wird nicht lange dauern, bis Sie nicht einmal darüber nachdenken müssen, und an diesem Punkt Sie wird endlich das „anonyme Hippo“-Niveau der Zusammenarbeit erreicht haben.
Mehr Ressourcen
- VS Live Share-Erweiterungspaket
- VS Code Live Share-Dokumentation
- Erweiterungen und Ökosystemunterstützung
- Erste Schritte mit VS Live Share