Untersuchen der bewährten Methoden von GitHub Copilot

Abgeschlossen

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

GitHub Copilot ist jedoch ein KI-Paarprogrammierer und kein Programmierer. Um die GitHub Copilot Tools optimal zu verwenden, müssen Sie bewährte Methoden befolgen.

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

Während die Codevervollständigungsfunktionen von GitHub Copilot und die GitHub Copilot-Chat-Funktionen einige Funktionen teilen, werden die beiden Tools in unterschiedlichen Szenarien am besten eingesetzt.

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.
  • Erledigen Sie bestimmte Aufgaben mit Schlüsselwörtern und Fähigkeiten. GitHub Copilot Chat verwendet integrierte Schlüsselwörter (und Fähigkeiten zur Bereitstellung wichtiger Kontexte) innerhalb von Eingabeaufforderungen, um häufige Aufgaben schnell zu erledigen. Verschiedene Arten von Schlüsselwörtern und Fähigkeiten stehen in verschiedenen GitHub Copilot Chatplattformen zur Verfügung.
  • Führen Sie eine Aufgabe als bestimmte Persona aus. Sie können z. B. 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.

So nutzen Sie GitHub Copilot Inline-Empfehlungen optimal

Die GitHub Copilot-Erweiterung stellt Vorschläge automatisch bereit, die Ihnen helfen, effizienter zu codieren. 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. Genauso wie Sie einem Kollegen beim Bitten um Hilfe den relevanten Kontext geben, müssen Sie GitHub Copilot den entsprechenden Kontext zur Verfügung stellen.

Öffnen von Dateien

Für Codeabschlusse prüft GitHub Copilot die Dateien, die in Ihrem Editor geöffnet sind, um Kontext zu erstellen und entsprechende Vorschläge zu erstellen. Wenn Sie verwandte Dateien in Visual Studio Code geöffnet haben, während Sie GitHub Copilot verwenden, hilft dies, den Kontext zu definieren und GitHub Copilot das Gesamtbild Ihres Projekts zu erfassen.

Kommentar auf oberster Ebene

Genauso wie Sie sich einem Kollegen kurz vorstellen würden, kann ein Kommentar auf höchster Ebene in einer Code-Datei dem GitHub Copilot helfen, den Gesamtzusammenhang des Codes zu verstehen, 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 ihren Vorstellungen entspricht.

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. Das Bereitstellen eines Beispiels kann dem Copilot von GitHub beim Generieren von Vorschlägen helfen, die sprachlich und den Aufgaben entsprechen, die Sie emulieren möchten. 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. Stellen Sie sich vor, GitHub Copilot schlägt standardmäßig Codeausschnitte vor, 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 mit Ihrem Code auseinandersetzen, um Vorschläge zu generieren, die dem vorhandenen Muster entsprechen, sodass das Sprichwort "Garbage In, Garbage Out" angewendet wird.

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 verfügbar).

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 wünschen. 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 möchten, unterteilen Sie den Vorgang in mehrere einfache, kleine Vorgänge. Statt z. B. GitHub Copilot aufzufordern, ein Wortsuche-Puzzle zu generieren, den Prozess in kleinere Aufgaben aufzuteilen und GitHub Copilot aufzufordern, 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 verwiesen werden 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 @workspace, wenn Sie Fragen zu Ihrem geöffneten Projekt stellen, oder @vscode, wenn Sie Fragen zu Visual Studio Code Features und APIs stellen.

Slash-Kommandos helfen GitHub Copilot Chat, Ihre Absicht nachzuvollziehen, 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 wissen lassen, was Sie tun möchten, kann er seine Antwort auf Ihre Aufgabe optimieren und hilfreiche Befehle, Einstellungen und Codeausschnitte bereitstellen.

Chatteilnehmer, z. B. @workspace 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. Auf diese Weise können Sie die Antworten von GitHub Copilot Chat relevanter für Ihren Code machen, indem Sie Kontext zu der Datei bereitstellen, 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.