Did you know that you can navigate the posts by swiping left and right?

10 Tools und Add-Ins die zu Visual Studio einfach dazu gehören

31 Jul 2007 . Unknown . Comments

Man sieht sie ja immer wieder, die "Top-10"-Listen für diverse Bereiche. Und auch im MSDN Magazine gab es im Dezember 2005 einen Artikel "Visual Studio Add-Ins Every Develper Should Download Now". Nun hat aber jeder seine eigenen Vorlieben und auch andere Präferenzen. Im folgenden deshalb eine Auswahl der Tools und Add-Ins, die ich während meiner Arbeit am häufigsten einsetze.

VisualSVN

Da ich viel mit Subversion arbeite um meine Quellcodes zu verwalten habe ich natürlich nach einer Möglichkeit gesucht, dass auch in Visual Studio möglichst bequem zu integrieren. Dabei bin ich auf einige wenige Add-Ins gestoßen, die jedoch bei näherem Betrachten nicht wirklich gut funktionierten und mich bei meiner Arbeit eher behinderten. Schliesslich habe ich nach langem Suchen VisualSVN gefunden, dass inzwischen in der Version 1.2.2 vorliegt. Es benötigt zusätzlich noch TortoiseSVN, ein kostenloses Tool zur Verwaltung der Subversion-Repositorys welches sich in den Windows-Explorer integriert. VisualSVN selbst macht seine Arbeit danach still im Hintergrund: Neue Dateien werden automatisch zum Repository hinzugefügt, wird eine Datei verschoben bleibt die Historie in Subversion erhalten und auch das Umbenennen klappt unproblematisch ohne das ich mich mit zusätzlichen Schritten abgeben muss. Die Interaktion mit Subversion läuft vollständig im Hintergrund ab so dass man während seiner Arbeit nicht unterbrochen wird. Erst am Schluss geht man auf ein Menü und wählt den Punkt "Commit..." um seine Änderungen hochzuladen. Fast alle anderen aus TortoiseSVN bekannten Befehle stehen natürlich ebenfalls über das Menü zur Verfügung (Update, Show Changes, Request Lock, ...).

Preis: Eine Lizenz für Privatnutzer kostet $49, aktive Open-Source-Projekte können jedoch auch eine kostenlose Lizenz beantragen. Im übrigen auch das einzige kostenpflichtige Add-In, dass ich hier empfehle - aber es ist jeden Cent wert wenn man viel mit Subversion arbeitet!

Download: VisualSVN 1.2.2

Versioning Controlled Build

Beim erstellen eines Projektes legt Visual Studio automatisch eine Datei AssemblyInfo an, in der unter anderem auch verschiedene Versionsnummern gespeichert werden. Jetzt kann man entweder selbst daran denken diese bei entsprechenden Programmänderungen zu erhöhen oder man ersetzt die letzten beiden Stellen für die Build- und die Revision-Number durch einen Stern (*). Visual Studio setzt die beiden Werte dann in Abhängigkeit des aktuellen Datums und der Uhrzeit zum Zeitpunkt des Buildvorganges. Dabei entstehen dann allerdings diese meist vierstelligen Versionsnummern, die sich eh niemand merken kann. Und spätestens wenn man in einer Solution mehrere Projekte hat, beispielsweise zusätzliche DLL-Dateien, hat man zig Versionsnummern um die man sich kümmern muss und die man deshalb meistens eher vernachlässigt.

Dabei wäre es ziemlich praktisch, dass bei einem Build automatisch bsp. die Build-Version um eins erhöht wird und alle Projekte innerhalb einer Solution mit angepasst und synchronisiert werden. Das und noch einiges mehr macht das Add-In Versioning Controlled Build (VCB) von Julijan Sribar. Alle Funktionen hier zu beschreiben würde lange dauern und ist auch völlig unnötig: Auf der Projektseite auf Code Project ist eine sehr ausführliche und bebilderte Dokumentation zu finden.

