Entwicklung

Arbeiten mit Visual Studio 2010

02.01.2012 von Peter Monadjemi
"Visual Studio 2010" verspricht eine hohe Entwicklerproduktivität. Hier die wichtigsten Funktionen und Änderungen gegenüber VS 2008.
Microsofts neues Logo für Visual Studio 2010

Unmittelbar nach dem ersten Start von Visual Studio 2010 fällt das neue Logo ins Auge, das sich Microsoft für das .NET-Framework 4.0 und Visual Studio 2010 hat einfallen lassen. Erste Befürchtungen, dass in der IDE gegenüber dem Vorgänger optisch alles auf den Kopf gestellt wurde, werden dann aber schnell zerstreut, denn auch der Nachfolger von VS 2008 präsentiert sich in der gewohnt sachlichen Optik, die lediglich ein wenig modernisiert und konturengeschärft wurde.

Visual Studio 2010 wurde optisch aufpoliert und wirkt nun übersichtlicher.

Auch wenn Visual Studio 2010 erstmals auf dem Windows Presentation Framework (WPF) basiert, ist davon zumindest in der Professional Edition nicht viel zu spüren. Die Distanz zu Expression Blend, dem zweiten Entwicklerwerkzeug aus dem Hause Microsoft, das vollständig auf WPF basiert, wurde gewahrt. Offensichtliche Änderungen gibt es in erster Linie beim Code-Editor, wo sich bei gedrückter Strg-Taste durch Drehen am Mausrad dank Vektorgrafik-Darstellung die Schriftgröße stufenlos verändern lässt. Auch auf die zweite gelungene und längst überfällige Innovation wird man eventuell erst per Zufall stoßen: Visual Studio 2010 unterstützt weitere angeschlossene Monitore, indem sich jedes Fenster der IDE aus dem Hauptfenster heraus frei über den erweiterten Desktop bewegen lässt. Damit ist es endlich möglich, Design- und Codeansicht auf zwei Monitoren zu betrachten.

Mehr Komfort beim Code-Editor

Es sind oft die Kleinigkeiten, die Entwickler bei einer neuen Version ihres Lieblings-Tools begeistern und bei denen man sich natürlich fragt, warum sie nicht schon vorher eingeführt wurden. Dazu gehört, neben einem verbesserten Docking-Verhalten der IDE-Fenster und dem Umstand, dass sich der Schließen-Button für ein Fenster neuerdings direkt neben dem Fenstertitel und nicht mehr weit entfernt am rechten Rand befindet, die Möglichkeit, Typen im Quellcode benutzen zu können, bevor sie definiert wurden. Gibt ein C#-Entwickler den Befehl

NewType nt = new NewType();

Existiert ein Typ bei der Eingabe nicht, kann er nachträglich angelegt werden.

ein, hat dieser harmlose Befehl bei VS 2008 immer dann einen Compiler-Fehler zur Folge, wenn der Typ NewType nicht existiert. Bei VS 2010 bietet die IDE über eine SmartTag-Auswahlliste an, den noch nicht existierenden Typ zu definieren.

Collaborative Debugging

Welche Möglichkeiten die Umstellung auf WPF bei einem Code-Editor bietet, macht der Umstand deutlich, dass das Ergebnis von Ausdrücken, die während einer Debug-Sitzung ausgewertet werden, mit einer Anmerkung ("DataTip") versehen und das kleine Kästchen frei im Editorfenster platziert werden kann. Auch Haltepunkte lassen sich mit solchen Anmerkungen erklären. DataTips können, genau wie Haltepunkte, exportiert und damit einem Entwicklerkollegen zur Verfügung gestellt werden, der am selben Projekt arbeitet.

Zwei weitere Neuerungen sollen zu mehr Übersicht im Quellcode führen: Markiert man einen Symbolnamen, werden alle Stellen, an denen der Name im Quellcode vorkommt, optisch hervorgehoben. Wird der Cursor auf ein Methoden-Member platziert und aus dem Kontextmenü der Eintrag "Aufrufhierarchie anzeigen" gewählt, zeigt das Aufrufhierarchie-Fenster an, welche Methoden sich gegenseitig aufrufen.

IntelliTrace zeichnet die Programmausführung auf und ermöglicht es, diese rückwärts zu verfolgen.

Ein für Entwickler besonders spannendes Feature in VS 2010 heißt "Intellitrace" - zu Beginn der Betaphase noch als "Historical Debugger" bekannt. Hat man Intellitrace in den Optionen aktiviert, werden die ausgeführten Programmabschnitte in Form von Events aufgezeichnet, so dass es während einer Programmunterbrechung mit Hilfe der in der Randspalte angezeigten Intellitrace-Symbole möglich ist, die Codeausführung rückwärts zu verfolgen, indem ein aufgezeichnetes Event angesteuert wird. Über das Intellitrace-Kontextmenü lässt sich feststellen, wie oft eine bestimmte Zeile oder Methode aufgerufen wurde und welche Befehle davor ausgeführt wurden. Intellitrace dürfte dazu beitragen, dass sich die Entwicklungszeit in größeren Projekten deutlich reduziert.

