Zum Fußzeileninhalt springen
Iron Academy Logo
C# Tools & Produktivität

Erstellen von Code Snippets in C# - Visual Studio für mehr Effizienz anpassen

Tim Corey
48m 46s

Für Entwickler, die mit C# arbeiten, sind Wiederholungen eine Realität. Vom Schreiben von Eigenschaften bis zum Einrichten von Konsolenmethoden und dem Abfangen von Ausnahmen können bestimmte Aufgaben rationalisiert werden. Hier kommen Code-Snippets ins Spiel - kleine, leistungsstarke, wiederverwendbare Code-Bausteine, die Sie mit nur einem Shortcut schnell in Ihr Projekt einfügen können.

In diesem Artikel erfahren Sie, wie Sie benutzerdefinierte Codeschnipsel in Visual Studio unter Anleitung des C#-Experten Tim Corey erstellen und verwenden können. In seinem Video zu "Creating Code Snippets in C# - Customize Visual Studio for Efficiency" bietet Tim praktische Schritte, Kommentare und Beispiele, die Sie direkt auf Ihre eigenen Projekte anwenden können. Am Ende des Kurses werden Sie in der Lage sein, Ihre Produktivität zu steigern, besser lesbaren Code zu schreiben und Best Practices in Ihrer Entwicklungsarbeit zu implementieren.

Warum Codeschnipsel wichtig sind

Tim beginnt damit, dass er erzählt, wie er häufig Snippets verwendet, um Dinge wie Auto-Eigenschaften, Konstruktoren und foreach-Schleifen einzufügen. Er demonstriert, wie die Eingabe von cw und zweimaliges Drücken der Tabulatortaste Console.WriteLine() einfügt und den Cursor zwischen Klammern platziert - ein wichtiger Trick für die Ausgabe von String-Inhalten.

Er weist jedoch darauf hin, dass nicht für jede nützliche Methode ein Snippet vorhanden ist. Zum Beispiel fehlt bei Console.ReadLine() eine. Tims Antwort? Erstellen Sie Ihre eigene.

Einrichten eines Demo-Projekts in Visual Studio

Zur Veranschaulichung des Kontexts richtet Tim eine ASP.NET Core-Webanwendung in Visual Studio ein. Obwohl die Art des Projekts nicht entscheidend ist, kann er mit C#- und HTML-Dateien arbeiten, um Beispiele aus beiden Sprachen zu zeigen.

Dies ist eine wichtige Erinnerung: Snippets sind nicht auf C# beschränkt, sondern können auf mehrere von Visual Studio unterstützte Sprachen angewendet werden, einschließlich HTML, XAML und mehr.

Eingebaute Snippets und die Macht der Shortcuts

Tim demonstriert ein paar vorhandene Schnipsel:

  • cw + Tab Tab → Console.WriteLine()

  • ctor + Tab Tab → Konstrukteur

  • prop + Tab Tab → Auto-implementierte Eigenschaft (z. B. public string Test { get; set; })

  • propfull → Erzeugt eine Eigenschaft mit einem Hintergrundfeld

Diese Abkürzungen sollen Wiederholungen vermeiden und die Leistung steigern. Sie geben einfach einen Typ wie string oder int und einen Namen an und lassen den Rest automatisch generieren.

Diese integrierten Schnipsel können auch Interpolation, Zugriffsmodifikatoren wie public und systemdefinierte Elemente veranschaulichen, um sicherzustellen, dass Ihr Code einer einheitlichen Struktur folgt.

Erstellen eines eigenen Snippets in VS Code

Anstelle eines Snippet-Generators entscheidet sich Tim für Visual Studio Code, weil es so einfach ist und die XML-Syntax hervorhebt.

Er erstellt eine Datei namens readline.snippet und zeigt die wesentliche XML-Struktur:

<CodeSnippets>
  <CodeSnippet Format="1.0.0">
    <Header>
      <Title>Console.ReadLine</Title>
      <Shortcut>cr</Shortcut>
      <Description>Creates Console.ReadLine()</Description>
      <Author>Tim Corey</Author>
    </Header>
    <Snippet>
      <Code Language="csharp"><!-- [CDATA[
Console.ReadLine();
]]></Code>
    </Snippet>
  </CodeSnippet>
</CodeSnippets>
<CodeSnippets>
  <CodeSnippet Format="1.0.0">
    <Header>
      <Title>Console.ReadLine</Title>
      <Shortcut>cr</Shortcut>
      <Description>Creates Console.ReadLine()</Description>
      <Author>Tim Corey</Author>
    </Header>
    <Snippet>
      <Code Language="csharp"><!-- [CDATA[
Console.ReadLine();
]]></Code>
    </Snippet>
  </CodeSnippet>
</CodeSnippets>

Dies ist ein einfaches Snippet, das <!-- [CDATA[]]> verwendet, um den rohen C#-Code zu umhüllen. Die Tastenkombination cr löst jetzt das Einfügen der Methode Console.ReadLine() mit zwei Tabulatortasten aus.

Tim weist darauf hin, dass die Formatierung von der Visual Studio-Umgebung des Benutzers übernommen wird, d. h. Einrückung und Abstände werden Ihren Einstellungen entsprechen.

Importieren von Snippets in Visual Studio

Tim zeigt, wie man eine .snippet-Datei mit Tools > Code Snippet Manager importiert. Er wählt den Speicherort "My Code Snippets" aus, um sicherzustellen, dass das Snippet bei Bedarf angezeigt wird.

Nach dem Importieren fügt die Eingabe von cr + Tab Tab die Zeile Console.ReadLine() ein, um ihren Wert einer Variablen zuzuweisen oder innerhalb eines Ausnahmebehandlungsblocks zu verwenden.

Wiederverwendbare Kopfzeilen für die Dokumentation

Als Nächstes demonstriert Tim einen Dokumentationsausschnitt - ein häufiger Bedarf in Unternehmensprojekten oder bei der Zusammenarbeit von Teams. Er erstellt ein Snippet mit dem Kürzel docme, das einen Kommentarblock erzeugt:

/// Title:
/// Author:
/// Date:
/// Purpose:
/// Title:
/// Author:
/// Date:
/// Purpose:

Dies ist ideal für die Verfolgung von Änderungen, Urheberschaft und Dateikontext. Während Tools wie Git die Versionierung übernehmen, bieten Header schnelle visuelle Referenzen, insbesondere in großen Teams.

HTML-Schnipsel: Bootstrap Formular Beispiel

Snippets sind nicht nur für C#-Code geeignet. Tim zeigt, wie man sie in HTML verwendet - perfekt für die Erstellung von Formularen, Eingabeelementen und Sammlungen strukturierter Tags.

Er kopiert ein Bootstrap-Formularbeispiel und wickelt es in das gleiche XML-Snippet-Format ein, wobei er die Sprache in HTML ändert. Nach dem Import wird durch Eingabe der Abkürzung sampleform eine vorgefertigte HTML-Struktur eingefügt, so dass Sie nicht wiederholt auf externe URLs verweisen oder Textbausteine kopieren müssen.

Erweitertes Snippet mit Platzhaltern und Variablen

Hier werden die Dinge fortgeschrittener - und leistungsfähiger. Tim erstellt ein Snippet, das einen Konfigurationswert abruft:

_config.GetValue<string>("values:myTest");
_config.GetValue<string>("values:myTest");

Er zeigt, wie man Platzhalter sowohl für den Typ (string, int, bool) als auch für den Pfad (values:myTest) verwendet, so dass der Entwickler nur das eintragen muss, was anders ist.

In der XML-Datei verwendet er:

<Declarations>
  <Literal>
    <id>ValType</id>
    <Default>string</Default>
    <ToolTip>Data type of the value</ToolTip>
  </Literal>
  <Literal>
    <id>Path</id>
    <Default>values:myTest</Default>
    <ToolTip>Config path</ToolTip>
  </Literal>
</Declarations>
<Declarations>
  <Literal>
    <id>ValType</id>
    <Default>string</Default>
    <ToolTip>Data type of the value</ToolTip>
  </Literal>
  <Literal>
    <id>Path</id>
    <Default>values:myTest</Default>
    <ToolTip>Config path</ToolTip>
  </Literal>
</Declarations>

Im Textkörper des Snippets:

_config.GetValue<$ValType$>("$Path$")
_config.GetValue<$ValType$>("$Path$")

Die Verwendung von Variablen und Deklarationen ermöglicht eine flexible, aussagekräftige und prägnante Codegenerierung. Sie ist ideal für Aufgaben wie das Abrufen von Sicherheitseinstellungen, den Zugriff auf Wörterbücher oder das Lesen verschachtelter Werte aus JSON-Dateien.

Warum Snippets die Leistung verbessern

Abschließend erklärt Tim, dass es bei Snippets nicht nur um Geschwindigkeit geht - sie fördern konsistente Praktiken, reduzieren Fehler und verbessern die Lesbarkeit des Codes im gesamten Team. Selbst die Einsparung von ein paar Sekunden pro Snippet kann im Laufe der Zeit zu einer Einsparung von Stunden führen.

Er betont, dass Snippets dabei helfen:

  • Allgemeine Aufgabeninitialisierung

  • Standardisierte Ausnahmebehandlung mit try-catch-finally

  • Erstellen ganzer Klassenvorlagen

  • Arbeiten innerhalb von finally-Blöcken, strukturierten catch-Blöcken und Methodenüberschreibungen

Abschließende Überlegungen: Ein Vorteil für Entwickler

Ganz gleich, ob Sie komplexe Systeme oder einfache Anwendungen entwickeln, mit Code-Snippets können Sie C- oder C#-Code schneller und konsistenter schreiben. Sie ermöglichen es Ihnen:

  • Wiederholungen eliminieren

  • Fokus auf Geschäftslogik

  • Beibehaltung einer sauberen, interpolierten und gut dokumentierten Codebasis

Wie Tim in seinem umfassenden Video vorschlägt, sollten Sie Ihre eigenen Codierungsgewohnheiten untersuchen. Entdecken Sie, wo Sie immer wieder das Gleiche tippen. Entscheiden Sie sich dann für einen Ansatz: Erstellen Sie ein Snippet.

Sie werden bald feststellen, dass Sie Ihre Arbeitsabläufe verändert haben und die Entwicklung effizienter, organisierter und angenehmer geworden ist.

Schnelle Snippet-Ideen für den Anfang

  • tryfinally - Erzeugen von try + finally Blöcken

  • logerror - Logging-Logik mit Log.Error() einfügen

  • propnotify - Eigenschaft mit INotifyPropertyChanged

  • filecheck - If File.Exists(path) mit Inline-Logik

  • foreachdict - Schleife durch ein Dictionary<TKey, TValue>

Tims Tipp: Kopieren Sie nicht einfach aus einer anderen Datei - machen Sie ein Snippet daraus und tippen Sie es nie wieder ein.

Hero Worlddot related to Erstellen von Code Snippets in C# - Visual Studio für mehr Effizienz anpassen
Hero Affiliate related to Erstellen von Code Snippets in C# - Visual Studio für mehr Effizienz anpassen

Verdienen Sie mehr, indem Sie teilen, was Sie lieben

Erstellen Sie Inhalte für Entwickler, die mit .NET, C#, Java, Python oder Node.js arbeiten? Verwandeln Sie Ihr Fachwissen in ein zusätzliches Einkommen!

Iron Support Team

Wir sind 24 Stunden am Tag, 5 Tage die Woche online.
Chat
E-Mail
Rufen Sie mich an