code it

Martins Tech Blog

StyleCop Upgrade Dialog verhindern

StyleCop ist ein wirklich gutes Tool zur Unterstützung der Durchsetzung von Coding Guidelines. Mit Version 4.5 ist es auch nicht mehr notwendig zusätzlicher AddOns zu installieren, damit es sich automatisch in Resharper integriert - das übernimmt alles die Installationsroutine von StyleCop.
 
Seit der Installation beglückt mich StyleCop nun aber jeden Morgen mit der freudigen Nachricht, dass es wieder eine neue Version zum Herunterladen gibt, die ich doch bitte installieren soll. Vielleicht waren die Releasezyklen von StyleCop auch bisher so kurz und ich habe es nur nicht gemerkt, weil es dieses Check-Feature bisher nicht gab. Auf jeden Fall kann dieser Dialog ganz schön nervig sein, da er wenn man ihn denn mit Nein beantwortet, bei jedem Start von Visual Studio wieder kommt und es keine offensichtliche Möglichkeit gibt, diesen zu unterbinden.
 
Für das Problem gibt es zwei Lösungen:
Die erste Lösung setzt voraus, dass man Resharper installiert. In diesem Fall gibt es in den Optionen von Resharper unter dem Punkt Tools/StyleCop die Möglichkeit, einzustellen, ob und wann StyleCop nach Upgrades suchen soll. Im Standard ist hier "Every Time Visual Studio starts" aktiviert.
Die zweite Lösung ist das manuelle Setzen der Einstellungen in der Registry. Die Einstellungen finden sich dort unter HKEY_CURRENT_USER\Software\CodePlex\StyleCop.
 
Wenn man der Diskussion auf Codeplex und der dort genannten Releaseplanung Glauben schenken darf, wird es in Version 5.0 von Stylecop auch eine Möglichkeit geben, diese Einstellung direkt über einen von StyleCop mitgelieferten Konfigurationsdialog zu editieren (für all die Anwender, die kein Resharper haben).

Remote Desktop Connection Manager

Wer oft mit vielen Remote-Desktop-Verbindungen arbeitet kennt das Problem: Für jede Verbindung wird eine eigene *.rdp-Datei angelegt und diese Dateien schwirren dann irgendwo auf dem System herum. Nun bin ich letzte Woche dank eines Tipps über ein sehr nützliches Tool gestolpert, das es seit etwa 10 Monaten gibt und das auch schon öfter in diversen Blogs vorgestellt wurde (z.B. auch im Code-Inside Blog) - der Remote Desktop Connection Manager.

Hier lassen sich mehrere Remote Desktop Connections zu Gruppen zusammenfassen. Diesen Gruppen kann man gemeinsame Einstellungen verpassen, so dass beispielsweise alle Verbindungen der gleichen Gruppe mit identischen Credentials geöffnet werden, die man dann nur in den Gruppeneigenschaften pflegen muss. Diese Vererbung beschränkt sich aber nicht nur auf Credentials, sondern auch auf andere Eigenschaften wie Bildschirmauflösung, Audioeinstellungen usw. Natürlich lassen sich die Einstellungen auch pro Verbindung einzeln konfigurieren.

Im Gegensatz zu den *.rdp-Dateien können hier innerhalb der Datenstruktur auch Credentials gespeichert werden, was ebenfalls ein Vorteil ist. Die Import-Schnittstelle aus Textdateien ist inzwischen als deprecated gekennzeichnet, aber *.rdg-Dateien sind relativ selbsterklärende XML-Strukturen. Ist das Kennwort verschlüsselt abgelegt, so lässt es sich auf einem anderen Rechner nicht entschlüsseln, was aber aus meiner Sicht auch nicht weiter schlimm ist. Wenn man dieses Tool wirklich braucht, so ist man vermutlich häufig mit Admin-Rechten auf irgendwelchen Rechnern unterwegs und dann wäre es fatal, wenn man durch einfaches Kopieren der *.rdg-Datei die vollen Berechtigungen hätte, ohne Kenntnis vom Kennwort zu haben. Wie es aussieht, kann man das umgehen, indem man das Kennwort im Klartext speichert und dann sollte es problemlos möglich sein, eine *.rdg-Datei auch an Kollegen zu geben.

Plugin für LiveWriter

Heute bin ich durch Zufall auf ein Plugin für den LiveWriter gestoßen mit dem man CodeSnippets in Blogs einfügen kann. Damit würden meine Posts besser lesbar werden.

Also: Das Teil heißt treffenderweise Code Snippet plugin for Windows Live Writer. Ich bin mal gespannt, was das alles so kann. Nach der Installation befindet sich im LiveWriter unter dem Menüpunkt Einfügen ein weiterer Punkt "CodeSnippet". Im oberen Fenster gibt man den Quellcode ein - oder kopiert ;) ihn dorthin. Dann sucht man sich das Syntax-Highlighting aus und schon erhält man schön formatierten Quellcode, den der Blog-Leser auch wieder einfach kopieren kann.

Im Folgenden mal ein Beispiel:

public class Auto
{
private string marke;

/// <summary>
/// Automarke. Beschreibt das Auto.
/// </summary>
public string Marke
{
    get { return this.marke; }
    set { this.marke = value; }
}
private int ps;

/// <summary>
/// Leistung des Motors.
/// </summary>
public int Ps
{
    get { return this.ps; }
    set { this.ps = value; }
}

/// <summary>
/// Startet den Motor.
/// </summary>
public void MotorStarten()
{
    throw new System.NotImplementedException();
}

/// <summary>
/// Stoppt den Motor.
/// </summary>
/// <param name="status">Abgewürgt, ja/nein</param>
public void MotorStoppen( bool status )
{
}
}

Ich werd es für meine nächsten Posts mal verwenden und dann wird sich zeigen, wie brauchbar das Ganze ist.