Ein interessanter Aspekt ergibt sich hier auch im Zusammenhang mit dem "Microsoft Test Manager 2010". Anwender können einen Testverlauf mit einem aufgezeichneten Intellitrace-Logfile verknüpfen, so dass ein Entwickler durch Importieren des Logfiles sofort jene Stellen im Quellcode ansteuern kann, an denen der Tester einen Bug gefunden hat. Leider ist Intellitrace nur in der Ultimate Edition von VS erhältlich und funktioniert auch nur mit 32-Bit-Managed-Code. Unterstützung für C++ wurde von Microsoft allerdings in Aussicht gestellt.

Raum für Verbesserungen

Der Umstand, dass im Code-Editor jederzeit weitere Ebenen über den Quellcode gelegt werden können und es auf diese Weise zum Beispiel möglich ist, XML-Kommentare optisch deutlich einfacher in die Quellcode-Ansicht zu integrieren, wird bei VS 2010 noch relativ wenig genutzt. Das große Potenzial, das die Umstellung auf WPF für die Codedarstellung birgt, wird wohl erst durch Erweiterungen von Drittanbietern und künftigen Versionen von Visual Studio ausgereizt werden. Immerhin bietet VS 2010 einen komfortablen "XSD Schema Designer", der die Möglichkeiten von WPF für die optische Darstellung eines XML Schemas nutzt.

Entwickeln für SharePoint

Visual Studio 2010 bietet eine reichhaltige Auswahl an Vorlagen, vor allem für die SharePoint-Entwicklung.

Bei VS 2010 ist mit SharePoint eine weitere Plattform hinzugekommen, die schon aus strategischen Gründen eine wichtige Rolle spielt. Es gab in der Vergangenheit häufig Kritik, dass die Entwicklung von SharePoint-Erweiterungen mit Visual Studio nur mit Hilfe halboffizieller Zusatzprodukte möglich war. Mit VS 2010 hat sich das komplett geändert. Von Anfang an stehen ein Dutzend SharePoint-Vorlagen für C# und Visual Basic zur Verfügung, die alle wichtigen Bereiche der SharePoint-Entwicklung vom Webpart (unterstützt durch jenen Designer, der auch für ASP.NET User Controls verwendet wird) bis zur Site-Definition abdecken. Das Deployment einer SharePoint-Erweiterung beschränkt sich auf das Drücken der F5-Taste. Was die Freude über den gewonnenen Komfort etwas trüben könnte, ist der Umstand, dass der neue Komfort nur für SharePoint 2010 zur Verfügung steht.

In Zukunft parallel?

Das parallele Stapelfenster zeigt, welche Threads aktuell ausgeführt werden.

Relativ unbemerkt hat Microsoft mit .NET 4.0 einen Paradigmenwechsel eingeleitet. Erstmals sind Klassen und Tools für die parallele Programmierung ein offizieller Bestandteil des Frameworks und der IDE. Das Framework bietet mit der Klasse Task im neuen Namespace "System.Threading.Tasks" sowie mit einer Reihe von Erweiterungsmethoden für LINQ-Abfragen (PLINQ = Parallel Language Integrated Query) eine einfache und entwicklerfreundliche Schnittstelle, um einen Codebereich zu "parallelisieren", indem dieser auf den zur Verfügung stehenden Kernen gleichzeitig ausgeführt wird. Der Visual-Studio-Debugger bietet ein Parallel-Aufgaben- und ein Parallel-Stapel-Fenster, in dem während einer Debug-Sitzung die verschiedenen Tasks und deren Aufrufstapel angezeigt werden. Parallele Programmierung muss nicht kompliziert sein.

Im einfachsten Fall sorgt ein angehängtes "AsParallel" dafür, dass eine LINQ-Abfrage parallel ausgeführt wird:

var res = from k in Kunden.AsParallel() where k.PLZ == 73732 select k.

WPF oder besser Silverlight?

Der Umstand, dass Microsoft bei Visual Studio 2010 erstmals auf WPF setzt, darf nicht darüber hinwegtäuschen, dass der mit .NET 3.0 eingeführte Nachfolger des Windows-Forms-GUI-Pakets bislang hinter den Erwartungen zurückgeblieben ist und selbst Microsoft es außer bei Expression Blend und neuerdings in Visual Studio in keinem kommerziellen Produkt einsetzt. Mit Silverlight ist zudem eine Konkurrenz im eigenen Haus entstanden, die aus einer Teilmenge von WPF hervorgegangen ist und in der kommenden Version 4.0 im Vergleich zu WPF stark aufgeholt hat, dafür aber portabel ist und zum Beispiel auch unter Mac OS läuft.

