Komfortabler Dateimanager mit vielen Funktionen

Visual Studio 2008 rockt

By Sven on 15.08.2007 - 08:45 in Visual Studio 2008

Am Wochenende habe ich die Beta 2 von Visual Studio 2008 installiert. Ich war gespannt, wie sie sich in der Praxis im Vergleich zu Visual Studio 2005 schlägt, und ob die gröbsten Probleme abgestellt sind, die mich bisher von einem Produktiveinsatz abgehalten haben.

Das Kompilieren von CRT und MFC (aufgrund der WinSxS-Hölle sowie eigener Anpassungen) lief zu meiner Überraschung ziemlich problemlos durch. Wenn ich mich recht erinnere, dann ist es wohl das erste Mal, dass alle zum Kompilieren der CRT benötigten Dateien auch vorhanden sind. Beim Öffnen von mit Visual Studio 2005 erstellten Arbeitsbereichen und Projekten führt ein Assistent durch die Konvertierung. Auf Wunsch werden Sicherungsdateien erstellt, denn Visual Studio 2005 kann die konvertierten Projekte nicht mehr öffnen.

Die Projekte von SpeedCommander 12 ließen sich ohne Probleme kompilieren. Die einzige Auffälligkeit waren vier selbst geschriebene Makros für Nachrichtenhandler, die nun bereits in der MFC enthalten sind. Der Compiler bemängelte die doppelte Definition, das Entfernen der eigenen Definition löste das Problem sehr schnell.

Beim ersten längeren Arbeiten mit der IDE bemerkt man eine spürbare Verbesserung der Geschwindigkeit im Vergleich zu 2005. Der Editor reagiert besser auf Eingaben und Einfügeoperationen per Makro, das Aktualisieren der IntelliSense-Datenbank läuft geschmeidig im Hintergrund. Auch das Kompilieren aller Projekte per Batchdatei läuft jetzt schneller ab.

Schon Visual Studio 2005 hat beim Erstellen von Projekten mehrere Prozessoren unterstützt, nicht voneinander abhängige Projekte wurden nebeneinander kompiliert. Ab sofort gibt es zudem noch die Möglichkeit, innerhalb eines Projektes mehrere Dateien gleichzeitig zu kompilieren. Der neue Schalter /MP sorgt dafür, dass entsprechend der Anzahl der vorhandenen Prozessoren mehrere cl.exe-Prozesse gestartet werden. Durch Hinzufügen eines Parameters von 1 bis 65536 lässt sich die automatische Erkennung auch umgehen und die Anzahl der gewünschten Prozesse explizit vorgeben. Vor der Verwendung von /MP muss jedoch die Option /Gm (Incremental Rebuild) deaktiviert werden, beide Optionen sind nicht miteinander kompatibel. Mit /MP werden laut Taskmanager beide Cores zu jeweils 100% ausgelastet, so dass sich ein QuadCore-Prozessor bald lohnen könnte.

Die Integration in Vista ist ebenfalls sehr gelungen. Alle Dateisymbole für die von Visual Studio verwendeten Dateitypen liegen in der Größe von 256×256 Punkten vor, worüber sich das Auge besonders bei Überschreibe- und Löschdialogen freut. Auch die Unterstützung von UAC funktioniert klasse. Für die Erstellung eines UAC-konformen Manifests gibt es den neuen Schalter /MANIFESTUAC, per Einstellungsseite lassen sich alle möglichen Elemente bequem anwählen:

Das mühsame Erstellen und Einbinden eines eigenen Manifests ist damit endlich Geschichte.

Visual Studio 2008 erkennt beim Debuggen ebenfalls, ob eine Anwendung erhöhte Rechte benötigt. In diesem Fall bietet es an, die aktuelle Umgebung zu sichern und sich automatisch mit erhöhten Rechten zu starten und die Debugsitzung durchzuführen:

Der Debugger selbst ist natürlich wieder ein Traum. Völlig überrascht hat mich, dass beim Debuggen einer optimierten Release-Version sämtliche Variablen komplett angezeigt wurden. Vom VC 6 war ich bisher anderes gewöhnt, aber der ist ja nun auch schon etwas älter. Wenn man im Thread-Fenster mit der Maus auf die jeweils ausgeführte Funktion zeigt, dann erscheint ein kleines InfoTip-Fenster mit dem kompletten Aufrufstack des Threads. Ein Doppelklick öffnet die entsprechende Quellcodedatei, man sieht damit sofort, wo der Thread gerade wartet. Möglicherweise war dies im Visual Studio 2005 aber auch schon so, die Win32-Versionen habe ich fast ausschließlich im VC 6 entwickelt.

