Vereinfachte Benutzeroberfläche und neue Möglichkeiten
Visuelle Verbesserungen
Die IDE (die gesamte Shell und der Editor) wurde überarbeitet (basierend auf der Windows Presentation Foundation) und übersichtlicher gestaltet. Unnötige Linien und Farbverläufe wurden entfernt, damit Sie sich besser auf Ihre Arbeit konzentrieren können.
Unterstützung mehrerer Monitore
Sie können nun den Code-Editor, die Designansicht und andere Dokumentfenster außerhalb des IDE-Fensters anordnen. Das heißt, der Code-Editor und die Designansicht können nebeneinander angezeigt werden. Sie können so mit mehreren Codedateien arbeiten, ohne mehrere Instanzen von Visual Studio öffnen zu müssen.
Aktualisierter Code-Editor
Der neue Code-Editor vereinfacht das Lesen und Überprüfen von Code. Um Text zu vergrößern, halten Sie einfach die Strg-Taste gedrückt, während Sie das Mausrad bewegen. Sie können nun alle Instanzen eines Symbols in Visual C# oder Visual Basic® markieren, indem Sie auf das Symbol klicken.
Navigation
Die Suche während der Eingabe wird nun für alle Elemente in Projektmappen unterstützt, einschließlich Dateinamen, Text, Symbole und Kommentare. Sie müssen sich beispielsweise nicht mehr zwischen der Schnellsuche, der Suche in einer Datei oder der Suche im aktuellen Dokument entscheiden. Drücken Sie Strg+Komma, um auf die Navigationsfunktion zuzugreifen.
Aufrufhierarchie
Sie können schnell von einer Memberfunktion zu den Memberfunktionen wechseln, die diese aufrufen, sowie zu den Memberfunktionen, die von dieser aufgerufen werden. Dies ist insbesondere beim Analysieren von objektorientiertem Code hilfreich.
Verbessertes Debuggen
Das überarbeitete Threadfenster ermöglicht das Filtern und Gruppieren sowie das Durchsuchen und Erweitern von Aufruflisten. Außerdem können Sie Haltepunkte einfügen und suchen, und diese mit anderen Entwicklern gemeinsam verwenden.
Integrierter Erweiterungs-Manager
Der integrierte Erweiterungs-Manager vereinfacht das Herunterladen, Installieren, Freigeben und Verwalten von Vorlagen, Paketen und Komponenten. Sie können direkt in der IDE die Visual Studio-Galerie nach Erweiterungen und Assistenten durchsuchen.
Die IDE-Features entsprechen den im Projekt unterstützten Funktionen
Die Features in der IDE, beispielsweise IntelliSense®, der Code-Editor und die Toolbox, stimmen nun mit der Version von .NET Framework überein, die Sie in Ihrem Projekt als Ziel angegeben haben. Nicht unterstützte Typen, Member und Steuerelemente werden entweder überhaupt nicht mehr angezeigt oder generieren Hintergrundkompilierungsfehler. Wenn Ihr Projekt beispielsweise .NET Framework Version 2.0 als Grundlage verwendet, ist das Schlüsselwort "var" nicht in den IntelliSense-Listen aufgeführt.
Unterstützung für die Testentwicklung
Der verbesserte Code-Editor generiert neue Typen und Member im Hintergrund, wenn Sie Code erstellen, der auf diese Typen oder Member verweist. Das bedeutet, dass Sie Ihre Tests zuerst definieren und den Code später generieren können. Außerdem nutzt IntelliSense nun einen Consume-First-Modus, wenn Klassen und Member verwendet werden, bevor diese definiert wurden.
C# und Visual Basic: Ihre Wahl für die volle Leistung von .NET.
Die Unterstützung dynamischer Typen in C# und Visual Basic ermöglicht eine unkomplizierte Einbindung der neuen dynamischen Sprachen IronPython und IronRuby. Darüber hinaus wird die Arbeit mit dem Dokumentobjektmodell in Silverlight-Webseiten erleichtert.
Auch die Microsoft Office-Programmierung wurde wesentlich vereinfacht. Beide Sprachen unterstützen nun sowohl das späte Binden als auch benannte und optionale Parameter, um Aufrufe des COM-APIs einfacher zu gestalten. Außerdem vereinfacht die neue Typeinbettung die Entwicklungsarbeit, da primäre Interop-Assemblys nicht mehr erforderlich sind. (Sie können die relevanten Typen jetzt direkt in Ihre Assembly einbetten).
Neue Features in beiden Sprachen, beispielsweise die automatische Implementierung von Eigenschaften, Auflistungsinitialisierer und Arrayliteralen, vereinfachen das Schreiben von Code. Das Typsystem beider Sprachen ist mit Ko- und Kontravarianzen nun flexibler. Beide Sprachen unterstützen Lambda-Anweisungen, die insbesondere für die neue Task Parallel Library und Parallel LINQ nützlich sind.
Jede Sprache umfasst außerdem sprachspezifische Erweiterungen. C# unterstützt beispielsweise das Schlüsselwort dynamic, um die statische Typüberprüfung bei späten Bindungen zu deaktivieren. Visual Basic unterstützt wiederum die implizite Zeilenfortsetzung, um das Aufteilen von Anweisungen oder LINQ-Abfragen über mehrere Zeilen zu ermöglichen.
Es ist nun auch einfacher, die Kompatibilität mit verschiedenen Versionen von .NET Framework sicherzustellen: Die Festlegung von mehreren Zielversionen ermöglicht das Entwickeln eines Projekts in Visual Studio 2010 unter Verwendung der neuen Features beider Sprachen, auch wenn das Projekt auf einer früheren Version von .NET basiert. Darüber hinaus ermöglicht die parallele Ausführung die Verknüpfung einer ausführbaren .NET-Datei mit Assemblys, die für unterschiedliche Framework-Versionen erstellt wurden.
Visual C++®-Entwicklung
Bessere User Experience
Es wurden mehrere Verbesserungen vorgenommen, um das Reaktionsverhalten der Visual C++-IDE zu beschleunigen (insbesondere bei der Arbeit mit großen Anwendungen). Zahlreiche IDE-Komponenten, beispielsweise das IntelliSense-Modul, analysieren und verarbeiten Dateien im Hintergrund. Sie müssen nicht mehr warten, bis Visual Studio das gesamte Projekt vorverarbeitet hat, um eine Headerdatei ändern zu können, zwischen Projektelementen zu wechseln oder das Projekt neu zu konfigurieren.
Die aktualisierten IntelliSense-Features sind außerdem exakter und verarbeiten erweiterte C++-Codekonstrukte und bedingte Makros, die von früheren Versionen nicht verarbeitet werden konnten.
Verwenden bestimmter Compiler und Bibliotheken
In Visual Studio 2010 können Visual C++-Projekte das Toolset von Visual Studio 2010 oder von Visual Studio 2008 verwenden. Sie können die IDE-Erweiterungen in Visual Studio 2010 nutzen, auch wenn Sie eine ältere Version der Visual C++-Bibliotheken und Compiler verwenden. Um zwischen den Toolsets zu wechseln, müssen Sie lediglich eine Eigenschaft in Ihrer Projektdatei ändern.
Buildverbesserungen
Das alte Dateiformat für Visual C++-Projekte (.vcproj) wurde durch das neue Dateiformat (.vcxproj) ersetzt. Um einen Projektbuild zu erstellen, verwenden Sie nun MSBuild.exe anstatt VCBuild.exe. MSBuild ist eine Buildplattform von Microsoft, die bessere Diagnose, Erweiterbarkeit und Integration unterstützt.
Windows 7-Unterstützung
Visual Studio 2010 unterstützt zahlreiche Windows 7- und Windows Vista®-Features in MFC-Anwendungen (Microsoft Foundation Classes). Mit der Multi-Touch-Unterstützung können Sie beispielsweise die Vorteile der Mehrfingereingabe nutzen. Das neue Aussehen und Verhalten der MFC-Multifunktionsleiste im Stil von Windows 7 und ein visueller Designer für Funktionsleisten machen die Aktualisierung der Benutzeroberflächen in Ihren Anwendungen zum Kinderspiel. Anwendungen können sich über die MFC-Unterstützung von Sprunglisten, Aero-Miniaturansichten in der Taskleiste, angepasste allgemeine Dateidialogfelder und die Symbolvorschau auch in der Windows 7-Shell im besten Licht präsentieren. Die Unterstützung des Neustart-Managers ermöglicht es Ihren Anwendungen, einen Anwendungsneustart selbst durchzuführen und automatisch gespeicherte Benutzerdaten bei einem unerwarteten Neustart wiederherzustellen.
Neue C++0x-Sprachfeatures
Der Visual C+-Compiler umfasst fünf neue Features, um den C++0x-Standard zu unterstützen: Lambda-Ausdrücke, R-Wert-Referenzen, CompileTime-Direktiven, Ermittlung des Ausdruckstyps, Automatische Typenableitung.
Verbesserung der Codegenerierung
Am Visual C++-Compiler in Visual Studio 2010 wurden folgende Verbesserungen bezüglich der Kompilierungsgeschwindigkeit vorgenommen:
- Die LTCG-Kompilierung (Link-Time Code Generation) wurde wesentlich beschleunigt. In unseren Tests wurde ein LTCG-Build von Microsoft SQL Server (eine Anwendung mit mehr als 50 MB Text) um ca. 30% schneller erstellt.
- Die PGO-Instrumentation (Profile-Guided Optimization) ist nun ca. um einen Faktor von 1,7 schneller.
Visual F#-Entwicklung
Mit Visual Studio 2010 können Sie die Sprache F# für die Anwendungs- und Komponentenentwicklung verwenden. F# ist eine neue .NET-Programmiersprache, die auf einer Kombination von funktionaler und objektorientierter Programmierung basiert. Die F#-Sprache eignet sich für parallele, algorithmische, untersuchende und technische Programmieraufgaben. Wichtige Features:
- Unveränderlichkeit, um den F#-Code schneller zu parallelisieren und zu entkoppeln.
- Typrückschluss, um F# in Verbindung mit Typensicherheit eine prägnante und ausdrucksstarke Syntax zu verleihen.
- F# Interactive, um eine interaktive Umgebung für die F#-Entwicklung in Visual Studio bereitzustellen.
- Asynchrone Workflows, um die Entwicklung von asynchronem Code in .NET und Silverlight zu vereinfachen.
- Maßeinheiten, um in F#-Code das Nachverfolgen und Überprüfen von Einheiten, beispielsweise Meter und Sekunden, zu ermöglichen.
- Enge .NET-Integration, damit F#-Komponenten in jedem Bereich von .NET-Anwendungen implementiert werden können.
Bessere Webentwicklung
Codeausschnitte
Visual Studio 2010 enthält Codeausschnitte für HTML-, JScript- und ASP.NET-Steuerelemente, mit denen Sie Ihren Code schneller erstellen und weitergeben können. Sie können Codeausschnitte aus dem Codeausschnitt-Manager oder direkt mit IntelliSense einfügen.
Wesentliche Verbesserung von IntelliSense für JScript
- Da IntelliSense nun zwei- bis fünfmal schneller ist, wird die Verarbeitung auch bei großen Skriptbibliotheken nicht verzögert.
- IntelliSense akzeptiert verschiedene Codeformate und kann beinahe jede Bibliothek vollständig unterstützen.
- IntelliSense zeigt XML-Dokumentationskommentare während der Eingabe an.
- IntelliSense unterstützt jQuery-Bibliotheken.
Vereinfachte Webbereitstellung
Mit Visual Studio 2010 können Sie eine Webanwendung mit nur einem Mausklick verpacken und veröffentlichen.
Erstellen von Webpaketen
Das Webbereitstellungstool (MSDeploy) ermöglicht das Packen einer Webanwendung für die Bereitstellung auf einem IIS-Webserver (Internet Information Services). Ein Webpaket ist eine .zip-Datei oder eine Ordnerstruktur, die alle Komponenten enthält, die ein Webserver zum Hosten Ihrer Anwendung benötigt, einschließlich Inhalte, IIS-Einstellungen, Datenbankskripts, Komponenten, Registrierungseinstellungen und Zertifikate. Da das Webpaket alle Komponenten enthält, sind weniger Verwaltungsschritte erforderlich.
Bereitstellung mit nur einem Klick
Sie können eine Webanwendung jetzt mit nur einem Mausklick über das Webbereitstellungstool, über FTP, über kopierte Ordner oder über FrontPage-Servererweiterungen auf einem Server bereitstellen. Visual Studio speichert alle Einstellungen, beispielsweise die Bereitstellungsmethode, die Serverinformationen und die Anmeldeinformationen des Benutzers.
Aktualisieren der Webkonfiguration
Sie können Ihr Projekt nun so konfigurieren, dass die web.config-Datei während der Bereitstellung aktualisiert wird. Wenn Sie das Projekt bereitstellen, werden die Einstellungen aus der web.config-Datei automatisch an die Einstellungen auf den Debug-, Bereitstellungs- und Produktionsservern angepasst.
Test Lab Management-Features
Visual Studio Lab Management 2010 kombiniert die Virtualisierung mit der Anwendungsverwaltung, um das Erstellen von virtuellen Umgebungen zu vereinfachen und die Zusammenarbeit zwischen Entwicklern und Testern zu verbessern.
Virtualisieren des Anwendungslebenszyklus mit Visual Studio 2010
Mit Visual Studio Lab Management 2010 können Sie schnell virtuelle Umgebungen mit mehreren Computern erstellen, Anwendungen bereitstellen, Tests ausführen und Fehler protokollieren.
Schnelles Konfigurieren von virtuellen Umgebungen
Visual Studio Lab Management basiert auf dem System Center Virtual Machine Manager und ermöglicht das Erstellen virtueller Umgebungen, die mehrere virtuelle Computer umfassen, in Minutenschnelle. Außerdem ist sowohl der Zugriff auf die Umgebung als auch das Erstellen von Bildschirmabbildern ausgesprochen einfach. Sie können Netzwerkkopien der gleichen Umgebung erstellen, um die virtuellen Computer ohne IP- oder Computernamenskonflikte zu klonen.
Erstellen, Bereitstellen und Testen von Anwendungen in einer virtuellen Umgebung
Sie können einen Workflow konfigurieren, um eine virtuelle Umgebung zu verwenden. Sie können außerdem festlegen, wie ein Build erstellt werden soll, und Sie können Ihre Anwendung direkt in der Umgebung bereitstellen. Anschließend können Sie automatisierte Tests in der Umgebung ausführen und die Testergebnisse überprüfen. Da die Automatisierung der Anwendungsbereitstellung und das Testen wesentlich einfacher erfolgen, wird die Produktivität sowohl von Entwicklern also auch von Testern gesteigert.
Erstellen von Fehlerberichten, die die Testumgebung umfassen
Wenn Sie manuelle Tests durchführen und Fehler auftreten, können Sie einen Fehlerbericht erstellen, der einen Snapshot der virtuellen Umgebung umfasst, in der die Fehler aufgetreten sind. Entwickler können dann den Fehlerbericht öffnen und auf den Snapshot zugreifen, um den tatsächlichen Status der Umgebung zum Zeitpunkt des Auftretens des Fehlers zu analysieren. Dies kann die erforderliche Zeitdauer drastisch reduzieren, die zum Reproduzieren und Beheben von Fehlern erforderlich ist.
WPF und Silverlight Designer
Das Erstellen von Silverlight- und WPF-Anwendungen (Windows Presentation Foundation) ist schneller und einfacher, da in Visual Studio 2010 mehrere Verbesserungen am Designer vorgenommen wurden.
Verbesserte Unterstützung von Silverlight
Visual Studio 2010 umfasst einen integrierten Silverlight-Designer, der nicht auf ein schreibgeschütztes Vorschaufenster beschränkt ist. Beispielsweise können Sie in Silverlight-Projekten auf der Designeroberfläche Elemente mit der Maus auswählen und positionieren.
Drag & Drop-Datenbindung für WPF
Wenn Sie eine Datenquelle zu einem Projekt hinzufügen, können Sie Daten-gebundene WPF-Steuerelemente generieren, indem Sie die Elemente aus dem Fenster Datenquellen in den WPF-Designer ziehen.
Visuelle Darstellung von WPF-Objekten
Der Debugger in Visual Studio 2010 kann WPF-Objekte in einer hierarchischen Struktur übersichtlich anzeigen. Wenn Sie ein WPF-Objekt im Überwachungsfenster öffnen, wird das Objekt als WPF-Struktur zusammen mit einer Eigenschaftenliste dargestellt.
SharePoint-Integration
Visual Studio 2010 enthält neue SharePoint-Tools, die die Arbeit mit SharePoint für .NET-Entwickler einfacher und intuitiver gestalten. Diese Tools umfassen neue Projekt- und Elementvorlagen, die Sie zum Erstellen von SharePoint-Websites, Listen, Dokumentbibliotheken, Workflows und anderen SharePoint-Inhaltstypen verwenden können.
Visual Studio 2010 umfasst außerdem neue visuelle Designer für Webparts, BDC-Modelle (Business Data Catalog) und Bereitstellungspakete. Sie können den Server-Explorer verwenden, um in Visual Studio auf Ihre SharePoint-Websites zuzugreifen und durch die Hierarchie sowie die Inhalte der Websites zu navigieren.
Wenn Sie angepasste Lösungen benötigen, können Sie in Visual Studio 2010 benutzerdefinierte Webparts entwickeln oder die Tools mit dem Erweiterungs-API erweitern und anderen Entwicklern zur Verfügung stellen.
Azure-Tools für Visual Studio 2010
Die Cloud ist neu und nicht mehr aufzuhalten. Visual Studio 2010 stellt Ihnen alle Tools zur Verfügung, die erforderlich sind, um Ihre Anwendungen in Windows Azure bereitzustellen. Ihr Team kann auf dem bestehenden Kenntnisstand aufbauen. Das Testen, Debuggen und Bereitstellen erfolgt ähnlich wie mit .NET Framework und unterscheidet sich zwischen Client und Cloud kaum.
Windows Azure-Entwicklungsstruktur
Die Entwicklungsstruktur simuliert die Windows® Azure™-Struktur auf ihrem lokalen Computer, damit Sie Ihren Dienst vor der Bereitstellung lokal ausführen und testen können. Die Entwicklungsstruktur ermöglicht das Debuggen und Anpassen des Dienstverhaltens, bevor der Dienst bereitgestellt wird. Außerdem bietet die Entwicklungsstruktur eine Benutzeroberfläche zum Überwachen und Verwalten der lokalen Dienstbereitstellungen.
Integrierte Debugunterstützung
Der Debugger für die Cloud ist in Visual Studio 2010 integriert. Für das Testen auf lokalen Computern müssen Sie Ihre Qualitätssicherungsprozesse nicht ändern.
Parallelprogrammierung
Sie können nun Programme erstellen, die die Arbeitslast auf mehrere Prozessoren verteilen, ohne direkt mit Threads oder mit Threadpools arbeiten zu müssen. Visual Studio 2010 umfasst Bibliotheken für die Parallelverarbeitung mit C Runtime Library (CRT) und .NET Framework. Mit der neuen Multithread-Unterstützung im Visual Studio-Profiler und im Visual Studio-Debugger können Sie systemeigene und verwaltete Anwendungen debuggen sowie Profile erstellen.
Parallelprogrammierung in .NET Framework
.NET Framework 4 umfasst neue Bibliotheken, die die Task- und Datenparallelität, eine parallele Implementierung von LINQ to Objects (Parallel Language Integrated Query, PLINQ) und mehrere neue Datentypen für die Synchronisierung und Koordinierung der parallelen Ausführung unterstützen. Diese Bibliotheken verwenden einen neuen Taskplaner, der in den .NET-Threadpool integriert ist.
Parallelprogrammierung in Visual C++
Die C Runtime Library umfasst nun die Concurrency Runtime, bei der es sich um eine simultane Programmierungsinfrastruktur für C++ handelt. Visual C++ enthält außerdem neue Bibliotheken für parallele Vorlagen und asynchrone Agenten, die auf der Concurrency Runtime ausgeführt werden und produktive Programmiermodelle für C++-Entwickler bereitstellen.
Debuggen
Der Debugger umfasst die neuen Fenster Parallele Aufgaben und Parallele Stapel, in denen Sie folgende Vorgänge ausführen können:
- Anzeigen einer Liste von System.Threading.Tasks.Task-Instanzen, die ausgeführt werden, geplant sind, oder in einem Anwendungsprozess auf die Ausführung warten.
- Anzeigen der Aufruflisten für Taskinstanzen.
- Über den Debugger zu Code navigieren.
Profilerstellung
Die neuen Ansichten der Threadausführungsdaten ermöglichen Ihnen, beispielsweise folgende Informationen zur Leistung einer Anwendung anzuzeigen:
- Wie der Prozessor des Computers von Ihrem Code im Vergleich mit anderem Code verwendet wird.
- Wie die Threads in Ihrem Programm miteinander und mit anderen Threads auf dem Computer interagieren.
- Wie die Threads über die Prozessorkerne verteilt sind.
Visual Studio 2010-Shell
Die Visual Studio 2010-Shell ermöglicht Entwicklern das schnelle Erstellen sowie eine unkomplizierte Weitergabe von benutzerdefinierten Tools, die auf den Kernfunktionen der Visual Studio IDE basieren. Es sind zwei Shell-Varianten vorhanden, die über eine kostenlose Lizenz verfügbar sind.
Mit der Visual Studio-Shell (integrierter Modus) kann der Entwickler eine Kopie von Visual Studio weitergeben, die nur seine Tools enthält. Wenn Visual Studio installiert wird, werden die Tools mit den übrigen installierten Visual Studio-Komponenten integriert.
Mit der Visual Studio-Shell (isolierter Modus) kann der Entwickler benutzerdefinierte eigenständige Tools und Anwendungen weitergeben. Dieser Modus eignet sich für Anwendungen, die für Benutzer aber nicht für Entwickler bestimmt sind, da Sie die Benutzeroberfläche steuern und entsprechend anpassen können und der Benutzer Visual Studio nicht benötigt.
Schlüsseleingaben und Registrierungseinstellungen sind zum Installieren von Paketen für die Bereitstellung Ihrer IDE nicht mehr erforderlich.
Alle Erweiterungen der Visual Studio 2010-Kernkomponenten sind in der Visual Studio-Shell enthalten. Entwickler, die die Visual Studio 2010-Shell verwenden, können auf die neue WPF-Shell, den neuen Code-Editor mit aktualisiertem Intellisense, alle neuen Debugger und Webfeatures sowie auf eine neue Hilfeinfrastruktur zugreifen, die für die Suche und Bereitstellung optimiert wurde.
Neue Visual Studio-Hilfe
Das Hilfesystem von Visual Studio 2010 wurde vollständig überarbeitet und umfasst ein neues flexibles, standardisiertes Hilfe-Framework. Die Standardisierung verbessert nicht nur die Benutzererfahrung, sondern ermöglicht auch den nahtlosen Übergang zu Online-Webbrowsern und somit eine Grundlage, um mit Visual Studio- und Internet-Technologien konsistenter arbeiten zu können.
Visual Studio 2008 und frühere Versionen verwenden ein proprietäres Hilfesystem, in dem der Inhalt normalerweise in .hxs- oder .chm-Dateien gepackt wurde. Der Hilfeinhalt wird nun hauptsächlich als XHTML gespeichert und in .zip-Dateien gepackt, die alle Inhaltstypen, von HTML bis XML und von Bildern bis Videos, enthalten können.

