Untersuchung der bewährten Methoden von GitHub Copilot

Abgeschlossen

GitHub Copilot für Visual Studio Code hilft Entwicklern, Code schneller und mit weniger Fehlern zu schreiben.

GitHub Copilot ist jedoch ein KI-Paarprogrammer, kein Programmierer. Um das Beste aus GitHub Copilot herauszuholen, müssen Sie bewährte Methoden befolgen.

Wählen Sie das richtige GitHub Copilot Tool für den Auftrag aus.

Während GitHub Copilot-Codevervollständigungsfunktionen und GitHub Copilot-Chat-Features einige Funktionen gemeinsam haben, sollten die beiden Tools am besten unter unterschiedlichen Umständen verwendet werden.

Codevervollständigungen bieten den größten Wert, wenn sie für Folgendes verwendet werden:

  • Schließen Sie Codeausschnitte, Variablennamen und Funktionen ab, während Sie sie schreiben.
  • Generieren Sie sich wiederholenden Code.
  • Generieren Sie Code aus Inlinekommentaren in natürlicher Sprache.
  • Generieren Sie Tests für die testgesteuerte Entwicklung.

Alternativ bieten die Chatfunktionen von GitHub Copilot den größten Nutzen, wenn sie verwendet werden:

  • Beantworten Sie Fragen zu Code in natürlicher Sprache.
  • Generieren Sie große Codeabschnitte, und verfeinern Sie diesen Code, um Ihre Anforderungen zu erfüllen.
  • Bestimmte Aufgaben mithilfe von Chatteilnehmern, Slash-Befehlen und Chatvariablen ausführen. Chatteilnehmer (z. B. @vscode oder @terminal) legen den Kontext für eine Anforderung fest, Slash-Befehle (z. B. /explain oder /fix) kommunizieren Ihre Absichten und Chatvariablen (z. B. #file oder #codebase) fokussieren Copilot auf einen bestimmten Kontext. Verschiedene Teilnehmer und Befehle stehen auf verschiedenen GitHub-Copilot Chat-Plattformen zur Verfügung.
  • Führen Sie eine Aufgabe als bestimmte Persona aus. Beispielsweise können Sie GitHub Copilot Chat mitteilen, dass es sich um einen Senior C++-Entwickler handelt, der sich um Codequalität, Lesbarkeit und Effizienz kümmert. Nach dem Einrichten der Persona können Sie GitHub Copilot bitten, Ihren Code zu überprüfen.

Optimale Nutzung von GitHub Copilot-Inlinevorschlägen

GitHub Copilot bietet automatisch Vorschläge an, um effizienter zu programmieren. GitHub Copilot bietet bessere Vorschläge, wenn Sie bestimmte Aktionen und Verhaltensweisen befolgen. Möglicherweise befolgen Sie bereits einigen dieser Aktionen und Verhaltensweisen, da sie Ihnen und Ihren Kollegen auch helfen, Ihren Code zu verstehen.

Bereitstellen des Kontexts für GitHub Copilot

GitHub Copilot funktioniert am besten, wenn es über ausreichenden Kontext verfügt, um zu wissen, was Sie tun und was Sie hilfe benötigen. Wenn Sie einen Kollegen um Hilfe bitten, geben Sie ihm einen relevanten Kontext. Genauso müssen Sie GitHub Copilot Kontext geben.

Öffnen von Dateien

Für Code-Vervollständigungen untersucht GitHub Copilot die Dateien, die in Ihrem Editor geöffnet sind, um den Kontext zu erfassen und entsprechende Vorschläge zu machen. Wenn verwandte Dateien in Visual Studio Code geöffnet sind, während GitHub Copilot verwendet wird, hilft das, den Kontext zu definieren und ermöglicht es GitHub Copilot, das größere Bild Ihres Projekts zu erkennen.

Kommentar auf oberster Ebene

Genau wie Sie eine kurze, übergeordnete Einführung zu einem Kollegen geben würden, kann ein Kommentar auf oberster Ebene in einer Codedatei dazu beitragen, dass GitHub Copilot den Gesamtkontext des Codes versteht, den Sie erstellen.

Entsprechende Einschlüsse und Verweise

Es empfiehlt sich, die für Ihre Arbeit benötigten Includes oder Modulverweise manuell festzulegen. GitHub Copilot können Vorschläge machen, aber Sie wissen wahrscheinlich am besten, welche Abhängigkeiten Sie einbeziehen müssen. Dies kann auch GitHub Copilot über die Frameworks, Bibliotheken und deren Versionen informieren, die Sie beim Erstellen von Vorschlägen verwenden möchten.

Aussagekräftige Funktionsnamen

Genau wie eine Methode namens fetchData() bedeutet nicht viel für einen Kollegen (oder Sie nach mehreren Monaten), fetchData() hilft GitHub Copilot nicht, Ihren Code zu verstehen. Die Verwendung aussagekräftiger Funktionsnamen hilft GitHub Copilot, Vorschläge zu generieren, die ihre Wünsche erfüllen.

Spezifische und gut umrissene Kommentare zu Funktionen

Ein Funktionsname kann nur begrenzt beschreibend sein, ohne übermäßig lang zu werden. Funktionskommentare können dazu beitragen, Details einzutragen, die GitHub Copilot möglicherweise kennen müssen.

Prime GitHub Copilot mit Beispielcode

Ein Trick, GitHub Copilot auf der rechten Seite zu erhalten, besteht darin, wünschenswerte Codebeispiele in eine geöffnete Editor-Registerkarte zu kopieren und einzufügen. Das Beispiel sollte den Code darstellen, der GitHub Copilot emulieren soll. Ein Beispiel bereitzustellen kann GitHub Copilot dabei helfen, Vorschläge zu generieren, die der gewünschten Sprache und den Aufgaben entsprechen, die es emulieren soll. Nachdem GitHub Copilot Ihnen geholfen hat, Code zu erstellen, der Ihrem Ziel entspricht, können Sie den Beispielcode löschen. Dieser Ansatz ist besonders hilfreich, wenn Sie GitHub Copilot "trainieren" müssen. Angenommen, GitHub Copilot würde standardmäßig Codeausschnitte vorschlagen, die eine ältere Version einer Bibliothek implementieren. Sie können Code in Ihr Projekt einfügen, das die neueste Version der Bibliothek verwendet. Dies hilft GitHub Copilot, Codeausschnitte vorzuschlagen, die die neueste Version der Bibliothek verwenden. Sobald GitHub Copilot gelernt hat, die neue Bibliotheksversion zu verwenden, können Sie den Beispielcode löschen.

Aufrechterhalten von Konsistenz und hoher Qualität

GitHub Copilot wird sich an Ihren Code anlehnen, um Vorschläge zu generieren, die dem vorhandenen Muster folgen, sodass das Sprichwort "Garbage In, Garbage Out" zutrifft.

Es kann Disziplin erfordern, die Qualität immer hoch zu halten. Besonders, wenn Sie schnell und locker Code schreiben, um etwas zum Funktionieren zu bringen. Möglicherweise möchten Sie die Vervollständigungen von GitHub Copilot deaktivieren, während Sie sich im „Hacking“-Modus befinden. Sie können fertigstellungen vorübergehend über das GitHub Copilot Statusmenü deaktivieren (über die Statusleiste von Visual Studio Code zugänglich).

Optimale Nutzung von GitHub-Copilot Chat

Wenn Sie die Chatfunktionen von GitHub Copilot verwenden, gibt es mehrere Möglichkeiten, die Sie tun können, um Ihre Erfahrung zu optimieren.

Allgemein beginnen, dann spezifisch werden

Wenn Sie eine Aufforderung für GitHub Copilot schreiben, geben Sie zuerst GitHub Copilot eine allgemeine Beschreibung des Ziels oder Szenarios. Listen Sie dann alle spezifischen Anforderungen auf. Berücksichtigen Sie die folgenden Prompts:

  1. Schreiben Sie eine Funktion, die mir sagt, ob eine Zahl eine Primzahl ist.
  2. Die Funktion sollte eine ganze Zahl aufnehmen und true zurückgeben, wenn die ganze Zahl eine Primzahl ist.
  3. Die Funktion sollte einen Fehler auslösen, wenn die Eingabe keine positive ganze Zahl ist.

Beispiele geben

Verwenden Sie Beispiele, um GitHub Copilot zu verstehen, was Sie möchten. Sie können Beispieleingabedaten, Beispielausgaben und Beispielimplementierungen bereitstellen.

Aufteilen komplexer Aufgaben in einfachere Aufgaben

Wenn Sie möchten, dass GitHub Copilot einen komplexen oder großen Vorgang ausführen, unterteilen Sie den Vorgang in mehrere einfache, kleine Vorgänge. Statt z. B. GitHub Copilot zu bitten, ein Wortsuchpuzzle zu generieren, zerlegen Sie den Prozess in kleinere Aufgaben, und bitten Sie GitHub Copilot, sie nacheinander auszuführen:

  1. Schreiben Sie eine Funktion, um ein 10 x 10 Buchstabenraster zu generieren.
  2. Schreiben Sie eine Funktion, um alle Wörter in einem Buchstabenraster zu finden, wenn Sie eine Liste von gültigen Wörtern haben.
  3. Schreiben Sie eine Funktion, die die vorherigen Funktionen verwendet, um ein 10 x 10 Buchstabenraster zu erzeugen, das mindestens 10 Wörter enthält.
  4. Aktualisieren Sie die vorherige Funktion, um das Buchstabenraster und 10 zufällige Wörter aus dem Raster zu drucken.

Mehrdeutigkeit vermeiden

Vermeiden Sie mehrdeutige Begriffe. Fragen Sie z. B. nicht "Was tut dies", wenn "dies" die aktuelle Datei, die letzte GitHub Copilot Antwort oder ein bestimmter Codeblock sein könnte. Statt mehrdeutige Begriffe zu verwenden, müssen Sie spezifisch sein: Was macht die createUser-Funktion?

Angeben des relevanten Codes

Wenn Sie GitHub Copilot Chat in Ihrer IDE verwenden, öffnen Sie die Dateien, oder markieren Sie den Code, auf den GitHub Copilot verwiesen werden soll. Verwenden Sie Chatteilnehmer, Schrägstrich-Befehle und Chatvariablen in Prompts, um den Kontext zu definieren. Geben Sie beispielsweise an, auf welche Dateien GitHub Copilot Chat verweisen soll.

Verwenden von Chatteilnehmern, Schrägstrich-Befehlen und Chatvariablen

Chatteilnehmer wurden konzipiert, um zusätzlichen Kontext über eine Codebasis oder eine bestimmte Domäne oder Technologie zu sammeln. Wenn Sie den entsprechenden Teilnehmer angeben, kann GitHub Copilot Chat bessere Informationen finden und bereitstellen, die an das GitHub Copilot-Back-End gesendet werden können. Verwenden Sie beispielsweise @vscode, wenn Sie Fragen zu Visual Studio Code Features und APIs stellen.

Slash-Befehle helfen GitHub Copilot Chat, Ihre Anfrageintention zu verstehen, wenn Sie eine Frage stellen. Informieren Sie sich über eine Codebasis (/explain), wünschen Sie Hilfe beim Beheben eines Problems (/fix), oder erstellen Sie Testfälle (/tests)? Indem Sie GitHub Copilot Chat mitteilen, was Sie tun möchten, kann es seine Antwort auf die Aufgabe abstimmen und hilfreiche Befehle, Einstellungen und Codeausschnitte bereitstellen.

Chatteilnehmer, z. B. @terminal oder @vscode, können Chatvariablen beitragen, die domänenspezifischen Kontext bereitstellen. Sie können in Ihrem Chatprompt auf eine Chatvariable verweisen, indem Sie das Symbol # verwenden. Sie können Chatvariablen verwenden, um den Kontext Ihres Prompts genauer anzugeben.

Mit der #file-Chatvariablen können Sie beispielsweise in ihrem Chatprompt auf bestimmte Dateien in Ihrem Arbeitsbereich verweisen. Dadurch werden die Antworten von GitHub Copilot Chat relevanter für Ihren Code, indem Kontext zu der Datei bereitgestellt wird, mit der Sie arbeiten. Sie können Fragen wie „Can you suggest improvements to #file:package.json?“ oder „How do I add an extension in #file:devcontainer.json?“ stellen. Mithilfe der Variablen #file können Sie gezieltere und genauere Antworten von GitHub Copilot erhalten.

Experimentieren und iterieren

Wenn Sie nicht das gewünschte Ergebnis erhalten, überarbeiten Sie Ihren Prompt und versuchen Sie es erneut. Verweisen Sie in Ihrer nächsten Anforderung auf die vorherige Antwort. Sie können auch die vorherige Antwort löschen und von vorn beginnen.

Verlauf relevant halten

GitHub Copilot Chat verwendet den Chatverlauf, um Kontext zu Ihrer Anfrage zu erhalten. So stellen Sie sicher, dass GitHub Copilot einen relevanten Chatverlauf verwendet:

  • Verwenden Sie Threads zum Starten einer neuen Unterhaltung für eine neue Aufgabe.
  • Löschen Sie Anfragen, die nicht mehr relevant sind oder die nicht zum gewünschten Ergebnis geführt haben.

Befolgen Sie bewährte Programmiermethoden

Wenn Sie die gewünschten Antworten nicht erhalten, wenn Sie GitHub Copilot nach Vorschlägen fragen, stellen Sie sicher, dass Ihr vorhandener Code bewährte Methoden befolgt und leicht zu lesen ist. Zum Beispiel:

  • Verwenden Sie konsistenten Codestil und -muster.
  • Verwenden Sie beschreibende Namen für Variablen und Funktionen.
  • Kommentieren Sie Ihren Code.
  • Strukturieren Sie Ihren Code in modulare, bereichsbezogene Komponenten.
  • Schließen Sie Komponententests ein.

Zusammenfassung

GitHub Copilot ist ein leistungsfähiges Tool, mit dem Sie Code schneller und mit weniger Fehlern schreiben können. Um jedoch die GitHub Copilot optimal nutzen zu können, müssen Sie bewährte Methoden befolgen. Indem Sie das richtige GitHub Copilot Tool für den Auftrag auswählen, Kontext bereitstellen und bewährte Codierungsmethoden ausführen, können Sie Ihre Erfahrung mit GitHub Copilot optimieren.