Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
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:
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:
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:
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:
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
#fileVerweise oder temporäre Kommentare, um Kontext aus anderen Dateien hinzuzufügen. - Bitten Sie Copilot, Code mithilfe von Copilot Actions>Explain oder dem
/explainSchrägstrichbefehl in Chat zu erläutern. - Verwenden Sie Copilot, um die Einhaltung von Codestandards mit
.github/copilot-instructions.mdoder durch Chat-Überprüfung sicherzustellen. - Identifizieren und korrigieren Sie UWP-Muster, die Copilot in WinUI 3-Projekten vorschlagen kann.
Verwandte Inhalte
Windows developer