Noch ein Installationshinweis unter Vista: Ich bin bei der Installation des Add-Ins unter Windows Vista beinahe verrückt geworden. Selbst wenn man die Anwendung als Administrator gestartet hat ist der Installer abgestürzt. Um es dennoch ans Laufen zu bringen einfach in der Systemsteuerung vorübergehend die UAC abschalten, den Hinweis auf den notwendigen Neustart ignorieren, im Startmenü die Kommandozeile mit rechts anklicken und als Administrator starten, dort dann den Installer manuell aufrufen ("msiexec /i BuildAutoIncrementSetup2005.msi") und am Ende die UAC wieder einschalten. Danach hat auch die Installation unter Vista endlich fehlerfrei funktioniert. :-)

Download: Versioning Controlled Build

 

CopySourceAsHtml (CSAH)

Zu dem Add-In ist wenig zu sagen - es kopiert den markierten Code in die Zwischenablage und formatiert ihn dabei gleichzeit mit HTML-Tags. Dabei werden die Farb- und Texteinstellungen übernommen, die auch in Visual Studio eingestellt sind. Ein nützliches Tool für alle, die auch mal Sourcecode im Internet veröffentlichen wollen.

Beispiel:

  451     /// <summary>

  452     /// Calculates the calendarweek by a commited date

  453     /// </summary>

  454     /// <param name="dat"></param>

  455     /// <returns></returns>

  456     public virtual int date2kw( DateTime dat ) {

  457       CultureInfo currentCulture = CultureInfo.CurrentCulture;

  458       Calendar cal = currentCulture.Calendar;

  459 

  460       int calWeek = cal.GetWeekOfYear( dat, currentCulture.DateTimeFormat.CalendarWeekRule, currentCulture.DateTimeFormat.FirstDayOfWeek );

  461       if ( calWeek > 52 ) {

  462         dat = dat.AddDays( 7 );

  463         int test = cal.GetWeekOfYear( dat, currentCulture.DateTimeFormat.CalendarWeekRule, currentCulture.DateTimeFormat.FirstDayOfWeek );

  464         if ( test == 2 )

  465           calWeek = 1;

  466       }

  467       return calWeek;

  468     }

 

Download: CopySourceAsHtml

 

Smart Paster

Den umgekehrten Weg wie CSAH geht das Add-In Smart Paster. Mit ihm kann man den Inhalt der Zwischenablage in Visual Studio kopieren und dabei direkt umwandeln in einen Kommentar, einen String, einen StringBuilder, eine Region oder einen XML-Kommentar. Die notwendigen Encodierungen werden dabei automatisch vorgenommen. So werden auch beispielsweise sehr lange SQL-Querys zum Kinderspiel. Die Konfiguration wird über einen kleinen Dialog vorgenommen.

Download: Smart Paster 1.1 (with "XML Document Comment" function)
Homepage: Originalversion

 

Resource Refactoring Tool

Bleiben wir bei der Verarbeitung von Zeichenketten: Das Resource Refactoring Tool ermöglicht es über einen neuen Eintrag im Kontextmenü hardcoded Strings in Resource-Dateien auszulagern und den ursprünglichen String durch einen entsprechenden Verweis zu ersetzen. Die Vorteile liegen auf der Hand: Gleiche Texte müssen nicht mehrmals eingegeben werden sondern werden zentral in der Resourcen-Datei verwaltet. Das ermöglicht auch ein schnelles und einfaches Übersetzen in weitere Sprachen oder das Ändern von Formulierungen in der gesamten Anwendung an nur einer Stelle.

Download: Resource Refactoring Tool

 

Koders IDE Plugin

Zugegeben, das Add-In wird wohl nur der nutzen, der auch häufig die Suche von Koders verwendet. Weiter haben die meisten Code- und Snippet-Sammlungen inzwischen ein eigenes Add-In, dass sich auf ähnliche Weise in Visual Studio einbindet. Was mir an diesem gut gefällt ist die Suche nach Treffern schon während der Eingabe ohne das ich die Suche explizit starten muss. So genügt es beispielsweise den Header für eine md5-Funktion einzugeben und es wird über dem Cursor ein kleiner Hinweis angezeigt mit der Zahl der gefundenen Ergebnisse. Wenige Klicks später hat man den Code auch schon in sein eigenes Projekt integriert.

Download: Koders IDE Plugin

 

GhostDoc

