Die wichtigsten Neuerungen von .NET 4.5.1, Visual Studio 2013 und TFS 2013

Editor & TFS

Produktivität im Editor

In den Editoren für C# und C++ gibt es nun das automatische Einfügen der schließenden Klammern, das Microsoft vorher nur als Power Tool Add-on lieferte. Bei C++ fügt sich auch das Semikolon am Zeilenende automatisch ein. "Code Information Indicators" (oder CodeLens) nennt Microsoft ein neues Feature, das zu jeder Klasse und jedem Klassenmitglied anzeigt, wie viele Verweise es im Programmcode darauf gibt. Die Liste der Verweise kann sich der Entwickler anzeigen lassen, und zu jeder Fundstelle sieht er eine Vorschau (s. Abb. 5). Eine Vorschau auf eine Definition erhält er auch mit dem neuen Kontextmenüpunkt "Peek Definition". CodeLens kann weitere Informationen wie die Anzahl der Tests für eine Methode und der ins Quellcodesystem eingespeisten Änderungen sowie den Namen des letzten Bearbeiters anzeigen. Die CodeLens-Indikatoren liegen nicht in der Quellcodedatei selbst, sondern werden von Visual Studio nur im Editor ad hoc eingeblendet. Sie bekommen daher keine Zeilennummer.

Die Laufleiste zeigte in farbigen Blöcken bisher nur die Orte der letzten Änderungen an. Nun sieht man auch Haltepunkte und Lesezeichen. Alternativ zur bisherigen schmalen Darstellung bietet die Leiste jetzt eine kleine Code-Vorschau (Map Mode). Auch dieses Feature wurde aus den Power Tools ins Hauptprodukt übernommen. Mit Strg + kann der Entwickler einen neuen Navigationsdialog aufrufen, der nicht wie das "Navigate To"-Fenster bisher ein modaler Dialog ist, sondern sich in die rechte obere Ecke des Editorfensters hängt, wo seit Visual Studio 2012 auch der Suchen-Dialog klebt. Ein einfacher Klick auf einen gefundenen Eintrag zeigt eine Vorschau, ohne die Datei dauerhaft zu öffnen.

CodeLens zeigt alle Referenzen auf die Klasse "Kunde" (Abb. 5)

Auch beim XAML-Editor für WPF-, Silverlight- und WinRT-Apps bietet Visual Studio 2013 nun einige neue Komfortfunktionen. Herausragend sind die IntelliSense-Eingaben für Datenbindungsausdrücke sowie die "Goto Definition"-Unterstützung für Tags, Datenbindungsausdrücke und Styles. Das beschleunigt die tägliche Programmierarbeit gerade beim Einsatz des beliebten MVVM-Pattern (Model View ViewModel) erheblich. Auch die aus anderen Editoren bekannten Programmcodeschnippsel gibt es nun im XAML-Editor. Wie beim HTML-Editor hält der Editor für XAML öffnende und schließende Tags synchron und entfernt überflüssige schließende Tags. Das Fenster "Document Outline" unterstützt jetzt Drag & Drop von Steuerelementen aus der Toolbox. Das "Responsiveness Tool" zum Auffinden von Leistungsanomalien, das Microsoft in Visual Studio 2012 Update 2 für mit HTML geschriebene Windows Store Apps lieferte, gibt es nun auch für XAML-Apps. Weiterhin sind Code-gesteuerte Oberflächentests jetzt für XAML-basierte Windows Store Apps möglich.

Den HTML-Editor hat Microsoft von Grund auf neu mmit Verbesserungen bei der IntelliSense und automatischen Einrückung geschrieben. Allerdings gilt der neue Editor zunächst nur für HTML- und Razor-Dateien (.cshtml, .vbhtml). Webforms-Dateien (.aspx, .ascx), Webapps für Windows 8 werden in Visual Studio 2013 noch nicht in diesen Genuss kommen.

Verbesserungen erfährt auch der JavaScript-Editor, der dem Komfort anderer Spracheditoren immer noch weit hinterher hängt. Über eine Navigationsleiste am oberen Rand des Editor-Fensters kann der Entwickler nun direkt JavaScript-Funktionen in der geöffneten Programmcodedatei anspringen. Darüber hinaus kann man im DOM-Explorer nun suchen und direkt Änderungen mit IntelliSense-Unterstützung vornehmen. Auch die JavaScript-Konsole hat IntelliSense sowie eine Objektvorschau. Im Designer-Werkzeug Blend, das bei Visual Studio mittlerweile mitgeliefert wird, kann man zeitgesteuerte Änderungen am CSS über einen Zeitstrahl-Editor definieren, wie das bisher nur für XAML ging.