Das Debuggen auf anderen Systemen läuft dank Remote-Debugger ganz einfach. Auf dem Zielsystem muss lediglich der Remote-Debugger installiert werden, die Installationsdatei befindet sich auf der VS 2008-DVD im Ordner „I:\Remote Debugger\x86“. Anschließend muss der Remote-Debugger nur noch in den Projekteigenschaften unter „Debugging“ aktiviert werden. Nach Eingabe des Namens vom entfernten Rechner und der Zieldatei (diese muss vom entfernten Rechner erreichbar sein) kann es schon losgehen. Die Anwendung lässt sich so wunderbar in einer VM debuggen und man muss sein Entwicklungssystem so überhaupt nicht mehr verlassen.

Nun warte ich sehnsüchtig auf eine neue Version von Visual Assist, in den kommenden Wochen soll eine erste Beta erscheinen. Ohne VA wirken die Quelltexte leider wie grauer Einheitsbrei.

Und was machen die übrigen Punkte, die mich in Visual Studio 2005 gestört haben? Der Projektmappen-Explorer flickert immer noch, aber nicht mehr so stark wie in VS 2005. Der Aufklappstatus der Einträge wird leider immer noch gespeichert. An die etwas größere Fontdarstellung werde ich mich wohl gewöhnen müssen, ebenso an das fehlende WndTabs. Die Probleme mit dem Dialog- und Stringtabelleneditor sind gelöst, nur das einzeilige Eingabefeld stört noch etwas. Zur Not kann man längere Texte aber auch in einem externen Editor schreiben und anschließend in das Eingabefeld kopieren.

Für das leidige ClassWizard-Problem habe ich mir ein kleines Makro geschrieben, das die gröbsten Unannehmlichkeiten beseitigt. Mehr dazu aber in einem späteren Beitrag.

Es gibt 6 Kommentare zu diesem Beitrag

Trackback URL | RSS-Feed für Kommentare

  1. Oliver sagt:

    Hallo Sven. Da du ja öfter über VS berichtest, wollte ich mal fragen, ob du auch so kleine Helferlein wie Visual AssistX benutzt – und wenn ja, ob du noch andere neben Visual AssistX kennst, die man beim täglichen Arbeiten mit VS nicht mehr missen möchte.

    Danke,

    Oliver

  2. Sven sagt:

    Visual Assist ist ein absolutes Muss, ohne ihm sieht der Quelltext nur wie eine öde schwarze Textwüste aus. Ein weitere Notwendigkeit wäre eigentlich [url=http://www.wndtabs.com/]WndTabs[/url], doch das gibt es leider nur bis zum VC6. WndTabs erleichtert die Verwaltung der offenen Dokumente enorm und macht sie sehr viel übersichtlicher.

    Für den VC6 empfiehlt sich auch noch [url=http://fly.srk.fer.hr/~gmit/smarthelp.htm]SmartHelp[/url]. Mit dessen Hilfe lässt sich die MSDN-Library (bis Oktober 2001) direkt im VC6 anschauen.

  3. Oliver sagt:

    Danke. Visual C++ 6 habe ich verschrottet. Das gleiche läßt sich auch mit dem DDK/WDK und wesentlich standardkonformer (im Hinblick auf C++) erreichen (i.e. Linken gegen die alte MFC/ATL und die msvcrt.dll, die ja mittlerweile zur „well-known DLL“ geadelt worden ist).

    Falls du irgendein tolles Tool findest, was die Entwicklung mit VS ähnlich wie VAX deutlich erleichtert, würde ich mich freuen im Blog etwas drüber zu lesen.

    Gruß,

    Oliver

  4. Gerhard sagt:

    ich habe mir die Beta jetzt auch mal geladen. Leider kann er keine MFCs finden. Müssen die irgendwo getrennt geladen und installiert werden oder hast du die von der 2005er Version (ich arbeite noch mit VC++ 6.

    Gerhard

  5. Sven sagt:

    Hast Du Dir vielleicht nur die Express-Version geladen? Dort ist generell keine MFC dabei. Wenn man mit der MFC programmieren will, dann braucht man mindestens die Standardversion von Visual Studio.

  6. Gerhard sagt:

    ja, das ist wohl mein Problem. Ich dachte ich kann kleinere Tests auch mit der Express-Version machen. Das geht aber wohl nur ohne MFC 🙁

    Gerhard

Top