17.8 Code-Snippets (Codeausschnitte)
Visual Studio 2012 enthält ein Feature, das Ihnen während des Programmierens sehr hilfreich sein kann. Es handelt sich um die Code-Snippets, die in der Dokumentation auch unter dem Begriff Codeausschnitte zu finden sind.
Wie kann diese Hilfe aussehen? Nehmen wir an, Sie beabsichtigen, eine for-Schleife zu implementieren. Das Grundkonstrukt dieser Schleife ist immer identisch und würde sich also generell dazu anbieten, automatisch so in den Code eingespielt zu werden, dass der Entwickler nur noch Startwert, Austrittsbedingung und Schrittweite angibt. Genau das leisten Code-Snippets bzw. Codeausschnitte.
Codeausschnitte haben einen Namen. Der, der eine leere for-Schleife erzeugt, heißt beispielsweise for. Visual Studio 2012 wird mit einer ganzen Reihe von Codeausschnitten geliefert, die Sie nutzen und auch durch eigene ergänzen können.
17.8.1 Codeausschnitte einfügen

Code-Snippets können Sie auf drei verschiedene Arten einfügen:
- Wenn Sie den Bezeichner kennen, tragen Sie diesen in den Code ein und drücken anschließend
die
-Taste. Der durch den Codeausschnitt beschriebene Code wird sofort in den Code-Editor eingespielt.
- Positionieren Sie den Eingabecursor an der Position, an der das Code-Snippet eingefügt werden soll. Öffnen Sie dann das Kontextmenü, und wählen Sie den Menüpunkt Ausschnitt einfügen. Sie erhalten daraufhin eine Auswahl mehrerer Komponenten angeboten. Klicken Sie hier auf Visual C#, und in der IntelliSense-Hilfe werden die Ihnen zur Verfügung stehenden Snippets angezeigt, aus denen Sie das von Ihnen gewünschte auswählen.
- Öffnen Sie das Menü Bearbeiten, und wählen Sie den Untermenüpunkt IntelliSense und anschließend Ausschnitt einfügen. Der weitere Ablauf ist wie unter Punkt 2 beschrieben.
Je nachdem, welchen Codeausschnitt Sie hinzugefügt haben, sind möglicherweise Nacharbeiten erforderlich. Bei der oben beschriebenen for-Schleife sind das die Deklaration des Schleifenzählers und die Angabe der Austrittsbedingung. Visual Studio zeigt die entsprechenden Elemente in einer anderen Hintergrundfarbe an (siehe Abbildung 17.19).
Abbildung 17.19 Die durch ein Code-Snippet hinzugefügte »for«-Schleife
Einige Codeausschnitte sind umschließende Codeausschnitte, mit deren Hilfe Sie Codezeilen markieren und dann einen Codeausschnitt auswählen können, der die markierten Codezeilen einschließt. Durch das Markieren von Codezeilen und das anschließende Aktivieren des for-Codeausschnitts wird beispielsweise eine for-Schleife erstellt, die die markierten Codezeilen innerhalb des Schleifenblocks enthält.
17.8.2 Die Anatomie eines Codeausschnitts
Bei Codeausschnitten handelt es sich um XML-Dateien mit der Dateinamenerweiterung .snippet. Wir wollen uns nun exemplarisch die Datei ansehen, die für den Codeausschnitt der for-Schleife verantwortlich ist.
<?xml version="1.0" encoding="utf-8"?>
<CodeSnippets xmlns="...">
<CodeSnippet Format="1.0.0">
<Header>
<Title>for</Title>
<Shortcut>for</Shortcut>
<Description>
Codeausschnitt für for-Schleife
</Description>
<Author>Microsoft Corporation</Author>
<SnippetTypes>
<SnippetType>Expansion</SnippetType>
<SnippetType>SurroundsWith</SnippetType>
</SnippetTypes>
</Header>
<Snippet>
<Declarations>
<Literal>
<ID>index</ID>
<Default>i</Default>
<ToolTip>Index</ToolTip>
</Literal>
<Literal>
<ID>max</ID>
<Default>length</Default>
<ToolTip>Maximale Länge</ToolTip>
</Literal>
</Declarations>
<Code Language="csharp">
<![CDATA[for (int $index$ = 0; $index$ < $max$; $index$++)
{
$selected$ $end$
}]]>
</Code>
</Snippet>
</CodeSnippet>
</CodeSnippets>
Listing 17.6 Definition eines Code-Snippets
Das ganze Dokument mit all seinen XML-Tags wollen wir an dieser Stelle nicht analysieren. Sollten Sie sich dafür interessieren, um einen eigenen Codeausschnitt zu definieren oder einen vorhandenen zu ändern, suchen Sie in der Dokumentation nach dem mit Schemareferenz für Codeausschnitte betitelten Dokument. Die meisten XML-Tags sind wahrscheinlich aufgrund ihrer Namensgebung sowieso selbsterklärend.
Code-Snippets sind natürlich sprachspezifisch. Besonders bedacht worden sind die VB-Programmierer, denen weitaus mehr Snippets zur Verfügung gestellt werden als den C#-Programmierern. Sie brauchen sich nur die Dateilisten anzusehen, die die Suchoperation des Betriebssystems anzeigt, wenn Sie nach *.snippet suchen lassen. Die Snippets, die für C# vordefiniert sind, finden Sie unter: \Programme\Microsoft Visual Studio 12.0\VC#\Snippets \1031\Visual C#
Ihre Meinung
Wie hat Ihnen das Openbook gefallen? Wir freuen uns immer über Ihre Rückmeldung. Schreiben Sie uns gerne Ihr Feedback als E-Mail an kommunikation@rheinwerk-verlag.de.