Archiv der Kategorie: Resharper

Resharper Code Templates über Resharper Extension bereitstellen


Ich hoffe zumindest, dass jeder der mit Resharper arbeitet sich auch schon einmal die Resharper Code Templates angeschaut hat. Denn diese sind sehr einfach zu erstellen und können einem viel Arbeit abnehmen. Außerdem kann man die Templates auch exportieren und die wichtigsten Templates für das Team auf einem Share oder Webserver als NuGet Paket für die Resharper Extensions bereitstellen.

1. Exportieren der Resharper Code Templates

Zum Exportieren der aktuellen Code Templates, im Visual Studio unter Resharper, auf “Manage Options” klicken.

image

Und in diesem Dialog unter “Import und Export” auf “Export to File” gehen.

image

Hier kann man jetzt auswählen, welche Settings man exportieren möchte und dazu gehören z.B. auch Code Styles und Live Templates. Da ich im Moment nur die Live Templates teilen möchte, exportiere ich nur diese.

image

Diese werden dann z.B. als “AlleLiveTemplates.DotSettings” im Dateisystem abgelegt.

2 Erstellen der NuGet Datei “meineLiveTemplates.nupkg”

Dafür muss eine nuspec Datei erstellt werden, welche benötigt wird um in Verbindung mit der NuGet.exe eine nupkg Datei zu erstellen in der unsere *.DotSettings eingebettet ist.

Dafür benötigt man die Nuget.exe diese kann man direkt auf der NuGet Webseite herunterladen. Der Inhalt der nuspec Datei sieht z.B. folgendermaßen aus.

Wichtig zu wissen ist, das die depenency “Wave” mit Version 5 für Resharper 10.1+ (auch 2016.1.x) ist, damit die NuGet Datei später von Resharper auch als Resharper Extension erkannt wird. Außerdem muss beim Target darauf geachtet werden, dass wie in meinem Beispiel  “AngularJsResharper.Settings” an der passenden Stelle im Target steht und mit der “id” aus “metadata” im nuspec übereinstimmen. In meinem Beispiel liegt die “AlleLiveTemplates.DotSettings” im gleichen Verzeichnis.

Das ganze sieht dann z.B. folgendermaßen aus.

image

Wenn man eine neue Version seiner nuspec erstellt, sollte man auch nicht vergessen die Versionsnummer hochzuzählen, denn dann zeigt Resharper ab Visual Studio 2015 in der Statusleiste auch an das es ein Update gibt.

Und damit ich nicht jedes mal die Konsole öffnen muss, habe ich eine bat Datei erstellt in der nur eine Zeile steht:

nuget.exe pack AngularJsResharperSettings.nuspec

Wenn man jetzt die bat Datei ausführt, sieht das Verzeichnis in meinem Fall danach so aus

image

3 Bereitstellen der nuget für die Resharper Extensions

Dafür kann man in den Resharper Optionen unter dem Punkt “Extension Manager”

image

Noch weitere Quellen angeben, z.B. ein lokales Verzeichnis oder einen Netzwerkpfad, wenn man die Einstellungen auch mit anderen Entwicklern teilen möchte und hier einfach unsere nupkg Datei einfügen und schon findet man diese auch im Resharper Extension Manager.

image

image

image

Jetzt muss man die Settings nur noch installieren und Visual Studio neustarten und schon kann man auch die bereitgestellten Templates verwenden.

Hinweis: Da ich mit den Settings etwas exzessiv auf meinem Rechner herumgespielt habe und auch meine eigenen Templates mehrmals lokal importiert und exportiert habe, scheint Resharper hier noch ein paar Bugs zu haben, denn manchmal wurden bei mir nicht alle Templates angezeigt, nachdem ich die Settings installiert hatte. Wenn Ihr daher nicht sicher seid ob alle Templates auch geladen werden, sucht euch einen Rechner von einem Arbeitskollegen der am besten bisher noch nichts mit Resharper Templates gemacht hat und schaut dort ob alles da ist.

Das ganze geht natürlich auch für ältere Resharper Versionen, hier sind die nuspec Einstellungen nur etwas anders. In der Quelle findet Ihr auch noch die Einstellungen für die älteren Resharper Versionen.

Quelle: http://asizikov.github.io/2015/07/05/sharing-resharper-settings/