Exemplarische Vorgehensweise: Erstellen eines Codeschnipsels in Visual Studio

Codeausschnitte sind vorab erstellte Codeelemente, die direkt in eine Anwendung eingefügt werden können. Solche Codeausschnitte erhöhen die Produktivität und Zuverlässigkeit, da sie Zeit bei der Eingabe von wiederholtem Code oder bei der Suche nach Beispielen einsparen.

Sie können eigene Codeausschnitte erstellen und den bereits in Visual Studio enthaltenen Codeausschnitten hinzufügen. Dieser Artikel führt Sie durch das Erstellen eines Codeausschnitts in nur wenigen Schritten. Sie erstellen eine XML-Datei, fügen die entsprechenden Elemente ein und fügen den Code der Datei hinzu. Sie können optional Ersetzungsparameter und Projektverweise verwenden. Anschließend importieren Sie den Codeausschnitt in Ihre Visual Studio-Installation.

Erstellen eines Codeausschnitts

  1. Öffnen Sie Visual Studio, und wählen Sie im Startbildschirm Ohne Code fortfahren aus.

    Screenshot: Startfenster mit ausgewählter Option „Ohne Code fortfahren“

  2. Wählen Sie in der Menüleiste Datei>Neu aus, oder geben Sie STRG+N ein.

  3. Wählen Sie im Dialogfeld Neue Datei die Option XML-Datei und dann Öffnen aus.

    Screenshot: Dialogfeld „Neue Datei“ mit ausgewählter Option „XML-Datei“

  4. Fügen Sie die folgende grundlegende Ausschnittvorlage im Code-Editor ein.

    <?xml version="1.0" encoding="utf-8"?>
    <CodeSnippets xmlns="http://schemas.microsoft.com/VisualStudio/2005/CodeSnippet">
        <CodeSnippet Format="1.0.0">
            <Header>
                <Title></Title>
            </Header>
            <Snippet>
                <Code Language="">
                    <![CDATA[]]>
                </Code>
            </Snippet>
        </CodeSnippet>
    </CodeSnippets>
    
  5. Geben Sie den Titel Quadratwurzel in das Ausschnittelement Title ein.

  6. Füllen Sie im Language-Attribut des Code-Elements CSharp für einen C#-Codeausschnitt oder VB für Visual Basic aus.

    Tipp

    Alle verfügbaren Sprachwerte finden Sie unter Attribute in der Schemareferenz für Codeschnipsel.

  7. Fügen Sie den folgenden Codeausschnitt im CDATA-Abschnitt innerhalb des Code-Elements hinzu.

    Für C#:

        <![CDATA[double root = Math.Sqrt(16);]]>
    

    Für Visual Basic:

        <![CDATA[Dim root = Math.Sqrt(16)]]>
    

    Hinweis

    Sie können nicht angeben, wie Codezeilen im CDATA-Abschnitt eines Codeschnipels formatiert oder eingezogen werden sollen. Beim Einfügen formatiert der Sprachdienst den eingefügten Code automatisch.

  8. Speichern Sie den Codeausschnitt an einem beliebigen Speicherort als SquareRoot.snippet.

Importieren des Codeschnipsels

  1. Um den Codeausschnitt in Ihre Visual Studio-Installation zu importieren, wählen Sie Extras>Codeausschnitt-Manager aus, oder drücken Sie STRG+K, B.

  2. Wählen Sie im Codeausschnitt-Manager die Schaltfläche Importieren aus.

  3. Navigieren Sie zum Speicherort ihres Codeausschnitts, wählen Sie ihn aus, und wählen Sie Öffnen aus.

  4. Wählen Sie im Dialogfeld Codeausschnitt importieren den Ordner Eigene Codeausschnitte im rechten Bereich aus. Wählen Sie Beenden und dann OK.

    Der Codeausschnitt wird je nach Codesprache in einen der folgenden Speicherorte kopiert:

    %USERPROFILE%\Documents\Visual Studio 2022\Code Snippets\Visual C#\My Code Snippets%USERPROFILE%\Documents\Visual Studio 2022\Code Snippets\Visual Basic\My Code Snippets

    %USERPROFILE%\Documents\Visual Studio 2019\Code Snippets\Visual C#\My Code Snippets%USERPROFILE%\Documents\Visual Studio 2019\Code Snippets\Visual Basic\My Code Snippets

  5. Testen Sie den Ausschnitt, indem Sie ein C#- oder Visual Basic-Projekt öffnen. Führen Sie im Editor in einer geöffneten Codedatei eine der folgenden Aktionen aus:

    • Wählen Sie in der Visual Studio-Menüleiste Bearbeiten>IntelliSense>Ausschnitt einfügen.
    • Klicken Sie mit der rechten Maustaste, und wählen Sie Ausschnitt>Ausschnitt einfügen aus dem Kontextmenü aus.
    • Drücken Sie auf der Tastatur die TastenSTRG+K, X.
  6. Öffnen Sie Eigene Codeausschnitte, und doppelklicken Sie auf den Codeausschnitt mit dem Namen Quadratwurzel. Der Codeausschnitt wird in die Codedatei eingefügt.

Beschreibungs- und Verknüpfungsfelder