Das Add-In gibt es inzwischen in der Version 2.1.1, die auch mit der Beta von Orcas funktionieren soll. Was das Programm macht ist schnell erklärt: Es nimmt dem Entwickler einen Teil der mühsamen Arbeit ab seine Methoden, Klassen, ... mit XML-Kommentaren zu versehen. Die Zusammenfassung und ggf. die Benennung der Parameter werden dabei aufgrund einer bereits existierenden Dokumentation (bsp. Basisklasse, ..) und durch Analyse der Namen und Typen vorgenommen. So wird aus einer Methode "UpdateProduct" die Beschreibung "Updates the product" erstellt oder aus dem Parameter "string productName" wird "Name of the product". Natürlich sind nicht alle Texte das Gelbe vom Ei und es ist in vielen Fällen noch etwas Handarbeit notwendig um die Formulierungen abzuschleifen. Dennoch nimmt es einem schon mal einen Großteil der Arbeit ab und liefert dem Entwickler ein Grundgerüst für die Dokumentation.

Download: GhostDoc 2.1.1

 

Sandcastle

Die meisten verwenden wohl zur Erstellung ihrer Dokumentationen aufgrund der XML-Kommentare die SOftware NDoc. Doch leider unterstützt diese das .NET-Framework 2.0 nicht offiziell. Nachdem Microsoft dann Sandcastle vorgestellt hat für die Erstellung der Dokumentation wollte der Autor von NDoc das Programm auch nicht mehr weiterentwickeln da Microsoft nun selber ein ähnliches Programm kostenlos anbot. Aktuell gibt es Sandcastle als CTP von Juni 2007 zum Downloaden. Einige Enthusiasten werden noch Features vermissen, die sie aus NDoc gewohnt waren, aber da es sich bisher nur um eine CTP handelt darf man noch hoffen, dass Microsoft hier nachbessert.

Download: Sandcastle - June 2007 CTP

 

Microsoft HTML Help Workshop

Ein Programm um eigene Hilfedateien zu erstellen. Ich verwende es aber meistens in Kombination mit Sancastle und DocProject um die erstellte Hilfe im HTML-Format in eine chm-Datei zu konvertieren. Das ermöglicht neben einer Onlineversion der html-Dateien auch eine Weitergabe beispielsweise mit einem Installationsprogramm oder per E-Mail.

Download: HTML Help Workshop

 

DocProject for Sandcastle

Wie schon die drei Add-Ins zuvor reiht sich auch dieses in die Erstellung einer Projektdokumentation ein. DocProject ist dabei "nur" ein neuer Projekttyp, der die Erstellung der Dokumentation mittels Sandcastle und dem HTML Help Workshop in einer grafischen Oberfläche verbindet und die Erstellung beim Buildvorgang automatisch mit startet.

Nach der Installation fügt man in seine aktuelle Solution ein neues Projekt vom Typ DocProject ein. Es startet automatisch ein Assistent, der einige Informationen zur Dokumentation abfragt wie beispielsweise das gewünschte Layout. Hat man eigene XML-Kommentare in den Quellcode eingefügt (bsp. mittels GhostDoc), so sollte man nicht vergessen in den Projekteigenschaften die Erstellung der XML-Datei zu aktivieren. Anschliessend startet man den Buildvorgang für die gesamte Solution und nach Kompilierung aller anderen Projekte wird dann automatisch die Dokumentation mittels Sandcastle erstellt.

Download: DocProject for Sandcastle


 

So, das waren meine zehn Favoriten die mir das Leben mit Visual Studio doch wesentlich erleichtern. Sicher gibt es noch andere nette Tools und Add-Ins, die ich bisher noch nicht probiert, gebraucht oder einfach auch noch nicht gefunden habe. Aber für einen etwas anspruchsvolleren 08/15-Programmierer ist das sicher auch so schon eine ganz brauchbare Zusammenstellung. Und wenn nur einer in der Liste ein Add-In gefunden hat, dass ihm die Arbeit zukünftig erleichtert, hat sich die ganze Tipparbeit schon gelohnt. ;-)

-- Gordon

Questions/Suggestions
As always, for questions or feedback, contact me or leave a comment.

Octocat by GitHubEdit this page on GitHub