Snippets mit StyleCop und ReSharper

16. November 2012

Bei der Verwendung von StyleCop in Visual Studio werden diverse Regeln geprüft, z. B. ob jede Klasse und Methode einen ​Dokumentationskopf haben. Die normalen Codesnippets erzeugen jedoch nur den entsprechenden Code, jedoch nicht die StyleCop-relevanten Kommentare.

Passende Snippets inklusive Kommentaren finden sich auf Codeplex unter http://vssnippets.codeplex.com/

Um diese Snippets zu verwenden, müssen diese in einem Verzeichnis liegen, welches über den Snippet-Manager registriert ist. Hier kann z. B. der Snippets-Ordner des Benutzers (My Code Snippets) verwendet werden, es kann ein eigener Ordner registriert werden oder man überschreibt direkt die Visual Studio Snippets. Vorteil beim Überschreiben ist, dass die Intellisense-Funktion diese dann nicht doppelt anzeigt.

Problem ist jedoch der Resharper. Dieser hat bei der Installation die CodeSnippets von Visual Studio importiert, erkennt aber keine aktualisierten Snippets. Schön wäre es, wenn hier ein nachträgliches Importieren von Snippets möglich wäre. Eine entsprechende Anforderung wurde auch schon an den Hersteller herangetragen, s. hier.

Um die Visual Studio Snippets dennoch verwenden zu können, gibt es mehrere Möglichkeiten.
Zum einen kann die Resharper-Intellisense-Funktion abgeschaltet werden, sodass das Visual Studio-Intellisense greift. Hier ist im Visual Studio unter ResharperOptionsEnvironmentIntellisenseGeneral die Option auf "Visual Studio" zu stellen.

Als Alternative kann über den Templates-Explorer des Resharper jedes Template einzeln manuell geändert werden, was natürlich entsprechend viel Arbeit macht.

Als dritte Möglichkeit kann über die Tastenkombination STRG + K, X die Insert Snippet-Funktion aufgerufen werden, über die alle Visual Studio Snippets eingefügt werden können. Hierbei öffnet sich eine Baumansicht, in der alle im Snippet-Manager hinterlegten Ordner aufgelistet werden, aus denen das gewünschte Snippet ausgewählt werden kann.