Das Beschreibungsfeld liefert weitere Informationen über die Codeschnipsel, wenn sie im Codeschnipsel-Manager angezeigt werden. Die Verknüpfung ist ein Tag, das Sie zum Einfügen Ihres Codeausschnitts eingeben können.

  1. Um den Codeausschnitt zu bearbeiten, öffnen Sie die Codeausschnittdatei von einem der folgenden Speicherorte, je nach Codesprache:

    • %USERPROFILE%\Documents\Visual Studio 2022\Code Snippets\Visual C#\My Code Snippets/SquareRoot.snippet
    • %USERPROFILE%\Documents\Visual Studio 2022\Code Snippets\Visual Basic\My Code Snippets/SquareRoot.snippet
    • %USERPROFILE%\Documents\Visual Studio 2019\Code Snippets\Visual C#\My Code Snippets/SquareRoot.snippet
    • %USERPROFILE%\Documents\Visual Studio 2019\Code Snippets\Visual Basic\My Code Snippets/SquareRoot.snippet

    Tipp

    Da Sie die Datei in dem Verzeichnis bearbeiten, in dem sie von Visual Studio platziert wurde, müssen Sie die Datei nicht erneut in Visual Studio importieren.

  2. Fügen Sie Author-, Description- und Shortcut-Elemente dem Header-Element hinzu, und füllen Sie sie aus.

  3. Vergewissern Sie sich, dass das Header-Element dem folgenden Beispiel ähnelt, und speichern Sie die Datei.

    <Header>
        <Title>Square Root</Title>
        <Author>Myself</Author>
        <Description>Calculates the square root of 16.</Description>
        <Shortcut>sqrt</Shortcut>
    </Header>
    
  4. Öffnen Sie den Visual Studio-Codeausschnitt-Manager, und wählen Sie Ihren Codeschnipsel aus. Beachten Sie, dass die Felder Beschreibung, Autor und Verknüpfung im rechten Bereich jetzt aufgefüllt sind.

    Beschreibung für Codeausschnitte im Codeausschnitt-Manager

  5. Um die Verknüpfung zu testen, öffnen Sie das Projekt, das Sie zuvor verwendet haben, geben Sie sqrt im Editor ein, und drücken Sie die TABULATORTASTE (einmal für Visual Basic bzw. zweimal für C#). Der Codeausschnitt wird eingefügt.

Ersetzungsparameter

Möglicherweise möchten Sie, dass der Benutzer oder die Benutzerin Teile eines Codeschnipsels ersetzt. Beispielsweise soll ein Benutzer einen Variablennamen durch einen Namen aus seinem aktuellen Projekt ersetzen können.

Sie können zwei Typen von Ersetzungen bereitstellen: Literale und Objekte.

  • Verwenden Sie das Literal-Element, um eine Ersetzung für Code zu kennzeichnen, der zwar vollständig im Ausschnitt enthalten ist, nach dem Einfügen in den Code jedoch angepasst werden kann. Beispiel: eine Zeichenfolge oder ein numerischer Wert.

  • Verwenden Sie das Object-Element zur Kennzeichnung eines vom Codeschnipsel benötigten Elements, das jedoch wahrscheinlich außerhalb des Codeausschnitts definiert wird. Beispiel: eine Objektinstanz oder ein Steuerelement.

Sie können ein Literal-Element in der Datei SquareRoot.snippet verwenden, damit Benutzer die Zahl ganz einfach ändern können, aus der die Quadratwurzel berechnet wird.

  1. Ändern Sie in der Datei SquareRoot.snippet das Snippet-Element wie folgt:

    <Snippet>
      <Code Language="CSharp">
        <![CDATA[double root = Math.Sqrt($Number$);]]>
      </Code>
      <Declarations>
        <Literal>
          <ID>Number</ID>
          <ToolTip>Enter the number you want the square root of.</ToolTip>
          <Default>16</Default>
        </Literal>
      </Declarations>
    </Snippet>
    

    Beachten Sie, dass die Literalersetzung eine ID, Number, erhält. Auf diese ID verweisen Sie im Codeschnipsel, indem Sie sie mit $-Zeichen umgeben:

    <![CDATA[double root = Math.Sqrt($Number$);]]>
    
  2. Speichern Sie die Ausschnittdatei.

  3. Öffnen Sie ein Projekt, und fügen Sie den Ausschnitt ein.

    Der Codeausschnitt wird eingefügt, und das Literal, das bearbeitet werden kann, wird für die Ersetzung hervorgehoben. Zeigen Sie auf den Ersetzungsparameter, um die QuickInfo für den Wert anzuzeigen.

    QuickInfo für Ersetzungsparameter in Codeausschnitt in Visual Studio

    Tipp

    Wenn ein Codeausschnitt mehr als einen ersetzbaren Parameter enthält, können Sie die TABULATORTASTE drücken, um zwischen den Parametern zu navigieren und die Werte zu ändern.

Importieren eines Namespace

Sie können einen Codeausschnitt verwenden, um eine using-Direktive (C#) oder Imports-Anweisung (Visual Basic) hinzufügen, indem Sie das Imports-Element hinzufügen. Bei .NET Framework-Projekten können Sie auch mithilfe des References-Elements einen Verweis auf das Projekt hinzufügen.

Der folgende XML-Code zeigt einen Codeausschnitt, der die Methode File.Exists im System.IO-Namespace verwendet und daher das Imports-Element definiert, um den System.IO-Namespace zu importieren.

<?xml version="1.0" encoding="utf-8"?>
<CodeSnippets xmlns="http://schemas.microsoft.com/VisualStudio/2005/CodeSnippet">
  <CodeSnippet Format="1.0.0">
    <Header>
      <Title>File Exists</Title>
      <Shortcut>exists</Shortcut>
    </Header>
    <Snippet>
      <Code Language="CSharp">
        <![CDATA[var exists = File.Exists("C:\\Temp\\Notes.txt");]]>
      </Code>
      <Imports>
        <Import>
          <Namespace>System.IO</Namespace>
        </Import>
      </Imports>
    </Snippet>
  </CodeSnippet>
</CodeSnippets>