Die Funktion "View in Browser" erlaubt nun, eine Webseite direkt in mehreren Browsern gleichzeitig zu öffnen. Über "Browser Link" kann Visual Studio allen so gestarteten Browsern die Anweisung senden, eine Seite neu zu laden, was hilfreich ist, wenn man eine Änderung an der Seite oder am CSS vorgenommen hat.

Viele Jahren haben die Microsoft-Entwickler darauf gewartet: Beim umfangreichen Einstellungsdialog von Visual Studio können sie nun die Fenstergröße ändern, und es gibt ein Suchfeld für Einstellungen.

Für das Application Lifecycle Management

Es gibt auch eine neue Version des Team Foundation Server (TFS), wobei wie bisher einige Funktionen des TFS 2013 so eng mit Visual Studio 2013 verwoben sind, dass sie nur in dieser Kombination laufen. TFS 2013 unterstützt PowerShell- und Windows Batch-Skripte vor und nach MSBuild-Prozessen; damit sollen Entwickler weniger häufig den Bedarf verspüren, den Build-Prozess selbst anpassen zu wollen. Wer das dennoch muss, profitiert von einer vereinfachten Vorlage für den Standard-Build-Prozess.

Microsoft öffnet sich bei der Quellcodeverwaltung weiter in Richtung Git. Seit August 2012 gibt es GIT-TF als Integration zwischen lokalen Git-Repositories und einer zentralen TFS-Versionsverwaltung. Visual Studio 2013 lässt sich nun direkt mit Git-Repositories verbinden: In den Optionen der IDE findet man neben dem Source-Control-Plug-in für den Team Foundation Server nun ein solches für Git. Der Entwickler kann mit lokalen und entfernten Git-Repositories (z. B. GitHub) arbeiten und Git-Funktionen wie Branching und Merging direkt aus dem Team Explorer heraus verwenden. TFS 2013 erlaubt außerdem, die Quellcodeverwaltung komplett in Git anstelle der bisherigen TFS-Datenbank zu führen. Viele, aber nicht alle ALM-Funktionen sind auch mit Git verfügbar. Verzichten muss der Entwickler zum Beispiel auf Gated Check-Ins, ein in TFS 2008 eingeführtes Feature, das Check-ins ablehnt, die sich nicht korrekt auf dem Server übersetzen lassen.

Der Team Explorer hat neben der Git-Integration weitere Neuerungen erfahren: Für jedes Projekt gibt es eine Startseite im Kachel-Stil mit Zugang zu den wichtigsten Gebieten (siehe rechter Teil von Abb. 6). Viele (aber noch nicht alle) Ansichten des Team Explorer kann man nun in eigenständige Fenster ablösen (siehe linker Teil). Microsoft reagierte damit auf den Wunsch vieler Benutzer, das Check-in-Fenster wieder eigenständig nutzen zu können, wie das vor Visual Studio 2012 ging.

Überarbeiteter Team Explorer mit Kacheln und der ablösbaren Ansicht "Pending Changes"(Abb. 6)

Unter "Agile Portfolio Management" versteht Microsoft die Hierarchisierung des agilen Backlogs. Einträge im Backlog können in anderen Einträgen aufgebrochen werden, um unterschiedliche Betrachtungslevel (Epics, Szenarien, Features, User Stories etc.) zu ermöglichen.

Der "Team Room" ist ein neuer Chat-Bereich in der TFS-Website, in der neben Diskussionen der Teammitglieder auch Ereignisse wie Check-ins, Änderungen an Work Items und der Status serverseitiger Builds für alle Teammitglieder sichtbar sind.

Lasttests sind in Visual Studio 2013 nicht nur wie bisher mit lokalen Agenten, sondern auch im Rahmen des Team Foundation Service, der Cloud-Variante von Microsoft ALM-Server, möglich. Für Windows Store Apps liefert der neue "Energy Consumption Profiler" eine Schätzung für den Stromverbrauch in Milliwattstunden sowie die Nutzung der Datenverbindung.

Schließlich hat Microsoft die Software InRelease von der Firma InCycle übernommen, mit der sich Softwareveröffentlichungs-Workflows definieren und automatisieren lassen. InRelease soll zukünftig Bestandteil einer TFS-Lizenz werden.