Mit WPF 4.0 kommen zwar eine Reihe von API-Verbesserungen hinzu, offen ist aber nach wie vor die Frage, welchen Stellenwert Microsoft WPF in Zukunft beimessen wird. Immerhin bietet VS 2010 einen geringfügig verbesserten WPF-Designer, der auch für Silverlight-Anwendungen zum Einsatz kommt und bei dem Tabellen und Felder aus einer Datenquelle per Drag and Drop auf ein Fenster gezogen werden können, um auf diese Weise eine Datenbindung einzurichten. Mit dem Komfort, den Expression Blend zu bieten hat, kann sich der WPF-Designer nicht im Entferntesten messen, wenngleich dies auch nicht das strategische Ziel von Microsoft ist, da beide Werkzeuge, trotz gewisser Gemeinsamkeiten und eines kompatiblen Projektformats, zwei sehr unterschiedliche Zielgruppen ansprechen.

Visual Studio Team System 2010

Den Schwerpunkt der Neuerungen bei VS 2010 hat Microsoft auf das immer wichtiger werdende Thema Application-Lifecycle-Management (ALM) gelegt. Eine "Team System Edition" gibt es offiziell nicht mehr, denn Microsoft hat die Produktpalette kräftig durcheinandergewirbelt und sich dabei an den Bezeichnungen der Windows-SKUs (Stock Keeping Units) orientiert. Die Standard Edition wurde ersatzlos gestrichen, die Einstiegsversion für Entwickler ist damit Visual Studio 2010 Professional, mit dem sich wie bei der Vorgängerversion lediglich einfache Komponententests (Unit-Tests) vornehmen lassen. Die nächstgrößere Ausgabe ist die Premium Edition. Das neue Visual-Studio-Flaggschiff kommt jetzt mit der Ultimate Edition, die alle Client-seitigen ALM-Tools umfasst, die Microsoft für Entwickler zu bieten hat.

Neu ist "Visual Studio Test Elements 2010", mit dessen Hilfe sich im Zusammenspiel mit VS 2010 Testabläufe zusammenstellen lassen. Mit Hilfe von "Visual Studio Team Lab Management 2010" lassen sich virtuelle Server-Testumgebungen einrichten. Schließlich wird mit der Ultimate Edition der Microsoft Test Manager 2010 installiert, mit dem sich die eingerichteten Tests und Labs verwalten lassen.

Die Basis von "Visual Studio Team System 2010" ist der "Team Foundation Server" (TFS), der für grundlegende Aktivitäten wie Projekt- und Versionsverwaltung, Build-Automatisierung und Projektkennzahlen-Auswertung durch Reporting zuständig ist. In Version 2010 ist er um die Bereiche Anforderungs-Management und Testfall-Verwaltung erweitert worden. Neu hinzugekommen ist auf der Server-Seite der "Team Lab Manager", mit dem sich Entwickler und Tester virtuelle Umgebungen einrichten können, die auf Wunsch auch mehrere virtuelle Server auf Basis von Hyper-V zusammenfassen.

Zwei eher nebensächliche Formalitäten sollen in Zukunft dafür sorgen, dass TFS auch für Individualentwickler und kleine Teams attraktiv wird. So wird die Installation in der Basic-Konfiguration so stark vereinfacht (es ist kein separater Domain-Controller mehr erforderlich), dass sie mit wenigen Mausklicks erledigt ist. TFS 2010 soll sich zudem auch unter Windows Vista/Windows 7 installieren lassen. Microsoft bezeichnet den neuen Installationsmodus TFS Basic auch preislich als den (lang erwarteten) Nachfolger des nach wie vor recht populären Visual Source Safe.

Die UML ist zurück

Nachdem die Unified Modeling Language (UML) zur Anwendungsmodellierung mit der Einführung von Visual Studio Team System aus strategischen Gründen "verbannt" wurde, ist sie in VS 2010 wieder vorhanden. Die Ultimate Edition bietet Modellierungsprojekte, einen komfortablen UML-Design-Editor für das Erstellen von Klassen, Use Cases und anderen UML-Artefakten sowie einen UML-Explorer, in dem das aktuelle Modell mit seinen Elementen angezeigt wird. Der Programmcode für Klassen lässt sich aus einem Modell aber nicht ableiten, was nicht unbedingt ein Nachteil ist. Microsofts eigene Modellierungssprache M kommt noch immer nicht aus den Startlöchern und soll sich in der ersten Fassung zudem auf das Datenbankdesign beschränken. Die einzelnen Technologien zur Modellierung, die bislang unter dem Namen "Oslo" zusammengefasst wurden, tragen seit November 2009 den Namen "SQL Server Modeling". (ue)

VS 2010 auf einen Blick

Visual Studio 2010 lässt, was unterstützte Projekttypen im Windows-Umfeld angeht, kaum Wünsche offen. Von der traditionellen WinForms-Anwendung über WPF, ASP.NET, Silverlight und SharePoint bis Cloud Computing ist alles dabei.

Links und Zitate

Links:

Zitate:

"Der neue Code Editor gefällt mir vor allem deshalb, weil man ihn leicht und flexibel erweitern kann. Darüber hinaus unterstützt der WPF Designer endlich wieder das Data Source Window, was die Produktivität deutlich steigert."

Jörg Neumann, Principal Consultant bei der Acando GmbH in Hamburg

"Bei Visual Studio 2010 kommt kein Bug mehr unreproduziert davon - dank IntelliTrace, Lab Management und dem Microsoft Test Manager."

Neno Loje, Architect Consultant, AIT AG