Autoformatierung von : base im Visual Studio

Eine Automatik ist nur dann gut wenn man sie abschalten kann. So ist es auch manchmal beim Visual Studio mit der automatischen Codeformatierung. So nehme man folgende Klasse:

public class Trash: ContextBoundObject
{
    public Trash() : base()
    {
       throw new NotImplementedException();
    }
}

Die automatische Codeformatierung mach daraus folgendes:

public class Trash: ContextBoundObject
{
    public Trash()
        : base()
    {
       throw new NotImplementedException();
    }
}

Das „base“ wird dabei einfach umgebrochen. Das Problem ist das es (augenscheinlich) keine Einstellung gibt um das ganze zu verhindern.

Der Visual Studio Options Dialog

Und so muss man mit einer Automatik leben, die man nicht deaktivieren kann. Da sollte Microsoft mal etwas nachbessern oder mir verraten wie es geht ;)

Weitere Informationen gibt es unter:
https://seeseekey.net/archive/2434
http://stackoverflow.com/questions/1023014/how-to-stop-visual-studio-from-auto-formatting-certain-parts-of-code

Exceptions zwangsweise fangen

Manchmal möchte man im Visual Studio Exceptions fangen obwohl sie z.B. in einem „try catch“ Block liegen. Dies ist relativ einfach möglich sobald man weiß an welcher Stelle man suchen muss. Im Menü „Debug“ gibt es den passenden Menüpunkt:

Wenn man dort den Punkt „Exceptions…“ aufruft bekommt man folgendes Dialogfenster zu sehen:

In diesem kann man dann alle Exceptions angeben welche zwangsweise gefangen werden sollen.

Weitere Informationen gibt es unter:
http://de.wikipedia.org/wiki/Visual_Studio

Solution Explorer Selektion im Visual Studio zusammenklappen

Im Visual Studio gibt es den sogenannten „Solution Explorer“. Das Problem mit diesem ist, das er, sobald man ein paar Projekte (z.B. Bibliotheken) hineinpackt, das ganze doch ziemlich unübersichtlich wird. So fängt man dann an die Projekte in der Solution zusammenzuklappen. Das macht bei 30 oder 40 Projekten in einer Solution aber keinen Spaß mehr.

Aus diesem Grund gibt es das AddIn „Collapse Selection In Solution Explorer“ von Microsoft welches unter http://visualstudiogallery.msdn.microsoft.com/cb0ec47d-05a4-40a7-ba39-9a2da6492f1c/ zu finden ist. Dieses AddIn fügt dem „Solution Explorer“ einen kleinen neuen Button hinzu, mit welchem sich die Selektion und alle untergeordneten Elemente einklappen lassen.

Probleme beim Debuggen im Visual Studio / MonoDevelop

Bei einem C# Projekt von mir, welches ich in Visual Studio und MonoDevelop bearbeite, gab es einige Probleme mit dem debuggen. Unter MonoDevelop reichte es die Hauptklasse anzugeben, so das er in diese springen konnte.

Bei Visual Studio fruchtete dies leider nicht. Dort stellt sich die Frage ob es eventuell eine Inkompatibilität zwischen den Projektdateien gibt. Hier ist wohl weitere Forschung nötig.

Weitere Informationen gibt es unter:
http://de.wikipedia.org/wiki/MonoDevelop
http://de.wikipedia.org/wiki/Visual_Studio

Visual Studio ignoriert die Haltepunkte beim Debuggen

Manchmal kann einen die Softwareentwicklung schon in den Wahnsinn treiben, vor allem wenn es um triviale Dinge geht. So sollte es ja eigentlich selbstverständlich sein, das der Debugger an einem Haltepunkt hält. Mein erster Gedanke war, das es daran liegt das ich das Projekt im Debugmodus auf „Any CPU“ eingestellt habe. Sobald ich es auf „x86“ oder „x64“ gestellt habe, hielt der Debugger an der gewünschten Stelle. Allerdings hatte ich ein ähnliches Projekt mit fast den selben Einstellungen (auch „Any CPU“), doch dort funktionierte es mit dem Debugger. Also sollte es ein Vergleich der Projektdateien richten. Nach einiger Zeit war hier auch kein Erfolg zu melden.

Beim Starten des Projektes fiel mir allerdings auf das die Haltepunkte ausgeblendet wurden:

Im Tooltip zu den Haltepunkten stand dann:

No symbols have been loaded for this document

Dies brachte mich dazu in das „bin/Debug“ Verzeichnis zu schauen und siehe da, es gab keine pdb Dateien für das Projekt. Um die pdb Dateien für das Projekt anzulegen, geht man in die Projekteinstellungen, dort auf „Build“ und dann auf „Advanced“.

In dem sich darauf öffnenden Dialog stellt man die „Debug info“ auf „full“. Damit sollten die PDB Dateien erzeugt werden und das debuggen wieder funktionieren.

Weitere Informationen gibt es unter:
http://en.wikipedia.org/wiki/Program_database
http://msdn.microsoft.com/en-us/library/yd4f8bd1%28v=vs.71%29.aspx
http://geekswithblogs.net/dbutscher/archive/2007/06/26/113472.aspx
http://www.wintellect.com/CS/blogs/jrobbins/archive/2009/05/11/pdb-files-what-every-developer-must-know.aspx