Freigeben über


Verwenden von GitHub Copilot zum Erstellen von WinUI 3/Windows App SDK-Apps in Visual Studio

In dieser Vorgehensweise veranschaulichen wir, wie GitHub Copilot verwendet werden kann, um WinUI/Windows App SDK Desktop-Apps in Visual Studio zu erstellen. Dieser Leitfaden baut auf GitHub Copilot in Visual Studio auf und bietet maßgeschneiderte Tipps und bewährte Methoden für die Entwicklung von Copilot-unterstützten WinUI-Apps.

Animated screenshot, der die Codeabschlussfunktionen von „GitHub Copilot“ in Visual Studio zeigt.

Voraussetzungen

  • Visual Studio 2026 mit angewendeter WinUI-Anwendungsentwicklungsauslastung (siehe Einrichten Ihrer Umgebung und Erstellen Ihres ersten WinUI-Projekts für Setupdetails). GitHub Copilot ist standardmäßig in Visual Studio 2026 enthalten.
  • Ein GitHub-Konto mit Zugriff auf GitHub Copilot. GitHub Copilot ist kostenlos für einzelne Entwickler verfügbar; Kostenpflichtige Pläne sind ebenfalls verfügbar. Melden Sie sich mit demselben GitHub-Konto bei Visual Studio an.
  • Vertrautheit mit C#, WinUI und Windows App SDK.

Verwenden von GitHub Copilot

Autovervollständigen Ihrer Code-Snippets

GitHub Copilot in Visual Studio ermöglicht Echtzeit-Codevorschläge und -vervollständigungen basierend auf dem Code, den Sie schreiben. Die einfachste Art, Copilot zu benutzen, ist, Code in den Editor einzugeben, und Copilot versucht, diesen automatisch zu vervollständigen. Sie können dann die Vorschläge annehmen oder verwerfen:

Screenshot, das die Codeabschlussfunktionen von GitHub Copilot (einfache Autovervollständigung) anzeigt

Tipp

Wenn die GitHub Copilot-Vorschläge nicht angezeigt werden, können Sie verschiedene Aspekte des Features in den Optionen Visual Studio unter Tools ->Options ->GitHub ->Copilot aktivieren.

Verwenden des Copilot-Chats für WinUI-Fragen

Das Copilot-Chatpanel (GitHub Copilot Chat anzeigen > ) ist die flexibelste Möglichkeit, WinUI-spezifische Hilfe zu erhalten. Im Gegensatz zu Inlineabschlussen können Sie mit Chat mehrstufige Fragen stellen, bestimmte Dateien referenzieren und Erklärungen mit vollständigem Kontext abrufen.

Öffnen Sie den Chatbereich, und versuchen Sie, Eingabeaufforderungen wie folgt auszuprobieren:

  • "Fügen Sie mit WinUI 3 und dem Windows App SDK eine NavigationView mit drei Seiten zu "MainWindow" hinzu.
  • "Erklären, wie XamlRoot in WinUI 3 funktioniert und wie ich es in einem ContentDialog festlegen kann"
  • "Konvertieren Sie diesen Ereignishandler, um DispatcherQueue anstelle von CoreDispatcher zu verwenden"

Um auf eine bestimmte Datei im Chat zu verweisen, geben Sie # ein und wählen Sie die Datei im Auswahlfenster aus. Dies ist besonders hilfreich, wenn Copilot C#-Code generieren soll, der mit Ihrem vorhandenen XAML übereinstimmt:

#MainWindow.xaml Add click handlers in code-behind for all the buttons in this file

Tipp

Schließen Sie WinUI 3 und Windows App SDK immer in Ihre Chataufforderungen ein. Ohne diesen Kontext schlägt Copilot UWP-Muster (wie Window.Current oder CoreDispatcher) vor, die in WinUI 3 nicht funktionieren. Sehen Sie sich unten die WinUI 3-Muster an.

Fragen Sie Copilot nach Inlinevorschlägen

Klicken Sie mit der rechten Maustaste in den Code-Editor, und wählen Sie "Chat" aus, um ein Inlinechatfenster an der Cursorposition zu öffnen. Geben Sie Ihre Frage ein, und drücken Sie die EINGABETASTE:

Screenshot der Inline-Chatfunktionen von GitHub Copilot.

Tipp

Sie können einen Inline-Chatthread jederzeit in den vollständigen Chatbereich befördern, indem Sie Copilot-Aktionen>"Zu Chat hinzufügen" auswählen. Dadurch bleibt der Unterhaltungskontext erhalten, damit Sie im Panel fortfahren können.

Eingabeaufforderung für Copilot mit Nur-Sprache-Kommentaren

Obwohl Copilot hauptsächlich für die Codevervollständigung verwendet wird, können Sie auch Kommentare in natürlicher Sprache verwenden, um Copilot beim Generieren bestimmter Codeausschnitte anzuleiten. Sie können beispielsweise Kommentare verwenden, um ein bestimmtes Feature oder eine bestimmte Funktionalität anzufordern:

Screenshot mit den Codeabschlussfunktionen von GitHub Copilot (prompting).

Verwenden von Copilot Chat zum Hinzufügen von Kontext aus anderen Dateien

Wenn Sie an einer Code-Behind-Datei arbeiten und Copilot den Kontext aus der zugehörigen XAML-Datei integrieren soll, verweisen Sie direkt im Chat-Panel mithilfe von #.

#MainPage.xaml Generate the C# event handlers for all interactive controls in this file

Alternativ können Sie für Inline-Vervollständigungen temporäre Kommentare verwenden, um den relevanten XAML-Code in die Code-Behind-Datei einzufügen. Copilot verwendet diesen Kontext beim Generieren von C#-Code, und Sie können die Kommentare danach löschen:

Screenshot mit den Codeabschlussfunktionen von GitHub Copilot (Kontexterweiterung).

Bitten Sie Copilot, zu erklären, wie etwas funktioniert

Die beste Möglichkeit, Copilot aufzufordern, Code zu erläutern, besteht darin, ihn im Editor auszuwählen, und klicken Sie dann mit der rechten Maustaste, und wählen Sie "Copilot Actions>Explain" aus. Dadurch wird der Chatbereich mit ihrem ausgewählten Code geöffnet, der bereits als Kontext angefügt ist, und Copilot bietet eine detaillierte Erläuterung.

Mithilfe des /explain Schrägstrichbefehls können Sie auch direkt im Chatbereich nach Erklärungen fragen:

/explain What does this DispatcherQueue.TryEnqueue call do?

Tipp

Slash-Kommandos wie /explain, /fix und /doc sind Kurzbefehle im Chatfenster, die Copilot klar mitteilen, welche Art von Hilfe Sie benötigen. Geben Sie / in die Chateingabe ein, um alle verfügbaren Befehle anzuzeigen.

Verwenden von Copilot zum Erzwingen von Codestandards

Die zuverlässigste Möglichkeit, Copilot den Codierungskonventionen Ihres Projekts zu folgen, besteht darin, Ihrem Repository eine .github/copilot-instructions.md Datei hinzuzufügen. Copilot liest diese Datei automatisch und wendet die Anweisungen auf alle Vorschläge in diesem Repository an. Beispiel:

# Copilot instructions

- Use DispatcherQueue.TryEnqueue for all UI thread dispatch, never CoreDispatcher
- Always set XamlRoot when showing a ContentDialog
- Use the MVVM pattern with CommunityToolkit.Mvvm ObservableObject and RelayCommand
- Target net10.0-windows10.0.19041.0 — do not use plain net10.0

Sie können Copilot auch bitten, einen Codeausschnitt anhand bestimmter Standards im Chatbereich zu überprüfen:

Does this code follow the MVVM pattern correctly for a WinUI 3 app?

Tipp

Um teamweite Konsistenz zu gewährleisten, übergeben Sie .github/copilot-instructions.md an die Versionskontrolle. Jeder Entwickler im Team erhält dasselbe Copilot-Verhalten, ohne dass eine Konfiguration pro Maschine erforderlich ist.

WinUI 3-Muster, die es zu beachten gilt

Copilot wurde auf einer umfangreichen Codebasis von Windows trainiert, die ältere UWP- und WinUI 2-Beispiele enthält. Achten Sie bei der Arbeit in einem WinUI 3-Projekt auf diese Vorschläge, und verwenden Sie stattdessen die richtigen WinUI 3-Entsprechungen:

Copilot kann vorschlagen WinUI 3-Entsprechung Hinweise
Window.Current App.MainWindow oder speichern Sie einen Verweis auf Ihr Fenster. Window.Current gilt nur für UWP – es bleibt immer null in WinUI 3.
CoreDispatcher / Dispatcher.RunAsync DispatcherQueue.TryEnqueue WinUI 3 verwendet DispatcherQueue für den UI-Thread-Dispatch
Windows.UI.Xaml.* Namespaces Microsoft.UI.Xaml.* Alle WinUI 3-Typen befinden sich im Microsoft.UI.Xaml Namespace
MessageDialog (Windows.UI.Popups) ContentDialog mit XamlRoot Einstellung Vor dem Aufrufen festlegen dialog.XamlRoot = this.Content.XamlRootShowAsync
FileOpenPicker ohne HWND Initialisieren mit WinRT.Interop.InitializeWithWindow.Initialize(picker, hwnd) WinUI 3-Picker erfordern ein HWND; verwenden Sie WinRT.Interop, um es zu erhalten
net8.0 oder net10.0 TFM net10.0-windows10.0.19041.0 Die nicht qualifizierte TFM schließt Windows-Runtime-APIs aus.

Tipp

Wenn Copilot ein Muster aus dieser Liste generiert, fügen Sie es in den Chatbereich ein, und fragen Sie : "Ist dies für WinUI 3 mit Windows App SDK richtig, oder ist dies ein UWP-Muster?" Copilot identifiziert und korrigiert in der Regel das Problem, wenn er direkt gefragt wird.

Zusammenfassung

In dieser Vorgehensweise haben wir gezeigt, wie Sie GitHub Copilot in Visual Studio verwenden, um Sie bei der Entwicklung von WinUI/Windows App SDK-Desktop-Apps zu unterstützen. Wir haben behandelt, wie man:

  • AutoVervollständigen Ihrer Codeausschnitte
  • Verwenden Sie den Copilot-Chatbereich für WinUI-Fragen und Dateiverweise mit mehreren Schritten.
  • Generieren Sie Inlinevorschläge mithilfe der rechten Maustaste auf >"Chat".
  • Geben Sie Copilot Anweisungen mit Kommentaren in einfacher Sprache.
  • Verwenden Sie #file Verweise oder temporäre Kommentare, um Kontext aus anderen Dateien hinzuzufügen.
  • Bitten Sie Copilot, Code mithilfe von Copilot Actions>Explain oder dem /explain Schrägstrichbefehl in Chat zu erläutern.
  • Verwenden Sie Copilot, um die Einhaltung von Codestandards mit .github/copilot-instructions.md oder durch Chat-Überprüfung sicherzustellen.
  • Identifizieren und korrigieren Sie UWP-Muster, die Copilot in WinUI 3-Projekten vorschlagen kann.