- Folge dem vorhandenen Namensschema: PascalCase für Methoden und Eigenschaften, camelCase für lokale Variablen.
- Asynchrone Methoden müssen das Suffix
Asynctragen. - Vermeide doppelte Methodensignaturen in derselben Klasse.
- Nutzen von
Properties.Settings.Defaultfür persistente, benutzerspezifische Einstellungen.
- Verwende
async/awaitfür asynchrone APIs. - Halte Ausnahmebehandlung lokal und logge Fehler mit
Trace.WriteLine. - Verwende
using-Deklarationen für Disposable-Objekte. - Verwende Nullable-Reference-Typen (sofern aktiviert) korrekt.
- User-scoped Setting:
Macros(Typ:System.Collections.Specialized.StringCollection, Standard: leer) - Makros werden als Liste von Strings gespeichert; die UI zeigt pro Makro ein Untermenü mit Aktionen (Senden, Senden+Enter, Bearbeiten, Löschen).
- Beim Start werden Makros aus
Properties.Settings.Default.Macrosgeladen; Änderungen werden inProperties.Settings.Defaultgespeichert undSave()aufgerufen.
- Änderungen am Tray-Kontextmenü sollten in
InitializeTrayIconeingebunden werden. Erstelle Hilfsmethoden zum Laden/Speichern und Anzeigen der Makros (z.B.InitializeMacrosMenu,RefreshMacrosMenu,EditMacro,SaveMacros). - Asynchrone Interaktionen mit
WebView2müssenSendTextToWebViewAsyncverwenden (einzige Implementierung, keine Duplikate).
- Schreibe Unit-Tests für Serialisierung / Deserialisierung der Makros (falls Logik vorhanden).
- Einer klaren Beschreibung des Features beifügen.
- Kleine, fokussierte Commits. Verwende aussagekräftige Commit-Messages.