Visual Studio Icon Visual Studio 2019 – VersionshinweiseVisual Studio 2019 Release Notes


| Entwicklercommunity | Systemanforderungen | Kompatibilität | Verteilbarer Code | Lizenzbedingungen | Blogs | Bekannte Probleme || Developer Community | System Requirements | Compatibility | Distributable Code | License Terms | Blogs | Known Issues |


Klicken Sie auf eine Schaltfläche, um die aktuelle Version von Visual Studio 2019 herunterzuladen.Click a button to download the latest version of Visual Studio 2019. Anweisungen zum Installieren und Aktualisieren von Visual Studio 2019 finden Sie unter Aktualisieren von Visual Studio 2019 auf die neueste Version.For instructions on installing and updating Visual Studio 2019, see the Update Visual Studio 2019 to the most recent release. Sehen Sie sich auch die Anweisungen zur Offlineinstallation an.Also, see instructions on how to install offline.


Neues in Visual Studio 2019What's New in Visual Studio 2019

Visual Studio 2019-ReleasesVisual Studio 2019 Releases

Visual Studio 2019-BlogVisual Studio 2019 Blog

Im Visual Studio 2019-Blog finden Sie alle wichtigen Informationen zu Produkten direkt vom Visual Studio-Engineeringteam.The Visual Studio 2019 Blog is the official source of product insight from the Visual Studio Engineering Team. In den folgenden Beiträgen finden Sie ausführliche Informationen zu den Visual Studio 2019-Releases:You can find in-depth information about the Visual Studio 2019 releases in the following posts:


Release Notes Icon Visual Studio 2019 Version 16.0.1Visual Studio 2019 version 16.0.1

Veröffentlichung: 09. April 2019released April 09, 2019

In Visual Studio 2019 Version 16.0.1 behobene ProblemeIssues fixed in Visual Studio 2019 version 16.0.1


Release Notes Icon Visual Studio 2019Visual Studio 2019

Veröffentlichung: 02. April 2019released April 02, 2019

Zusammenfassung der Neuerungen in Visual Studio 2019Summary of What's New in Visual Studio 2019

InstallierenInstall

IDEIDE

  • Zusammenarbeit mit anderen Personen mithilfe von Visual Studio Live Share, das standardmäßig installiert ist.Collaborate with others using Visual Studio Live Share, which is installed by default. Projektmappenansicht und Quellcodeverwaltungs-Diffs für Gäste durch zusätzliche Sprachunterstützung für C++, VB.NET und Razor.Additional language support for C++, VB.NET, and Razor gives guests a solution view and sharing of source control diffs.
  • Öffnen Sie im neuen Startfenster zuletzt bearbeiteten Code, oder beginnen Sie mit häufig verwendeten Flows zum Klonen, Öffnen oder Erstellen eines neuen Projekts.Open code you recently worked on or start from one of the most commonly used flows like clone, open, or create a project through the new start window.
  • Erstellen neuer Projekte über die neue Liste der nach Beliebtheit sortierten Vorlagen mit verbesserter Sucherfahrung und Filtern.Create new projects with an improved search experience and filters using the new list of templates sorted by popularity.
  • Mehr vertikaler Platz für Ihren Code und ein moderneres Erscheinungsbild und Verhalten durch eine Reihe neuer visueller Änderungen in der Shell.Have more vertical room for your code and a modernized look and feel through a set of new visual changes in the shell.
  • Schärfere Darstellung Ihrer IDE unabhängig von Ihrer Anzeigekonfiguration und/oder Skalierung dank optimierter Per Monitor Awareness-Unterstützung.View a sharper version of your IDE regardless of your display configuration and/or scaling, as we have improved support for per monitor awareness.
  • Verwenden einer verbesserten Suchfunktion in Visual Studio für Menüs, Befehle, Optionen und installierbare Komponenten.Use an improved search capability in Visual Studio for menus, commands, options, and installable components.
  • Schnelle Erkennung des Integritätsstatus Ihrer Dateien durch den Dokumentindikator.Quickly understand your code file's 'health' with a document indicator. Ausführen und Konfigurieren durch eine Bereinigung mit einem Klick über den Indikator.Run and configure through a one-click code cleanup from the indicator.
  • Einfache Verwaltung der Vorschaufunktionen, für die Sie sich angemeldet haben, dank einer neuen Seite „Vorschaufeatures“ im Dialogfeld „Optionen“.Easily manage the preview features you are opted in to with a new Preview Features page in the Options dialog.
  • Erstellen Sie neue Projekte mit Verbesserungen für tag-basierte Suchvorgänge und einer einfach aufrufbaren „Zuletzt verwendete Projektvorlagen“-Liste.Create new projects with improvements in tag-based search and an easily accessible "Recent project templates" list.
  • Erstellen Sie neue Elemente direkt aus Suche in Visual Studio, und finden Sie schneller Ergebnisse mit größerer Relevanz.Create new items directly from Visual Studio Search and find results faster with improved relevance.
  • Bleiben Sie mit einer neuen Benachrichtigungsfunktion hinsichtlich wichtiger Informationen, z. B. Visual Studio Live Share-Anforderungen, auf dem Laufenden.Stay informed of important information, such as Visual Studio Live Share requests, with a new notifications experience.
  • Speichern Sie eine Sammlung von Codebereinigungskorrekturen als Profil, um einfach die Korrekturen auswählen zu können, die während einer Codebereinigung ausgeführt werden sollen.Save a collection of code cleanup fixers as a profile to easily select the fixers you want run during code cleanup.
  • Lösen Sie neue .NET-Refactorings und Codefehlerbehebungen aus.Trigger new .NET refactoring and code fixes.
  • Konfigurieren Sie .NET Core-Projekte noch einfacher mit nützlichen Projektdateien.Configure .NET Core projects more easily with first-class project files.
  • Zeigen Sie den Status Ihrer Erweiterungen mit Vorschau-, Bezahlt- und Testversion-Tags im Dialogfeld „Erweiterungen und Updates“ an.See the status of your extensions with Preview, Paid, and Trial tags in the Extensions and Updates dialog.
  • Überprüfen und konfigurieren Sie, welche Previewfunktionen Sie aktivieren möchten, seit die Standardeinstellungen in dieser Vorschauversion zurückgesetzt wurden.Check and configure which Preview features you want active since the defaults have been reset in this Preview.
  • Halten Sie Ihre Erweiterungen auf dem neuesten Stand, indem Sie bestimmte Testfenster-APIs ausschließen, die in diesem Release als veraltet markiert wurden.Keep your extensions up-to-date by excluding certain Test Window APIs that have been marked as deprecated in this release.
  • Über das Startfenster haben Sie für Ihre gehosteten Repositorys von Azure DevOps die Möglichkeit, sich bei diesen anzumelden, sie zu durchsuchen, mit nur einem Klick einen Klon davon zu erstellen oder sich mit ihnen zu verbinden.Sign in, browse, and one-click clone or connect to your hosted repositories from Azure DevOps through the start window.
  • Installieren Sie Erweiterungen für andere Hosts zur Quellcodeverwaltung, um Ihre Repositorys bzw. die Ihrer Organisation anzuzeigen.Install extensions for other source control hosts to view repositories owned by you and your organization.
  • Das Design „Blau“ wurde als Reaktion auf Feedback verbessert. Die Helligkeit wurde heruntergeregelt und der allgemeine Kontrast optimiert. Zudem wurden weitere Bedienungsprobleme behoben.Experience an improved Blue theme experience that addresses feedback by dialing down the luminosity, improving overall contrast and addressing other usability issues.
  • Wenden Sie die Codeformateinstellungen über die Befehlszeile mit dem globalen Tool Dotnet-Format an.Apply code style preferences from the command-line with the dotnet format global tool.
  • MSBuild und Visual Studio zielen jetzt standardmäßig auf .NET Framework 4.7.2 ab.MSBuild and Visual Studio now target .NET Framework 4.7.2 by default.
  • Azure App Service-bezogene Features wurden aus dem Server-Explorer entfernt. Gleichwertige Funktionalität ist stattdessen im Cloud-Explorer verfügbar.We have removed Azure App Service-related features from Server Explorer; equivalent functionality is instead available in Cloud Explorer.

LeistungPerformance

Grundsätzliches zu Debuggen und DiagnoseGeneral Debugging and Diagnostics

  • Schlüsselwörter in den Fenstern „Überwachen“, „Auto“ und „Lokal“ suchen während des Debuggens, um die Möglichkeiten zum Auffinden von Objekten oder Werten zu verbessern.Search keywords within the Watch, Autos, and Locals windows while debugging to improve your ability to find objects or values.
  • Anzeigen eines Dropdownmenüs mit Formatbezeichnern in den Fenstern „Überwachen“, „Auto“ und „Lokal“ beim Untersuchen von Daten.View a dropdown of format specifiers in the Watch, Autos, and Locals windows when inspecting data.
  • Verwenden einer benutzerdefinierte Schnellansicht, jetzt kompatibel mit .NET Core.Use a custom visualizer, now compatible with .NET Core.
  • Debuggen sehr großer Anwendungen mit einer großen Anzahl von Modulen und PDB-Dateien.Debug very large applications with large numbers of modules and PDBs.
  • Starten Sie Google Chrome mit benutzerdefinierten Argumenten, und debuggen Sie Ihre JavaScript-Anwendungen in der Visual Studio-IDE.Launch Google Chrome with custom arguments and debug your JavaScript applications all within the Visual Studio IDE.
  • Verwenden Sie Hervorhebung des langsamsten Pfads für CPU- und DotNet-Objektzuordnungs-Tools im Leistungsprofiler.Use Hot Path Highlighting for CPU and DotNet Object Allocation tools in the Performance Profiler.
  • Unterbrechen Sie den Vorgang, wenn sich der Eigenschaftswert eines bestimmten Objekts in .NET Core 3.0-Anwendungen ändert, indem Sie Datenhaltepunkte verwenden. Diese Funktion war ursprünglich nur in C++ verfügbar.Break when a specific object's property value changes in .NET Core 3.0+ applications using data breakpoints, a feature that was originally exclusive to C++.
  • Seit Preview 1 wurde die Benutzeroberfläche für die Suche in den Fenstern „Auto“, „Lokal“ und „Überwachen“ durch eine einfachere Benutzeroberfläche ersetzt.Since Preview 1, we have updated the UI for searching in the Autos, Locals, and Watch windows with a simpler interface. Die Funktion „Tiefer suchen“ wurde in eine Dropdownliste umgewandelt, sodass Sie schnell auswählen können, wie tief Ihre anfängliche und nachfolgende Suche sein soll.The Search Deeper function has been changed to a dropdown so you can quickly select how deep you want your initial and subsequent searches to be.

Quellcodeverwaltung und Team ExplorerSource Control and Team Explorer

  • Änderungen vorübergehend speichern, sodass Sie an einer anderen Aufgabe arbeiten können, mithilfe der Unterstützung von Team Explorer für Git-Tools bei der Ausführung von Git-Stash.Temporarily store changes so you can work on another task by using Team explorer's Git tools support for Git stash.
  • Sehen Sie sich die im Visual Studio Marketplace verfügbare optionale Erweiterung Pull Requests für Visual Studio an, die Überprüfungen von Pull Requests in Visual Studio integriert.Check out the optional extension available on the Visual Studio Market Place, Pull Requests for Visual Studio, that integrates Pull Request reviews into Visual Studio.
  • Verwenden der neuen Azure DevOps-Arbeitselementerfahrung, die sich auf Entwicklerworkflows konzentriert, einschließlich benutzerdefinierter Arbeitselementansichten, des Erstellens einer Verzweigung aus einem Arbeitselement, der Suche nach Arbeitselementen mit #Erwähnungen sowie Inlinebearbeitung.Use the new Azure DevOps work item experience that focuses on developer workflows, including user-specific work item views, creating a branch from a work item, searching for work items with #mentions, and inline editing.

ErweiterungenExtensibility

  • Verwenden Sie ein einzelnes, einheitliches Visual Studio SDK im NuGet-Paket Microsoft.VisualStudio.SDK.Use a single, unified Visual Studio SDK in the NuGet package Microsoft.VisualStudio.SDK.
  • Nutzen Sie die aktualisierte VSIX-Projekt-Vorlage, die jetzt über eine AsyncPackage-Klasse verfügt.Take advantage of our update to the VSIX Project to now include an AsyncPackage.
  • Experimentieren Sie mit der neuen Vorlage Empty VSIX project (Leeres VSIX-Projekt), die hinzugefügt wurde.Experiment with a new Empty VSIX Project template that we have added.
  • Sehen Sie nun im Dialogfeld Erweiterungen und Updates, ob eine Erweiterung vom Typ „Free“, „Bezahlt“ oder „Testversion“ ist.Know if an extension is Free, Paid, or Trial, as it is now indicated inside the Extensions and Updates dialog.

ProgrammiersprachenProgramming Languages

C#C#

Machen Sie sich mit Vorschausprachfeatures vertraut, die der C#-Compiler für Version 8.0 unterstützt. Hierzu gehören beispielsweise folgende:Experience a preview of the 8.0 language features that the C# compiler now supports, including:

  • Nullable-Verweistypen: Wenn dieses Feature aktiviert ist (z.B. mit #nullable enable oder auf der Projektebene mit <NullableContextOptions>enable</NullableContextOptions>), werden Verweistypen mit der Anmerkung ? als Nullable und ansonsten als Nicht-Nullable behandelt.Nullable reference types: When the feature is turned on (for example, with #nullable enable or at the project-level with <NullableContextOptions>enable</NullableContextOptions>), reference types are treated as nullable if annotated with ?, and as non-nullable otherwise. Der Compiler analysiert dann, wo NULL-Werte genutzt werden, und gibt eine Warnung aus, wenn diese mit hoher Wahrscheinlichkeit unsicher verwendet werden.The compiler then analyzes where null values flow and warns about likely unsafe usages.
  • switch-Ausdrücke: Diese stellen eine switch-ähnliche Semantik in einem Ausdruckskontext bereit.switch expressions: Offers switch-like semantics in an expression context.
  • Rekursiver Musterabgleich: Mit neuen Mustern können Felder und Eigenschaften sowie Positionselemente (von Tupeln oder von einer Dekonstruktion) getestet werden.Recursive pattern matching: New patterns allow testing fields/properties and positional elements (from tuples or deconstruction).
  • Die unterstützen Typen Range und Index werden in CoreFX zur Erstellung von Teilmengen verwendet. Dies gilt auch für die x..y-Literalsyntax für Bereiche.Support for Range and Index types being used in CoreFX for slicing, including the x..y literal syntax for ranges.
  • Asynchrone Streams, die durch IAsyncEnumerable<T> dargestellt werden, können mit await foreach asynchron enumeriert und mit Iteratormethoden von async IAsyncEnumerable<T> erstellt werden.Asynchronous streams represented by IAsyncEnumerable<T> can be enumerated asynchronously with await foreach and can be produced with async IAsyncEnumerable<T> iterator methods.
  • using-Deklarationen: Mit diesen werden am Ende des aktuellen Blocks Ressourcen freigegeben, ohne dass zusätzliche Schachtelungen erforderlich sind.using declarations: Dispose at the end of the current block, without increasing the level of nesting. ref-Strukturen können durch die Implementierung der öffentlichen Dispose()-Methode freigegeben werden.ref structs can be disposed by implementing a public Dispose() method.
  • Lokale static-Funktionen: Lokale Funktionen mit dem Schlüsselwort static können nicht auf this oder auf Variablen in den einschließenden Funktionen verweisen.static local functions: Local functions marked with static cannot reference this or variables in the enclosing functions.
  • Für lokale Funktionen und Lambdaausdrücke können jetzt Parameter und lokale Variablen deklariert werden, durch die ein Shadowing der Variablennamen innerhalb der einschließenden Funktionen durchgeführt wird.Local functions and lambdas can now declare parameters and locals that shadow names of variables of the enclosing functions.
  • NULL-Sammeloperatorzuweisung: x ??= y; weist y nur dann x zu, wenn x null war.Null-coalescing assignment: x ??= y; only assigns y to x if x was null.

Weitere Informationen finden Sie In der Übersicht zu C# 8.0 von Mads Torgersen.Find out more in Mads' overview of C# 8.0.

Noch mehr Details sind unter C# language feature status (Status von C#-Sprachfeatures) und Breaking Changes verfügbar.See the C# language feature status and breaking changes for more details.

Beachten Sie auch, dass Sie standardmäßig weitere moderne C#-Sprachfeatures in Visual Studio nutzen können.Additionally, you can use more modern C# language features in Visual Studio by default.

C++C++
  • Zeit sparen beim Schreiben von C++- und XAML-Code mithilfe von Visual Studio IntelliCode, einer optionalen Erweiterung, die Ihnen KI-gestützte Empfehlungen für Ihren Code macht.Save time when writing C++ and XAML code by using Visual Studio IntelliCode, an optional extension that gives AI-assisted recommendations for your code.
  • Erleben Sie Codeanalysewarnungen direkt im Editor.Experience in-editor code analysis warnings. Die Codeanalyse wird automatisch im Hintergrund ausgeführt, und Warnungen werden als grüne Wellenlinien angezeigt.Code analysis runs automatically in the background and warnings display as green squiggles.
  • Testen Sie die neue Vorlagenleiste, für die die Benutzeroberfläche für Peek-Fenster verwendet wird und geschachtelte Vorlagen unterstützt werden.Try the new Template Bar, which uses the Peek Window UI and supports nested templates.
  • Führen Sie die neue, aktualisierte Implementierung der Lifetime-Profil-Prüfung für C++ aus.Run the new, updated implementation of the C++ Lifetime profile checker.
  • Konfigurieren Sie Ihre CMake-Projekte mit dem neuen Editor für CMake-Einstellungen, der eine Alternative zu „CMmakeSettings.json“ bereitstellt.Configure your CMake projects using the new CMake Settings Editor, which provides an alternative to CMakeSettings.json.
  • Probieren Sie eine Vielzahl von Back-End-Verbesserungen, z. B. OpenMP SIMD-Vektorisierung, Link-Zeit-Beschleunigungen und offensiveres Inlining.Try out a host of backend improvements including OpenMP SIMD vectorization, link-time speedups, and more aggressive inlining.
  • Öffnen Sie vorhandene CMake-Caches, die von externen Tools wie CMakeGUI oder von benutzerdefinierten Meta-Build-Systemen generiert wurden.Open existing CMake caches generated by external tools, such as CMakeGUI, or customized meta-build systems.
  • Verbessern Sie Analysen mit /Qspectre, um Unterstützung für eine Risikominderung für Spectre Variant 1 (CVE-2017-5753) bereitzustellen.Improve analysis with /Qspectre for providing mitigation assistance for Spectre Variant 1 (CVE-2017-5753). Weitere Informationen finden Sie im Blogbeitrag des Visual C++-Teams.For more information, see the Visual C++ Team Blog post.
  • Wechseln Sie mithilfe der Vorlagenleiste, die Teil von IntelliSense für Vorlagen ist und nun eine Dropdownliste mit zuletzt verwendeten Elementen enthält, schnell zwischen vorherigen Beispielargumenten.Quickly switch between your previous sample arguments now that the Template Bar for Template IntelliSense has a Most Recently Used dropdown.
F#F#
  • F# 4.6 wurde zusammen mit verschiedenen anderen Compilerverbesserungen veröffentlicht.F# 4.6 is released, along with various other compiler improvements.
  • Erleben Sie Leistungsverbesserungen bei umfangreicheren Projektmappen und verschiedene Fehlerbehebungen für F# und die F#-Tools.Experience performance improvements for larger solutions and various bug fixes for F# and the F# tools.
  • Erfahren Sie mehr über die großartigen Beiträge von Open Source-Mitwirkenden zu F# und zu den zugehörigen Tools.Learn about some of the awesome work done by open source contributors to the F# language and tools.
JavaScript/TypeScriptJavaScript/TypeScript
PythonPython
  • Einfaches Hinzufügen von virtuellen Python- sowie Conda-Umgebungen mithilfe des Python-Dialogfelds „Umgebung hinzufügen“.Easily add Python virtual and conda environments using the Python Add Environment dialog.
  • Arbeiten Sie noch einfacher mit Python-Umgebungen, und nutzen Sie u. a. die verbesserte Unterstützung für „Ordner öffnen“-Arbeitsbereiche über eine neue Symbolleiste zur Auswahl einer Python-Umgebung.Work more easily with Python environments, including improved support for Open Folder workspaces using a new Python environment selector toolbar.
  • Erstellen Sie Visual Studio Live Share-Sitzungen, und arbeiten Sie mit anderen Visual Studio-Benutzern zusammen an Python-Code.Create Visual Studio Live Share sessions and collaborate on Python code with other Visual Studio users.

WebtechnologienWeb Technologies

ContainertoolsContainer Tools

Mobile Entwicklung mit XamarinMobile Development with Xamarin

Universelle Windows-Plattform (UWP)Universal Windows Platform (UWP)

  • Behalten Sie Kommentare, Abstände, Namespaces und alle anderen Textänderungen bei, wenn Sie Änderungen mit dem Designer vornehmen.Preserve comments, spacing, namespaces, and any other text changes when making edits from the designer. Der Paket-Manifest-Designer behält nun uneingeschränkt Übereinstimmung mit XML-Änderungen in der Datei „Package.appxmanifest“.The package manifest designer now maintains strict fidelity to xml changes in the Package.appxmanifest file.
  • Verwenden Sie das Projekt Paketerstellung für Windows-Anwendungen für .NET Core-Projekte, um MSIX-Pakete zu erstellen.Use the Windows Application Packaging project for .NET Core projects to produce MSIX packages.
  • Verwenden Sie den Package Creation Wizard (Paketerstellungsassistent) für direkte Übermittlungen an den Microsoft Store.Use the Package Creation Wizard for direct Microsoft Store submissions.
  • Die Bereitstellung für Windows Mobile-Geräte wird in Visual Studio 2019 nicht mehr unterstützt.Deployment to Windows Mobile devices is no longer supported in Visual Studio 2019. Beim Versuch, die Bereitstellung auf einem Windows 10 Mobile-Gerät durchzuführen, wird folgende Fehlermeldung angezeigt: „Deployment to Windows Mobile devices is not supported in Visual Studio 2019.“ (Die Bereitstellung für Windows Mobile-Geräte wird in Visual Studio 2019 nicht unterstützt.)Attempts to deploy to a Windows 10 Mobile device will result in an error saying "Deployment to Windows Mobile devices is not supported in Visual Studio 2019". Wenn Sie weiterhin mit einer Anwendung für Windows 10 Mobile-Geräte arbeiten müssen, verwenden Sie Visual Studio 2017.If you need to continue working on an application for Windows 10 Mobile devices, continue to use Visual Studio 2017.

SQL Server-DatentoolsSQL Server Data Tools

  • Lernen Sie die aktualisierte Version von SSDT und DacFX mit Unterstützung für die Sortierung von UTF-8-Zeichenfolgen kennen.Experience an updated SSDT and DacFX that now includes UTF-8 collation support.

Details der Neuerungen in Visual Studio 2019Details of What's New in Visual Studio 2019

InstallationInstall

  • Sie können jetzt wählen, wie Visual Studio-Updates installiert werden sollen.You can now choose how to install Visual Studio updates. Der Standardmodus ist „Alle herunterladen und dann installieren“. In diesem Modus können Sie Visual Studio weiterhin verwenden, während Updates heruntergeladen werden.The default mode is ‘Download all, then install’ which allows you to continue using Visual Studio while updates are being downloaded. Wenn Sie „Alle herunterladen und dann installieren“ auswählen, " müssen Sie die Installation abschließen, indem Sie den Visual Studio-Installer öffnen und Weiter auswählen.Note that, if you select ‘Download all, then install’, you’ll need to finish up the installation by opening the Visual Studio Installer and selecting Continue.
  • Visual Studio-Updates werden nun im Hintergrund heruntergeladen.Visual Studio updates will now be downloaded in the background. Diese Downloads werden nur durchgeführt, wenn sich Ihr Computer im Leerlauf befindet.These downloads will occur only when your machine is idle. Wenn die Downloads abgeschlossen sind, werden Sie in Visual Studio darüber benachrichtigt, dass die heruntergeladenen Dateien installiert werden können.When the downloads complete, you will get a notification inside Visual Studio that your download is now ready to install.
  • Sie können nun Ihren Installationsmodus für Updates und die Vorgehensweise, ob Updates heruntergeladen werden sollen oder nicht, über das Menü Extras > Optionen steuern, indem Sie die Einstellungen auf der Seite „Produktupdates“ ändern.You can now control your update installation mode and whether to download updates or not through the Tools > Options menu by changing the settings on Product Updates page.
Product Update Options
Optionen für ProduktupdatesProduct Update Options

StartfensterStart window

Das neue Startfenster bietet eine optimierte Starterfahrung, damit Sie beim Starten von Visual Studio schnell zu Ihrem Code gelangen.The new start window provides a streamlined launch experience to help you quickly get to your code upon starting up Visual Studio.

  • Zeigen Sie Ihre zuletzt verwendeten Projekte und Ordner an, und öffnen Sie sie mit einem einzigen Klick.View your recent projects and folders, and open them with a single click. Heften Sie mit dem Kontextmenü Elemente an, und entfernen Sie diese aus der Liste.Pin and remove items from the list through the context menu.
  • Klonen Sie Code, oder checken Sie diesen mithilfe öffentlicher oder privater Git-URLs aus, wodurch der Ordner auch automatisch in der IDE geöffnet wird.Clone or check out code by using any public or private git URL, which will also automatically open the folder in the IDE.
  • Melden Sie sich über Azure DevOps bei gehosteten Repositorys an, durchsuchen Sie diese, klonen Sie sie mit einem Klick, oder stellen Sie eine Verbindung mit diesen her. Außerdem können Sie Erweiterungen für andere Quellcodeverwaltungshosts installieren, um sich Ihre Repositorys und die Ihrer Organisation anzeigen zu lassen.Sign in, browse, and one-click clone or connect to your hosted repositories from Azure DevOps or install extensions for other source control hosts to view repositories owned by you and your organization.
  • Durchsuchen Sie Ihren lokalen Datenträger oder eine Netzwerkfreigabe nach Projekten, Projektmappen oder jeglichen Ordnern, die Code enthalten, und öffnen Sie sie in der IDE.Browse your local disk or network share for projects, solutions, or any folders containing code, and open them in the IDE.
  • Wählen Sie eine Projektvorlage aus, die einen Codegerüstbau zur Verfügung stellt, der die ersten Schritten mit einem neuen Projekt oder mit einer neuen Projektmappe vereinfacht.Select a project template that provides you with code scaffolding to help you get started with a new project or solution.
  • Suchen Sie Projektvorlagen nach Titel, Beschreibung und Tags, oder filtern Sie nach verfügbaren Sprachen, Plattformen und Projekttypen.Search for project templates by their title, description, and tags or filter through available languages, platforms, and project types. In der Standardliste werden alle verfügbaren Vorlagen angezeigt, während im linken Bereich eine Liste der zehn zuletzt verwendeten Projektvorlagen für den Schnellzugriff angezeigt wird.The default list shows all available templates, while a list of your top 10 recently used project templates appears on the left pane for quick access. Ein zweiseitiger Assistent gestattet es Ihnen, sich immer nur auf eine Entscheidung zu konzentrieren.A two-page wizard allows you to concentrate on one decision at a time.
Start window
Neue StartfenstererfahrungNew Start Window Experience

Shell und PlattformShell and platform

  • Erkennen Sie schnell, welche Version von Visual Studio Sie öffnen und verwenden, über das neue, verbesserte Produktsymbol.Quickly spot which version of Visual Studio you're opening and using via the new, improved product icon. Das neue Symbol ist außerdem vor einer Vielzahl von Hintergründen besser sichtbar.The new icon is also more visible against a variety of backgrounds.
  • Erleben Sie ein moderneres Erscheinungsbild und Verhalten von Visual Studio mit unserem aktualisierten blauen Design, das Ihnen eine übersichtlichere Benutzeroberfläche bietet und gleichzeitig unsere Barrierefreiheitsstandards erfüllt.Experience a modernized look and feel of Visual Studio with our refreshed blue theme that gives you a cleaner user interface while still meeting our accessibility standards.
  • Zeigen Sie mehr von Ihrem Code an, dank unserer Änderungen, die auf die Kompaktheit abzielen und so in der IDE vertikalen Platz zurückgewinnen.See more of your code, through our changes that target compactness and reclaim vertical space in the IDE. Wir haben die Titelleiste mit der Menüleiste kombiniert und gleichzeitig vorhandene Funktionen erhalten.We have combined the title bar and the menu bar while also preserving existing functionality.
  • Verwenden Sie Visual Studio als Pro-Monitor-Erkennungsanwendung durch eine neue, experimentelle Einstellung.Use Visual Studio as a Per-Monitor Awareness application through a new, experimental setting. Wenn diese Einstellung aktiviert ist, hilft sie Teilen von Visual Studio, z. B. der Shell und dem Editor, beim schärferen Rendern, unabhängig von Ihrer Anzeigekonfiguration und/oder -skalierung.When on, this setting helps parts of Visual Studio, such as the shell and the editor, render more sharply regardless of your display configuration and/or scaling.
  • Erleben Sie eine verbesserte Sucherfahrung in Menüs, Befehlen, Optionen und installierbaren Komponenten.Experience an enhanced search experience across menus, commands, options, and installable components. Unsere neue Suche zeigt jetzt Ergebnisse dynamisch an, fängt Rechtschreibfehler ab und bietet relevante Informationen (z. B. Tastenkombinationen) innerhalb der Suchergebnisse.Our new search now displays results dynamically, accommodates spelling errors, and provides relevant information (such as keyboard shortcuts) inside the search results.
Visual Studio Search with results
Verbesserte Suche in Visual StudioEnhanced Search in Visual Studio
  • Zeigen Sie Integritätsinformationen an, die zu Ihrer aktuell geöffneten Datei gehören, über die Funktion „Dokumentintegritätsindikator“.View health information associated with your currently open file through the Document Health Indicator feature.
Document Health Indicator
Dokumentintegritätsindikator – Problem in DokumentDocument Health Indicator - issue in document
Document Health Indicator
Dokumentintegritätsindikator – keine ProblemeDocument Health Indicator - no issues
  • Wenn Sie C#-Entwickler sind, können Sie mithilfe der Codebereinigung schnell einige der häufigsten Programmiervorschläge bereinigen.If you are a C# developer, you can quickly clean up some of the most common coding suggestions using Code Cleanup.
  • Wählen Sie die Gruppe von Korrekturen aus, die durch Ausführen der Codebereinigung ausgeführt werden soll.Select the set of fixers you'd like to have run by configuring Code Cleanup.
Code Cleanup configuration dialog
Codebereinigung konfigurierenConfigure Code Cleanup
  • Sie können den Inhalt Ihres Zwischenablageverlaufs über ein Kontextmenü anzeigen, das den Zwischenablagering erweitert (STRG+UMSCHALT+V).See the contents of your clipboard history via a context menu that extends the Clipboard Ring (Ctrl + Shift + V).
Clipboard Ring context menu
Zwischenablagering-KontextmenüClipboard Ring Context Menu
  • Die Suchmöglichkeiten wurden verbessert durch:We've improved your search experience by:
    • Hinzufügen von Filtern für Menüs, Komponenten und VorlagenAdding filters for Menus, Components, and Templates
    • Einbinden Ihrer jeweiligen Suchauswahl, um Ihnen die relevantesten Suchergebnisse bereitzustellenIncorporating your search selections to give you the most relevant search results
    • Ermöglichen, dass Sie neue Projekte/Elemente direkt aus einer Suche in Visual Studio erstellen und zu Ihrer Projektmappe hinzufügen könnenEnabling you to create and add new projects/items to your solution directly from Visual Studio Search
  • Die verbesserte PMA-Funktionalität (Per-Monitor Awareness, Pro-Monitor-Erkennung) ist jetzt standardmäßig für Benutzer aktiviert, für die die Mindestanforderungen (.NET 4.8 Vorschauversion und Windows 10 mit dem Update vom April 2018 oder später) erfüllt sind.The improved Per-Monitor Awareness (PMA) experience is now turned on by default for users that meet the minimum set of requirements (.NET 4.8 Preview & and Windows 10 April 2018 Update or newer). Toolfenster wie „Toolbox“, „Haltepunkte“, „Überwachen“, „Lokal“, „Auto“ und „Aufrufliste“ wurden in PMA konvertiert und werden daher unabhängig von Ihrer Anzeigekonfiguration und/oder Skalierung scharf dargestellt.Tool windows such as Toolbox, Breakpoints, Watch, Locals, Autos & Call Stack have been converted to PMA and thus render sharply regardless of your display configuration and/or scaling.
  • Durch ein neues Benachrichtigungselement wurde Folgendes hinzugefügt:A new notification experience adds:
    • Eine neue Symbol- und Indikatoranzeige in der StatusleisteA new icon and counter experience to the status bar
    • Ein neuer Mechanismus für PopupbenachrichtigungenA new toast notification mechanism
    • Benachrichtigungen zu Visual Studio-Updates und Visual Studio-LizenzierungsablaufVisual Studio Updates & Visual Studio licensing expiration notifications
  • Ein überarbeitetes Design „Blau“ als Reaktion auf Feedback zur Vorschauversion 1, sodass die Helligkeit heruntergeregelt wird, der Kontrast verbessert wird und weitere Nutzbarkeitsprobleme behoben wurden.A revised Blue theme experience that addresses feedback by dialing down the luminosity, improving contrast and addressing other usability issues.
  • Verbesserte Funktionen zum Ziehen von Fenstern durch Nutzen des verfügbaren freien Platzes im Symbolleistenbereich als ziehbarer Bereich.Enhanced window-dragging capabilities by leveraging available free space in the toolbar region as a draggable region.
  • Sie können nun eine Sammlung von Codebereinigungskorrekturen als Profil speichern, sodass Sie schnell den Satz von Korrekturen auswählen können, der während einer Codebereinigung ausgeführt werden soll.You can now save a collection of Code Cleanup fixers as a profile so you can quickly select the set of fixers you want run during Code Cleanup.
Visual Studio Code Cleanup Profiles
Visual Studio-CodebereinigungsprofileVisual Studio Code Cleanup Profiles
  • Zu dem Dialogfeld „Erweiterungen und Updates“ wurden Tags hinzugefügt, damit Sie schnell erfassen können, ob eine Erweiterung aus der Vorschauversion stammt, eine Bezahlt-Erweiterung ist oder in einen Testzeitraum fällt.We've added tags in the Extensions and Updates dialog to help you quickly understand whether an extension is in Preview, is a Paid extension, or is in a Trial period.
Extensions and Updates dialogs with tags
Dialogfeld „Erweiterungen und Updates“ mit TagsExtensions and Updates dialogs with tags
  • Das empfohlene Verfahren zum Implementieren von Daten-QuickInfos in Visual Studio 2019 und höher ist jetzt IAsyncQuickInfoSourceProvider.The recommended way to implement data tooltips in Visual Studio 2019 and later is now IAsyncQuickInfoSourceProvider. Die Legacy-Editor-QuickInfo-APIs IVsTextTipData und TextTipData sind in Visual Studio 2019 Vorschau 1 als veraltet markiert.Legacy Editor Quick Info APIs IVsTextTipData and TextTipData are deprecated in Visual Studio 2019 Preview 1.
  • Die Editor-Smarttags (ISmartTag*-Familie von Schnittstellen im Microsoft.VisualStudio.Language.Intellisense-Namespace) wurden zugunsten der LightBulb-API als veraltet markiert und werden ab Visual Studio 2019 Vorschau 1 nicht mehr unterstützt.The Editor Smart Tags (ISmartTag* family of interfaces in Microsoft.VisualStudio.Language.Intellisense namespace) have been deprecated in favor of the LightBulb API and are no longer supported starting with Visual Studio 2019 Preview 1.
  • Die Projektmappenoptionen Erweiterte Buildkonfigurationen anzeigen, Projektmappe immer anzeigen und Neue Projekte beim Erstellen speichern wurden aufgrund der geringen Verwendung entfernt.The solution options Show advanced build configurations, Always show solution, and Save new projects when created have been removed due to low usage. Diese Werte wurden auf ihren Standardwert True festgelegt.These values have been set to their default value of True.
  • Aktivieren oder deaktivieren Sie bestimmte Vorschaufeatures mithilfe der neuen Seite „Vorschaufeatures“, die sich unter Tools > Optionen > Umgebung > Vorschaufeatures befindet.Opt in or out of certain preview features using the new Preview Features page found in Tools > Options > Environment > Preview Features.

LeistungPerformance

  • Es wurde eine neue Tastenkombination für „Auswahl erstellen“ für Ordner und Projektmappen hinzugefügt: STRG + B.We have added a new shortcut for Build Selection for folders and solutions: Ctrl + B.
  • Laden Sie große Projektmappen in kürzester Zeit, indem Sie Projekte entladen.Quickly open large solutions by loading your solution with all projects unloaded. Projekte nicht ladenDo not load projects
  • Wählen Sie mit Projektmappenfilter-Dateien aus, welche Projekte beim Öffnen der Projektmappe geladen werden.Choose which projects to load on solution open with Solution Filter Files.
    • Erstellen Sie eine Projektmappenfilter-Datei, indem Sie Projekte entladen, die nicht automatisch geöffnet werden sollen, mit der rechten Maustaste auf die Projektmappe klicken und „Als Projektmappenfilter speichern“ auswählen.Create a Solution Filter File by unloading projects you don't want opened automatically, right-clicking the solution, and selecting Save As Solution Filter. Sie können dann die Filterdatei verwenden, um die Projektmappe bei der späteren Verwendung zu öffnen.You can then use the filter file to open the solution for subsequent uses. ProjektmappenfilterSolution filters
  • Es wurde ein Befehl zu „Alle erstellen“ für CMake-Dateien hinzugefügt: STRG + UMSCHALT + B.We have added a command to Build All for CMake files: Ctrl + Shift + B.
  • Die IntelliSense-Leistung in C++-Dateien in CMake-Projekten wurde verbessert.We've improved IntelliSense performance in C++ files in CMake projects.
  • Es wurde ein Befehl zum Laden entladener Projektabhängigkeiten in die Projekt- und Projektmappenkontextmenüs hinzugefügt.We've added a command to load unloaded project dependencies to the project and solution context menus.
  • Tipps zum Verbessern der Leistung von Visual Studio werden jetzt im Leistungscenter gespeichert, das über Hilfe > Visual Studio-Leistung verwalten erreichbar ist.Notification tips to improve performance of Visual Studio are now persisted in the performance center, accessible via Help > Manage Visual Studio Performance.
  • Der Status des Ladevorgangs Ihrer Projektmappe wird jetzt im Aufgabenstatuscenter angezeigt sowie Benachrichtigungen, wenn die Ladevorgänge Ihrer Projektmappe fertig sind.You can now see your solution load progress in the Task Status Center, as well as alerts when your solution loads finish.
  • Wählen Sie aus, welche Projekte beim Öffnen der Projektmappe geladen werden, mit Projektmappenfilter-Dateien.Choose which projects to load on solution open with Solution Filter Files.
    • Erstellen Sie eine Projektmappenfilter-Datei, indem Sie Projekte entladen, die nicht automatisch geöffnet werden sollen, mit der rechten Maustaste auf die Projektmappe klicken und Als Projektmappenfilter speichern auswählen.Create a Solution Filter File by unloading projects you don't want opened automatically, right-clicking the solution, and selecting Save As Solution Filter. Sie können dann die Filterdatei verwenden, um die Projektmappe bei der späteren Verwendung zu öffnen.You can then use the filter file to open the solution for subsequent uses.
  • Erleben Sie verbesserte Buildressourcenermittlung und Dateisuche, wenn Sie STRG+T in Szenarien mit „Ordner öffnen“ drücken.Experience improved build asset discovery and file search when you Ctrl+T in Open Folder scenarios.
  • Beachten Sie Leistungsverbesserungen, wo der Visual Studio-Editor jetzt die Auswirkungen von Hilfskomponenten auf die Eingabeleistung begrenzt.Notice performance improvements now that the Visual Studio editor will limit the impact of auxiliary components on typing performance. Insbesondere bricht er automatisch alle lang andauernden Vorgänge bei der Eingabe ab.Particularly, it will auto-cancel any long-running, nonessential operations when typing.
  • Sie können das Begrenzungsverhalten von Visual Studio für Hilfskomponenten über Tools > Optionen > Text-Editor > Erweitert konfigurieren:You can configure the Visual Studio auxiliary component limitation behavior via Tools > Options > Text Editor > Advanced:
Visual Studio Typing Latency Options
Visual Studio-Optionen für EingabelatenzVisual Studio Typing Latency Options
  • Sie können jetzt die Wiederherstellung des Projekthierarchiezustands aus der vorherigen Sitzung im Toolfenster des Projektmappen-Explorers deaktivieren.You can now disable the restoration of the project hierarchy state from the previous session in the Solution Explorer tool window. Wir haben diese Änderung implementiert, weil das Wiederherstellen der Projekthierarchie aus einer vorherigen Sitzung beim Öffnen der Projektmappe das Laden der Projektmappe verzögern kann.We implemented this change because restoring the project hierarchy from previous session at solution open can delay solution load.
    • Sie können diese Option unter Tools > Optionen > Projekte und Projektmappen > Allgemein umschalten.Toggle this option in Tools > Options > Projects and Solutions > General.
Solution load restore settings
Wiederherstellungseinstellungen beim Laden von ProjektmappenSolution load restore settings
\* Sie können jetzt die Wiederherstellung des Toolfensterzustands aus der vorherigen Sitzung deaktivieren und stattdessen immer den Projektmappen-Explorer und Team Explorer beim Starten laden.\* You can now disable the restoration of the tool window's state from the previous session and instead always load Solution Explorer and Team Explorer at startup. Diese Änderung wurde implementiert, weil das Wiederherstellen von Toolfenstern aus vorherigen Sitzungen das Laden von Projektmappen verzögern kann.This change was implemented because restoring tool windows from previous sessions can delay solution loads at startup. \* Sie können diese Option unter **Tools > Optionen > Umgebung > Start** umschalten.\* Toggle this option in **Tools > Options > Environment > Startup**.

Grundsätzliches zu Debuggen und DiagnoseGeneral Debugging and Diagnostics

Allgemeines DebuggenGeneral Debugging
  • Hervorheben, Suchen und Navigieren mit Schlüsselwörtern unter Verwendung unserer neuen Suchfunktion, die wir in die Fenster „Überwachen“, „Auto“ und „Lokal“ integriert haben.Highlight, find, and navigate with keywords using our new search feature that we integrated into the Watch, Autos, and Locals windows.
Searching for keywords in Watch
Suchen im ÜberwachungsfensterSearching in the Watch Window
  • Durch Anfügen eines Kommas an ein aufgelistetes Element können Sie in den Fenstern „Überwachen“, „Auto“ und „Lokal“ eine Dropdownliste der Spezifizierer und Optionen zum Formatieren von Daten anzeigen.View a dropdown of specifiers and options to format data in the Watch, Autos, and Locals windows by appending a comma to a listed item.
Format Specifier Dropdown List in Watch
Formatspezifizierer-Dropdownliste im ÜberwachungsfensterFormat Specifier Dropdown in Watch Window
  • Sie können jetzt benutzerdefinierte und DataSet-Schnellansichtsunterstützung für .NET Core verwenden.You can now use custom and DataSet visualizer support for .NET Core.
DataSet Visualizer for .NET Core
DataSet-Schnellansicht für .NET Core-AnwendungenDataSet Visualizer for .NET Core applications
  • Für C++-Anwendungen unter Windows wird PDB jetzt in einem separaten 64-Bit-Prozess geladen.For C++ applications running on Windows, PDB now load in a separate 64-bit process. Diese Änderung behebt eine Reihe von Abstürzen, die davon verursacht wurden, dass dem Debugger beim Debuggen von Anwendungen, die eine große Anzahl von Modulen und PDBs enthalten, der Arbeitsspeicher ausging.This change addresses a range of crashes caused by the debugger running out of memory when debugging applications that contain a large number of modules and PDBs.
Verwaltete DatenhaltepunkteManaged data breakpoints

Sie können jetzt den Vorgang unterbrechen, wenn sich der Eigenschaftswert eines bestimmten Objekts in .NET Core-Anwendungen (.NET Core 3.0 oder höher) ändert, indem Sie Datenhaltepunkte verwenden. Diese Funktion war ursprünglich nur in C++ verfügbar.You can now break when a specific object's property value changes in .NET Core (3.0 or higher) applications using data breakpoints, a feature that was originally exclusive to C++. Sie sind eine gute Alternative zum einfachen Platzieren eines Haltepunktes auf einen Setter für eine Eigenschaft, da sich ein Datenhaltepunkt auf eine spezifische Objekteigenschaft beziehen kann, auch wenn sie außerhalb des Bereichs liegt. Im Gegensatz dazu kann die frühere Option zu konstanten, irrelevanten Unterbrechungen führen, wenn Hunderte von Objekten diese Funktion aufrufen.They are a great alternative to simply placing a breakpoint on a property's setter because a data breakpoint can focus on a specific object's property even when it's out of scope, whereas the former option may result in constant, irrelevant breaks if you have hundreds of objects calling that function.

Data breakpoints for .NET Core
Datenhaltepunkte in .NET Core-AnwendungenData breakpoints in .NET Core application
UX-Updates für die Suche im ÜberwachungsfensterWatch window Search UX Updates

Die Benutzeroberfläche wurde für die Suche in den Fenstern „Auto“, „Lokal“ und „Überwachen“ durch eine einfachere Benutzeroberfläche ersetzt.We have updated the UI for searching in the Autos, Locals, and Watch windows with a simpler interface. Die Funktion „Tiefer suchen“ wurde in eine Dropdownliste umgewandelt, sodass Sie schnell auswählen können, wie tief Ihre anfängliche und nachfolgende Suche sein soll.The Search Deeper function has been changed to a dropdown so you can quickly select how deep you want your initial and subsequent searches to be.

Anwenden von Codeformateinstellungen Apply code style preferences
  • Sie können nun Codeformateinstellungen über die Befehlszeile mit dem globalen Tool Dotnet-Format anwenden.You can now apply code style preferences from the command-line with the dotnet format global tool. Zur Installation ist das .NET Core 2.1 SDK oder höher erforderlich.To install, you will need .NET Core 2.1 SDK or later. Führen Sie den folgenden Befehl über Ihr bevorzugtes Terminal aus: dotnet tool install -g dotnet-format --version 3.0.0-beta4-19105-10Run the following command in your favorite terminal: dotnet tool install -g dotnet-format --version 3.0.0-beta4-19105-10
dotnet format video
Ausführen des dotnet-Formats über die BefehlszeileRun dotnet format from the command-line.

ErweiterbarkeitExtensibility

  • Sie können keine Erweiterungen mehr in Visual Studio 2019 installieren, die mit V1 des vsixmanifest-Erweiterungsformats erstellt wurden.You will no longer be able to install extensions built with the V1 vsixmanifest extension format in Visual Studio 2019. V1 wurde in Visual Studio 2010 eingeführt und in Visual Studio 2017 als veraltet markiert, da es Zuverlässigkeitsprobleme in Visual Studio verursachen konnte.V1 was introduced in Visual Studio 2010 and was deprecated in Visual Studio 2017 because it could cause reliability issues with Visual Studio. In Visual Studio 2019 wurde die Unterstützung für V1 vollständig entfernt.In Visual Studio 2019, the support for V1 has been completely removed. Erweiterungen, die auf Visual Studio 2019 abzielen, sollten in V2 oder V3 des vsixmanifest-Formats neu erstellt werden.Extensions targeting Visual Studio 2019 should be rebuilt V2 or V3 of the vsixmanifest format.
  • Sie werden nun benachrichtigt, wenn eine Erweiterung automatisch synchron geladen wird.You will now be notified when an extension is synchronously auto-loaded. Beachten Sie, dass die Erweiterung in diesem Release ganz normal geladen und funktionieren wird, doch es besteht das Risiko, dass sie im nächsten Visual Studio 2019-Update nicht mehr funktionieren wird.Note, the extension will load and work as normal in this release, but is at risk of not functioning in the next Visual Studio 2019 update. Weitere Details finden Sie in unserem Blogbeitrag zum Verbessern der Reaktionsfähigkeit kritischer Szenarios durch Aktualisieren des automatischen Ladeverhaltens für Erweiterungen.More details can be found on our blog post about improving the responsiveness of critical scenarios by updating auto load behavior for extensions.
Einheitliches SDK-NuGet-PaketUnified SDK NuGet package

In der Vergangenheit mussten Erweiterungsautoren viele separate Verweise auf die einzelnen NuGet-Pakete des Visual Studio SDKs machen, die sie für ihre Erweiterung benötigten.In the past, extension authors had to make many separate references to the individual NuGet packages of the Visual Studio SDK they needed to use in their extension. Die Versionen der verschiedenen Pakete waren immer aufeinander abgestimmt, was oft zu Abhängigkeitskonflikten während der Kompilierzeit sowie zu Laufzeitproblemen führte.The versions of the various packages weren't always aligned and that often resulted in dependency conflicts at compile time as well as runtime issues.

Um diese Probleme zu beheben, verwenden Sie das neue Paket Microsoft.VisualStudio.SDK, das Abhängigkeiten für alle Pakete enthält, aus denen sich das Visual Studio SDK zusammensetzt.To solve these issues, use a new package called Microsoft.VisualStudio.SDK which contains dependencies on all the packages that make up the Visual Studio SDK. Es löst Versionskonflikte und informiert darüber, welche Version verwendet werden soll.It solves the issue of version mismatches as well as makes it easy to know which version to use. Verwenden Sie einfach die Version des Pakets, die der niedrigsten Version von Visual Studio entspricht, die von Ihrer Erweiterung unterstützt wird, und Sie haben Zugriff auf das gesamte SDK.Simply use the version of the package that corresponds to the lowest version of Visual Studio your extension supports and you will have access to the entire SDK.

Im Moment ist nur die Version 15.9 des SDK-Pakets verfügbar, aber weitere werden in den kommenden Monaten bis zur Version 14.0 veröffentlicht.Right now, only version 15.9 of the SDK package exists, but more will be released in the months to come all the way to version 14.0.

Neue und aktualisierte ProjektvorlagenNew and updated project templates

Die VSIX-Projekt-Vorlage wurde mehrfach aktualisiert, um sie zu vereinfachen und zu verbessern:The VSIX Project template has gone through multiple updates to simplify it and make it better:

  • Sie verwendet das neue, einheitlich SDK-NuGet-Paket.Uses the new, unified SDK NuGet package
  • Sie enthält eine AsyncPackage-Klasse.Includes an AsyncPackage class
  • Zum Kompilieren eines Pakets ist keine RESX-Datei mehr erforderlich.No longer requires a .resx file to compile a package
  • Sie ist für .NET Framework 4.7.2 konzipiert.Targets .NET Framework 4.7.2

Es wurde die neue Vorlage Empty VSIX Project (Leeres VSIX-Projekt) erstellt, die mit der VSIX-Projektvorlage übereinstimmt, aber keine AsyncPackage-Klassen enthält.A new Empty VSIX Project template has been created and it is the same as the VSIX Project template but without the AsyncPackage class. Zudem verweist sie auf das einheitliche SDK-NuGet-Paket, das eine gute Grundlage für MEF-Erweiterungen und andere paketlose Erweiterungstypen bildet.It also references the unified SDK NuGet package providing a good starting point for MEF extensions and other package-less extension types.

Kostenlos/Kostenpflichtig/TestversionFree/Paid/Trial

Es gab keine einfache Möglichkeit, um zu erkennen, ob es sich um eine Erweiterung vom Typ „Free“, „Bezahlt“ oder „Testversion“ handelt.There hasn't been an easy way to see if an extension was marked as free, paid, or a trial. Dies wurde geändert, sodass im Dialogfeld Erweiterungen und Updates jetzt jede kostenpflichtige Erweiterung bzw. jede Testversion auch als solches eindeutig gekennzeichnet ist.This now changes so that inside the Extensions and Updates dialog, each extension that is either a trial or paid will be marked clearly as such. Erweiterungen ohne die Bezeichnung „Testversion“ oder „Bezahlt“ sind kostenlos („Free“).Extensions that don't have a trial/paid label are free.

TesttoolsTesting tools

Weitere APIs im Testfenster, die zuvor nicht dokumentiert, aber als öffentlich markiert waren, wurden der Veraltet-Liste hinzugefügt.Additional APIs in the Test Window that were previously undocumented but marked as public have been added to the deprecation list.

QuellcodeverwaltungSource Control

  • Vorübergehendes Speichern von Änderungen, sodass Sie an einer anderen Aufgabe arbeiten können, wo die Git-Tools von Team Explorer nun die Ausführung von Git-Stash unterstützen.Temporarily store changes so you can work on another task now that Team Explorer's Git tools support Git stash.
  • Überprüfen, Ausführen und sogar Debuggen von Pull Requests aus Azure Repos, ohne die IDE zu verlassen, mithilfe unserer ganz neuen Pull Request-Erfahrung in Visual Studio 2019.Review, run, and even debug pull requests from Azure Repos without leaving the IDE using our brand-new pull request experience in Visual Studio 2019. Als erste Schritte können Sie die Pull Requests für Visual Studio-Erweiterung aus dem Visual Studio Marketplace herunterladen.To get started, you can download the Pull Requests for Visual Studio extension from the Visual Studio Marketplace.
New Pull Request Experience
Neue Pull Request-ErfahrungNew Pull Request Experience

MSBuildMSBuild

  • Die MSBuild-Toolsetversion hat sich von 15.0 in Current geändert.The MSBuild toolset version has been changed from 15.0 to Current. MSBuild.exe befindet sich jetzt in %VSINSTALLDIR%\MSBuild\Current\Bin\MSBuild.exe.MSBuild.exe is now in %VSINSTALLDIR%\MSBuild\Current\Bin\MSBuild.exe.
  • MSBuild (und Visual Studio) zielt jetzt auf .NET Framework 4.7.2 ab.MSBuild (and Visual Studio) now targets .NET Framework 4.7.2. Wenn Sie die neuen MSBuild-API-Funktionen verwenden möchten, müssen Sie ebenfalls ein Upgrade Ihrer Assembly durchführen, wobei vorhandener Code aber weiterhin funktionsfähig bleibt.If you wish to use new MSBuild API features, your assembly must also upgrade, but existing code will continue to work.

C#C#

Bei allen Releases vor Visual Studio-2019 entsprach die C#-Standardsprachversion immer der neuesten Hauptversion.For every release prior to Visual Studio 2019, the default C# language version was always equivalent to Latest Major. Unter Visual Studio 2017 wurde C# weiterentwickelt, und drei Nebenversionen wurden veröffentlicht: 7.1, 7.2 und 7.3.In Visual Studio 2017, C# evolved and released three minor versions: 7.1, 7.2, and 7.3. Für neue Projekte wurde jedoch standardmäßig weiterhin C# 7.0 verwendet.However, new projects were still defaulting to C# 7.0. Dies erwies sich als frustrierend für C#-Entwickler, die neue Features verwenden wollten, die Sprachversion jedoch für jedes neue Projekt manuell ändern mussten.This proved frustrating for C# developers who wanted to use new features, but had to manually change the language version for each new project.

Dieses Problem wird gelöst, indem die C#-Standardsprachversion durch das Zielframework festgelegt wird:To address this problem, the default C# language version is determined by its target framework:

  • Wenn Sie die Vorschauversion von .NET Core 3.0 als Zielframework angeben, wird als C#-Sprachversion die Vorschauversion von C# 8.0 verwendet.If you are targeting .NET Core 3.0 preview, the C# language version will be C# 8.0 Preview.
  • Wenn .NET Framework oder Versionen von .NET Core verwendet werden, die keine Vorschauversionen sind, wird als Sprachversion C# 7.3 verwendet.If you are targeting .NET Framework or any non-preview of .NET Core, the C# language version will by C# 7.3.

Dadurch können standardmäßig die neuesten stabilen C#-Sprachfeatures verwendet werden. Bei der Nutzung von .NET Core-Vorschauversionen lassen sich zudem Vorschausprachfeatures von C# 8.0 mit der Vorschauversion von .NET Core 3.0 verwenden.This allows the use of the latest stable C# language features by default, and when using .NET Core previews, the use of C# 8.0 preview language features that align with .NET Core 3.0 Preview.

Wenn Sie in einem Projekt oder in einer Eigenschaftendatei eine Sprachversion mit LangVersion angeben, überschreibt diese Sprachversion den zuvor beschriebenen Standardwert.If you specify a language version via LangVersion in a project or props file, that language version overrides the previously described default.

C++C++

  • Arbeiten Sie jetzt in Echtzeit zusammen, wo Visual Studio Live Share C++ unterstützt.Collaborate in real time now that Visual Studio Live Share supports C++.
  • Sparen Sie Zeit, indem Sie IntelliCode verwenden, eine optionale Erweiterung, die ihr umfassendes Training und Ihren Codekontext verwendet, um das, was Sie am wahrscheinlichsten verwenden werden, an den Anfang Ihrer Vervollständigungsliste zu setzen.Save time by by using IntelliCode, an optional extension that uses its extensive training and your code context to put what you're most likely to use at the top of your completion list. Für C++ bietet IntelliCode die umfassendste Hilfe, wenn Sie beliebte Bibliotheken wie STL verwenden.For C++, IntelliCode offers the most help when you are using popular libraries like STL.
  • Wir haben mehrere Projektvorlagennamen und -beschreibungen so geändert, dass sie zum aktualisierten Dialogfeld „Neues Projekt“ passen.We have modified several project template names and descriptions to fit with the updated New Project dialog.
  • Wir haben die experimentelle Komponente „Clang/C2“ entfernt.We have removed the Clang/C2 experimental component. Verwenden Sie das MSVC-Toolset für vollständige Konformität mit dem C++-Standard mit „/permissive-“ und/oder „/std:c++17“ oder der Clang/LLVM-Toolkette für Windows.Use the MSVC toolset for full C++ standards conformance with /permissive- and/or /std:c++17, or the Clang/LLVM toolchain for Windows. Weitere Details finden Sie im  Visual C++-Teamblog .See the Visual C++ Team Blog for more details.
  • Wir haben den Schalter „/Gm“ des C++-Compilers als veraltet markiert.We have deprecated the C++ Compiler /Gm switch. Erwägen Sie, den Schalter „/GM“ in Ihren Buildskripts zu deaktivieren, wenn er explizit definiert wurde.Consider disabling the /Gm switch in your build scripts if it's explicitly defined. Alternativ können Sie die Warnung wegen Veraltung für „/Gm“ auch ohne Bedenken ignorieren, da dies bei Verwendung von „Warnungen als Fehler behandeln“ (/WX) nicht als Fehler behandelt wird.Alternatively, you can also safely ignore the deprecation warning for /Gm as it will not be treated as error when using "Treat warnings as errors" (/WX).
  • Die C++-Android-Erfahrung verwendet jetzt standardmäßig das Android SDK 25 und Android NDK 16b.The C++ Android experience now defaults to Android SDK 25 and Android NDK 16b.
Produktivität Productivity
  • Die Codeanalyse wird jetzt automatisch im Hintergrund ausgeführt.Code analysis now runs automatically in the background. Warnungen werden während der Eingabe als grüne Wellenlinien im Editor angezeigt.Warnings display as green squiggles in-editor as you type.
  • Für die Vorlagenleiste wird nun die Peek-Fenster-Benutzeroberfläche anstelle eines modalen Fensters verwendet, werden verschachtelte Vorlagen unterstützt und werden alle Standardargumente im Peek-Fenster vorausgefüllt.The Template Bar now utilizes the Peek Window UI rather than a modal window, supports nested templates, and prepopulates any default arguments into the Peek Window.
  • Automatische Korrektur für die „NULL -> nullptr“-Codeanalysewarnung (C26477 USE_NULLPTR_NOT_CONSTANT) steht über das Glühbirnenmenü in entsprechenden Zeilen zu Verfügung und ist standardmäßig im Regelsatz „C++ Core Check – Typenregeln“ aktiviert.An automatic fix-it for the NULL->nullptr code analysis warning (C26477 USE_NULLPTR_NOT_CONSTANT) is available via the lightbulb menu on relevant lines, enabled by default in the C++ Core Check Type Rules ruleset. Zusätzliche Schnellkorrekturen in der IDE umfassen das Hinzufügen fehlender #include-Direktiven, Beheben fehlender Semikolons und Korrigieren falscher Verwendungen von „*“ gegenüber „&“.Additional quick fixes in the IDE include adding missing #include directives, fixing missing semicolons, and fixing incorrect uses of '*' versus '&'.
  • Vorkompilierte Header werden nicht mehr standardmäßig für C++-Konsolen- und -Desktop-Apps generiert.Precompiled headers are no longer generated by default for C++ console and desktop apps.
  • „Gehe zu Definition“ funktioniert nun für #include-Direktiven, wobei die entsprechende Datei geöffnet wird.Go to Definition now works on #include directives, opening the corresponding file. Dies schließt das F12-Tastaturkürzel ein, wodurch eine einfache Möglichkeit bereitgestellt wird, in Ihrem Code zu navigieren.This includes the F12 shortcut, providing an easy way to navigate around your code.
  • Wenn Sie den Mauszeiger auf eine schließende Klammer eines Codeblocks setzen, erhalten Sie einige nützliche Informationen über den Kontext dieses Blocks.Hovering over a closing brace of a code block provides some helpful information about the context of that block.
  • In ConcurrencyChecker wurde Unterstützung für bekannte STL-Typen aus dem <mutex>-Header hinzugefügt.We've added support in ConcurrencyChecker for well-known STL types from the <mutex> header.
  • Eine aktualisierte Teilimplementierung der Lifetime-Profil-Prüfung ist verfügbar, um verbleibende Zeiger und Referenzen zu erkennen.An updated partial implementation of the Lifetime profile checker is available for detecting dangling pointers and references.
  • Im Compiler wurde erste Unterstützung für den C++-20-Operator <=> („Raumschiff“) für Drei-Wege-Vergleiche hinzugefügt.We've added initial support in the compiler for the C++20 operator <=> ("spaceship") for three-way comparison.
CMake CMake
  • Die Leistung von IntelliSense für C++-Dateien in CMake-Projekten wurde verbessert.We've improved performance of IntelliSense for C++ files in CMake projects.
  • Visual Studio unterstützt Sie, Ihre C++-Entwicklung mit CMake unter Linux zu beginnen, indem es erkennt, ob Sie eine kompatible Version von CMake auf Ihrem Linux-Rechner haben.Visual Studio helps bootstrap your C++ development with CMake on Linux by detecting if you have a compatible version of CMake on your Linux machine. Ist dies nicht der Fall, bietet Visual Studio Ihnen an, CMake für Sie zu installieren.If not, it offers to install it for you.
  • Der Editor für CMake-Einstellungen bietet eine Alternative zu „CMakeSettings.json“ und bietet vergleichbares Arbeiten wie mit CMakeGUI.The CMake Settings Editor provides an alternative to CMakeSettings.json and provides some parity with CMakeGUI.
  • Die CMake-Menü wurde entfernt und neu zusammengestellt, um engere Übereinstimmung mit Projekten und Projektmappen zu erzielen.The CMake menu has been removed and reorganized for closer parity with projects and solutions.
  • Inkompatible Einstellungen in CMakeSettings, etwa nicht passende Architekturen oder inkompatible CMake-Generatoreinstellungen, bewirken, dass Wellenlinien im JSON-Editor und Fehler in der Fehlerliste angezeigt werden.Incompatible settings in CMakeSettings, such as mismatched architectures or incompatible CMake generator settings, show squiggles in the JSON editor and errors in the Error List.
  • Die vcpkg-Toolkette wird für CMake-Projekte, die in der IDE geöffnet werden, sobald vcpkg integrate install ausgeführt wurde, automatisch erkannt und aktiviert.The vcpkg toolchain is automatically detected and enabled for CMake projects that are opened in the IDE once vcpkg integrate install has been run. Dieses Verhalten kann deaktiviert werden, indem eine leere Toolkettendatei in CMakeSettings angegeben wird.This behavior can be turned off by specifying an empty toolchain file in CMakeSettings.
  • Für CMake-Projekte wird „Nur eigenen Code“-Debuggen jetzt standardmäßig aktiviert.CMake projects now enable Just My Code debugging by default.
  • Warnungen bei statischer Analyse können nun im Hintergrund verarbeitet und im Editor für CMake-Projekte angezeigt werden.Static analysis warnings can now be processed in the background and displayed in the editor for CMake projects.
  • Es wurden eindeutigere build- und konfigurationsbezogene „begin“- und „end“-Nachrichten für CMake-Projekte sowie Unterstützung für die Build Statusanzeige von Visual Studio hinzugefügt.We've added clearer build and configure 'begin' and 'end' messages for CMake projects and support for Visual Studio's build progress UI. Zusätzlich gibt es nun in Tools > Optionen eine CMake-Ausführlichkeitseinstellung, um den Detaillierungsgrad der CMake-Build- und -Konfigurationsmeldungen für das Ausgabefenster anzupassen.Additionally, there is now a CMake verbosity setting in Tools > Options to customize the detail level of CMake build and configuration messages in the Output Window.
  • Die Einstellung „cmakeToolchain“ wird jetzt in CMakeSettings unterstützt, um Toolketten anzugeben, ohne die CMake-Befehlszeile manuell zu ändern.The 'cmakeToolchain' setting is now supported in CMakeSettings to specify toolchains without manually modifying the CMake command line.
Back-End Backend
  • Es wurden Build-Durchsatzverbesserungen implementiert, einschließlich der Handhabung von Datei-E/A und Linkzeit durch den Linker beim Zusammenführen und Erstellen von PDB-Typen.We've implemented build throughput improvements, including the linker's handling of File I/O and link time in PDB type merging and creation.
  • Es wurde grundlegende Unterstützung für OpenMP SIMD-Vektorisierung hinzugefügt.We've added basic support for OpenMP SIMD vectorization. Dies kann mit dem neuen CL-Argument „-openmp:experimental“ aktiviert werden.This can be enabled with the new CL switch -openmp:experimental. Dadurch wird es möglich, Schleifen, die mit "#pragma omp simd" kommentiert sind, eventuell zu vektorisieren.This allows loops annotated with “#pragma omp simd” to potentially be vectorized. Die Vektorisierung ist nicht garantiert, und für Schleifen, die kommentiert, aber nicht vektorisiert sind, wird eine Warnung ausgegeben.The vectorization is not guaranteed, and loops annotated but not vectorized will get a warning reported. Werden keine SIMD-Klauseln unterstützt, werden diese einfach ignoriert, und es wird eine Warnung ausgegeben.If no SIMD clauses are supported, they will simply be ignored and a warning will be reported.
  • Es wurde das neue Inlining-Befehlszeilenargument „-Ob3“ hinzugefügt, das eine aggressivere Version von „-Ob2“ ist.We've added a new inlining command line switch -Ob3, which is a more aggressive version of -Ob2. „-O2“ (die Binärdatei hinsichtlich Geschwindigkeit optimieren) impliziert weiterhin standardmäßig „-Ob2“. Sollten Sie der Meinung sein, dass der Compiler zu wenig Inlining verwendet, sollten Sie „-O2 -Ob3“ übergeben.-O2 (optimize the binary for speed) still implies -Ob2 by default; if you find the compiler is under-inlining, consider passing -O2 -Ob3.
  • Um manuelle Vektorisierung von Schleifen zu unterstützen, in denen Aufrufe für mathematische Bibliotheksfunktionen und bestimmte andere Operationen wie Ganzzahldivisionen enthalten sind, wurde Unterstützung für intrinsische Funktionen der Short Vector Math Library (SVML) hinzugefügt, in denen die 128-Bit-, 256-Bit- oder 512-Bit-Vektoräquivalente berechnet werden.To support hand vectorization of loops containing calls to math library functions and certain other operations like integer division, we've added support for Short Vector Math Library (SVML) intrinsic functions that compute the 128-bit, 256-bit or 512-bit vector equivalents. Definitionen der unterstützten Funktionen finden Sie im Intel Intrinsics Guide.See the Intel Intrinsic Guide for definitions of the supported functions.
  • Neue und verbesserte Optimierungen:New and improved optimizations:
    • Konstantenfaltung und arithmetische Vereinfachungen für Ausdrücke mit systeminternen SIMD-Funktionen (Vektorfunktionen) für Float- und für Integer-FormenConstant-folding and arithmetic simplifications for expressions using SIMD (vector) intrinsics, for both float and integer forms
    • Eine leistungsfähigere Analyse zum Extrahieren von Informationen aus der Ablaufsteuerung (if/else/switch-Anweisungen), um Zweige zu entfernen, für die feststeht, dass sie immer gleich „true“ oder „false“ sindA more powerful analysis for extracting information from control flow (if/else/switch statements) to remove branches always proven to be true or false
    • Verbessertes „memset“-Auflösen, um SSE2-Vektoranweisungen zu verwendenImproved memset unrolling to use SSE2 vector instructions
    • Verbessertes Entfernen von nutzlosen struct/class-Kopien, insbesondere für C++-Programme, in denen Übergabe nach Wert erfolgtImproved removal of useless struct/class copies, especially for C++ programs which pass by value
    • Verbesserte Optimierung von Code mit „memmove“, z. B. Erstellung von „std::copy“ oder „std::vector“ und „std::string“Improved optimization of code using memmove, such as std::copy or std::vector and std::string construction
Veraltete Elemente Deprecations
  • Die Vorlage für verwaltete C++-Testprojekte (Managed C++ Test Project) ist nicht mehr verfügbar.The Managed C++ Test Project template is no longer available. Sie können das verwaltete C++-Testframework weiterhin in Ihren vorhandenen Projekten verwenden, aber für neue Komponententests sollten Sie eines der nativen Testframeworks, für die Visual Studio Vorlagen (MSTest, Google Test) bereitstellt, oder die Vorlage für verwaltete C#-Testprojekte (Managed C# Test Project) verwenden.You can continue using the Managed C++ Test framework in your existing projects but, for new unit tests, consider using one of the native test frameworks for which Visual Studio provides templates (MSTest, Google Test) or the Managed C# Test Project template.
  • Das Windows 8.1 SDK ist nicht mehr im Visual Studio-Installer verfügbar.The Windows 8.1 SDK is no longer available in the Visual Studio installer. Aktualisieren Sie Ihre C++-Projekte auf das neueste Windows 10 SDK.Please upgrade your C++ projects to the latest Windows 10 SDK. Haben Sie eine unumgängliche Abhängigkeit zu 8.1, können Sie das SDK aus dem Windows SDK-Archiv herunterladen.If you have a hard dependency on 8.1, you can download it from the Windows SDK archive.
  • Windows XP als Ziel ist für den neuesten C++-Toolset nicht mehr verfügbar.Windows XP targeting will no longer be available for the latest C++ toolset. XP als Ziel mit MSVC-Compiler und -Bibliotheken in der Version für Visual Studio 2017 wird weiterhin unterstützt und kann über „Einzelne Komponenten“ installiert werden.XP targeting with VS 2017-level MSVC compiler & libraries is still supported and can be installed via "Individual components".
  • In der Dokumentation wird aktiv von einer Verwendung von Mergemodulen für die Bereitstellung von Visual C++ Runtime abgeraten.Our documentation actively discourages usage of Merge Modules for Visual C++ Runtime deployment. In diesem Release gibt es den zusätzlichen Schritt, dass unsere MSM-Dateien zu veralteten Dateien gemacht werden.We are taking the extra step this release of marking our MSMs as deprecated. Sie sollten erwägen, Ihre zentrale VCRuntime-Bereitstellung von MSMs zum Redistributable Package zu migrieren.Consider migrating your VCRuntime central deployment from MSMs to the redistributable package.
  • Die folgenden C++-ATL/MFC-Assistenten sind nicht mehr verfügbar: ATL COM+ 1.0 Komponenten-Assistent, ATL-Assistent für Active Server Pages-Komponenten, ATL-OLE DB-Anbieter-Assistent, ATL-Eigenschaftenseiten-Assistent, ATL-OLE DB-Consumer-Assistent, MFC-ODBC-Consumer, MFC-Klasse aus ActiveX-Steuerelement und MFC-Klasse aus der Typbibliothek (typelib).The following C++ ATL/MFC wizards are no longer available: ATL COM+ 1.0 Component Wizard, ATL Active Server Pages Component Wizard, ATL OLE DB Provider Wizard, ATL Property Page Wizard, ATL OLE DB Consumer Wizard, MFC ODBC Consumer, MFC class from ActiveX control, and MFC class from Type Lib. Beispielcode für diese Technologien ist in Microsoft-Dokumentation und im VCSamples GitHub-Repository archiviert.Sample code for these technologies is archived at Microsoft Docs and the VCSamples GitHub repository.

F#F#

In den folgenden drei Hauptbereichen wurden F#-Verbesserungen in Visual Studio 2019 erzielt:F# improvements in Visual Studio 2019 are in three major areas:

  • F# 4.6F# 4.6
  • Deutliche Leistungssteigerung für mittlere und große ProjektmappenMajor performance improvements for medium and larger solutions
  • Viele Beiträge unserer großartigen Open Source-CommunityLots of open source work by our excellent open source community
F# 4.6F# 4.6

Dieses Release enthält die F# 4.6-Sprache:This release contains the F# 4.6 language:

Verbesserungen beim F#-Compiler und bei FSharp.CoreF# compiler and FSharp.Core improvements

Der F#-Compiler und FSharp.Core wurden um zahlreiche Verbesserungen ergänzt, die insbesondere auf Open Source-Mitwirkende zurückzuführen sind:The F# and compiler and FSharp.Core have seen numerous improvements, especially from open source contributors:

  • fsi.exe und fsc.exe sind nun standardmäßig auf .NET Framework 4.7.2 eingestellt, sodass Komponenten geladen werden können, die auf dieses Framework oder niedriger ausgerichtet sind (#4946).fsi.exe and fsc.exe now defaults to .NET Framework 4.7.2, allowing the loading of components targeting this framework or lower (#4946).
  • Wir haben die Methoden für Strukturen und Strukturdatensätze optimiert sowie Methoden für Klassen und klassenbasierte Datensätze (#3057).We optimized methods on structs and struct records to perform as well as methods on classes and class-based records (#3057).
  • Die übersetzte Zwischensprache für kombinierte boolesche Logik in F#-Code wurde optimiert (#635).We optimized the emitted IL for combined Boolean logic in F# code (#635).
  • Die Verwendung von + mit Zeichenfolgen in F# wurde optimiert, sodass die kleinstmögliche Anzahl von String.Concat-Aufrufen ausgeführt wird (#5560).We've optimized the use of + with strings in F# to call the minimal amount of String.Concat calls as possible (#5560).
  • Korrigiert: Im FSharp.Core-Paket waren einige zusätzliche Verzeichnisse mit Testobjekten enthalten.We fixed an issue in the FSharp.Core package where some extra directories with test assets were included. FSharp.Core 4.5.5 und 4.6.1 sollten die Korrektur (#5814) aufweisen.FSharp.Core 4.5.5 and 4.6.1 should have the fix (#5814).
  • Wenn ein benutzerdefiniertes Attribut nicht von der Attribute-Klasse erbt, wird jetzt eine Warnung angezeigt (Beitrag von Vasily Kirichenko).When a user-defined attribute does not inherit from the Attribute class, you will now receive a warning, by Vasily Kirichenko.
  • Der AssemblyInformationVersionAttribute-Wert in einer Projektdatei unterstützt jetzt beliebige Werte, um Szenarien wie SourceLink zu unterstützen (#4822).The AssemblyInformationVersionAttribute value in a project file now supports arbitrary values to support scenarios such as SourceLink (#4822).
  • Ein Fehler, bei dem unzulässige Syntax mit aktiven Mustern einen internen Compilerfehler verursachen würde, wurde von Steffen Forkmann behoben (#5745).A bug where illegal syntax with Active Patterns would cause an internal compiler error has been fixed by Steffen Forkmann (#5745).
  • Ein Fehler, bei dem das Module-Suffix fälschlicherweise zu einem Modul in einem rekursiven Modul hinzugefügt wurde, um einem Typ zu entsprechen, bei dem der einzige Unterschied ein generischer Parameter war, wurde von BooksBaum behoben (#5794).A bug where the Module suffix was erroneously added to a module in a recursive module to match a type where the only difference is a generic parameter was fixed by BooksBaum (#5794).
  • Die Fehlermeldung, wenn Typparameter nicht an Typnamen angrenzen, wurde von Alan Ball verbessert (#4183).An improvement to the error message when type parameters are not adjacent to a type name has been improved by Alan Ball (#4183).
  • Das Literalsuffix uint16 wird in den Fehlermeldungen für ungültige numerische Literale korrekt aufgeführt, von Teo Tsirpanis (#5712).The uint16 literal suffix is listed correctly in the error messages for invalid numeric literals, by Teo Tsirpanis (#5712).
  • Fehlermeldungen für Berechnungsausdrücke führen nicht mehr async in der Meldung an und beziehen sich stattdessen auf „Berechnungsausdrücke“, von John Wostenberg (#5343).Error messages for computation expressions no longer state async in the message and instead refer to "computation expression(s)", by John Wostenberg (#5343).
  • Eine Fehlermeldung bei fehlerhaftem Verweis auf .dlls in F# Interactive wurde von Bartoz Sypytkowski korrigiert (#5416).An error message when incorrectly referencing .dlls in F# interactive was fixed by Bartoz Sypytkowski (#5416).
  • Ein Fehler, bei dem statisch aufgelöste Typparameter nicht zum Aufrufen eines Members verwendet werden konnten, das einen geerbten Member ausblendet, wurde von Victor Peter Rouven Müller (#5531) behoben.A bug where Statically Resolved Type Parameters couldn't handle calling a member that hides an inherited member was fixed by Victor Peter Rouven Müller (#5531).
  • Verschiedene kleinere Leistungsverbesserungen am Compiler wurden von Steffen Forkmann und Robert Jeppesen hinzugefügt.Various smaller performance improvements to the compiler have been added by Steffen Forkmann and Robert Jeppesen.
F#-LeistungsverbesserungenF# performance improvements

Ein weiterer wichtiger Schwerpunktbereich für F# in Visual Studio 2019 war die Leistung für mittlere und große Projektmappen.Another big focus area for F# in Visual Studio 2019 has been performance for medium and large solutions. Dabei wurden einige Probleme behoben, die bereits lange bekannt sind und teilweise bis zur ersten Edition der F#-Tools für Visual Studio zurückreichen.We addressed some very long-standing issues, some of which dating back to the very first edition of F# tools for Visual Studio. Einige Verbesserungen stammen außerdem von der großartigen Open Source-Community für F#.We also got some help from the excellent F# open source community.

  • Die Art und Weise, wie der F#-Sprachdienst durch Roslyn installiert wird, wurde überarbeitet.We've revamped how the F# language service is initialized by Roslyn. Farbliche Typenkennzeichnung für größere Projektmappen sollte in der Regel schneller angezeigt werden.Type colorization for larger solutions should generally appear sooner.
  • Die Darstellung des Quelltexts wurde geändert, um insbesondere bei größeren Dateien eine hohe Speicherbelegung über einen längeren Zeitraum zu vermeiden (#5935, #5936, #5937, #4881).We changed our representation of source text to avoid large allocations over time, especially with bigger files (#5935, #5936, #5937, #4881).
  • Die Buildcaches wurden für kleine Änderungen an Dateien so angepasst, dass deutlich weniger Speicher verbraucht wird (#6028).We changed our build caches for small edits to files to use significantly less memory (#6028).
  • Ein Compilerfeature, das Namen bei der Eingabe nicht erkannter Tokens anzeigt, wurde so angepasst, dass Vorschläge nur noch bei Bedarf angezeigt werden. Dadurch verringert sich die CPU- und Speicherauslastung deutlich, wenn in großen Projektmappen langsam getippt wird (#6044).We modified a compiler feature that suggests names when unrecognized tokens are typed to only compute these suggestions on-demand, resulting in significant CPU and memory reductions when typing slowly in larger solutions (#6044).
  • IntelliSense wurde so angepasst, dass standardmäßig keine Symbole mehr aus nicht geöffneten Namespaces angezeigt werden.We changed IntelliSense so that it will no longer show symbols from unopened namespaces by default. Dadurch verbessert sich die Leistung von IntelliSense in Projekten mit vielen Verweisen erheblich.This notably improves performance for IntelliSense in projects with many references. Dieses Feature kann in den Einstellungen über Extras > Optionen > Text-Editor > F# > IntelliSense wieder aktiviert werden.This feature can be turned back on in the settings via Tools > Options > Text Editor > F# > IntelliSense.
  • Wir haben die Arbeitsspeicherverwendung verbessert, wenn mithilfe von Typanbietern große Mengen bereitgestellter Typen in einer Vervollständigungsliste generiert werden (#5599).We improved memory usage when using Type Providers to generate very large amounts of provided types in a completion list (#5599).
  • Ein Problem bei der Verringerung der CPU- und Speicherauslastung für einen internen Zeichenfolgen-Vergleichsalgorithmus, der nicht erkannte Namen vorschlägt, wurde von Avi Avni behoben (#6050).A reduction to CPU and memory usage to an internal string comparison algorithm for suggesting unrecognized names has been fixed by Avi Avni (#6050).
  • Eine wichtige Quelle für große Zeichenfolgenzuweisungen, insbesondere für IDE-Tools, wurde durch Avi Avni (#5922) korrigiert.A notable source of large string allocations, particularly for IDE tooling, was fixed by Avi Avni (#5922).
  • Eine Ursache für eine hohe Speicherbelegung des Heaps mit Large Object-Typen im Zusammenhang mit IntelliSense wurde von Chet Husk behoben (#6084).A notable source of Large Object Heap allocations coming from computing IntelliSense has been fixed by Chet Husk (#6084)
F#-ToolverbesserungenF# tooling improvements

Zusätzlich zu den Leistungsverbesserungen wurden noch weitere Optimierungen an den F#-Tools für Visual Studio-2019 vorgenommen:In addition to performance improvements, various other improvements to F# tooling for Visual Studio 2019 have been made:

  • Die Codefehlerbehebung für die „open hinzufügen“-Anweisung fügt die open-Anweisung jetzt standardmäßig am Anfang der Datei ein.The Add open statement code fix will now default to adding the open statement at the top of the file.
  • Wir haben einen Fehler behoben, bei dem match! in Benutzercode Strukturführungslinien und Codegliederungsknoten für nachfolgende Bereiche ungültig gemacht hat (#5456).We fixed a bug where match! in user code invalidated structure guidelines and code outlining nodes for subsequent scopes (#5456).
  • Der Editor verwendet jetzt mit der änderbaren Wertfarbgebung die richtigen Farben für die Werte byref, outref und ref als Datensatzfelder (#5579).The editor will now correctly color byref, outref, and ref values as record fields with the mutable value colorization (#5579).
  • Wir haben einen Fehler behoben, bei dem das Umbenennungs-Refactoring das Zeichen ' in Symbolnamen nicht erkannt hat (#5604).We fixed a bug where the rename refactoring did not recognize the ' character in symbol names (#5604).
  • Es wurde ein langjähriger Fehler behoben, bei dem ein Umbenennen von F#-Skriptdateien zu einem Verlust von Daten für die farbliche Kennzeichnung geführt hat (#1944).We've fixed a longstanding bug where renaming F# script files resulted in a loss of colorization data (#1944).
  • IntelliSense wurde so angepasst, dass beim Drücken der RÜCKTASTE keine unzusammenhängenden Listenelemente angezeigt werden.We cleaned up IntelliSense so that it doesn't show unrelated items in the list when pressing backspace.
  • Bei aktivierten intelligenten Einzügen wird in den Editor eingefügter F#-Code jetzt so formatiert, dass er einem angemessenen Bereich entspricht, basierend auf der aktuellen Cursorposition, implementiert von Saul Rennison (#4702).With "Smart" indentation on, pasting F# code into the editor will now format it to match an appropriate scope based on the current cursor position, implemented by Saul Rennison (#4702).
  • Von Jakob Majocha (#5997, #5998) korrigiert: F#-Editor-Optionen wurden nicht synchronisiert.An issue where F# editor options weren't syncing has been fixed by Jakob Majocha (#5997, #5998).
  • Ein Fehler, durch den IntelliSense in einem Konstruktor innerhalb einer inherit-Klausel nicht den primären Konstruktor angezeigt hat, wurde von Eugene Auduchinok behoben (#3699).A bug where IntelliSense in a constructor within an inherit clause wouldn't show the primary constructor has been fixed by Eugene Auduchinok (#3699)
  • Verschiedene kleinere Verbesserungen am F#-Sprachdienst wurden von Eugene Auduchinok vorgenommen.Various smaller improvements to the F# language service have been made by Eugene Auduchinok
Open Source-Infrastruktur für #FF# open source infrastructure

Die Codebasis für F# und für die F#-Tools wurde vollständig zum .NET SDK migriert.We've fully migrated the F# and F# tools codebase to use the .NET SDK. Dadurch können insbesondere Entwickler, die nicht Windows verwenden, wesentlich einfacher Beiträge einreichen.This dramatically simplifies the contribution process for developers, especially if they are not using Windows. Jakob Majocha hat darüber hinaus angesichts der Änderungen an der Codebasis Dokumente für neue Mitwirkende überarbeitet.Additionally, Jakob Majocha has helped in cleaning up documents for new contributors in light of the changes to the codebase.

PythonPython

Basierend auf Kundenfeedback haben wir die Funktionen zum Verwalten von Python-Umgebungen in Visual Studio 2019 überarbeitet:Based on customer feedback, Visual Studio 2019 includes an overhauled experience for managing Python environments:

  • Wir haben ein neues Dialogfeld „Umgebung hinzufügen“ hinzugefügt, mit dem Sie virtuelle und Conda-Umgebungen einfacher in Ihrem Projekt erstellen und hinzufügen können.We added a new Add environment dialog that simplifies the experience of creating and adding virtual environments and conda environments in your project.
  • Das Installationsprogramm von Visual Studio installiert keine Vollversionen von Anaconda mehr, um die Größe von Visual Studio-Installationen zu verringern und Fehler während Upgrades zu vermeiden.The Visual Studio installer no longer installs full versions of Anaconda to reduce the size of Visual Studio installs and avoid errors during upgrades.
  • Miniconda ist mit Python-Arbeitsauslastung als optionale Komponente gebündelt, sodass Sie conda-Umgebungen erstellen können, ohne Miniconda/Anaconda installieren zu müssen.Miniconda is bundled with Python workload as an optional component, enabling you to create conda environments without having to install Miniconda/Anaconda.
  • Sie werden jetzt automatisch aufgefordert, eine Umgebung hinzufügen, wenn eine Datei „requirements.txt“ (virtuelle Umgebung) oder „environment.yml“ (Conda-Umgebung) im Stamm Ihres Projekts vorhanden ist.You will now be automatically prompted to add an environment if a requirements.txt (virtual environment) or environment.yml (conda environment) is present at the root of your project.
  • Es ist eine neue Symbolleiste für Python-Umgebungen verfügbar, wenn Python-Dateien bearbeitet werden.A new Python Environments toolbar is available when editing Python files. Die neue Symbolleiste ermöglicht es Ihnen, zwischen verschiedenen Python-Interpretern zu wechseln, wenn Sie mit Projekten, Arbeitsbereichen mit offenen Ordnern oder losen Python-Dateien in anderen Projekten arbeiten.The new toolbar enables you to switch between different Python interpreters when working with projects, Open Folder workspaces or loose Python files in other projects.
  • Die automatische Vervollständigung in Python-IntelliSense wurde optimiert. Beispielsweise werden jetzt relative Importe und Namespaceimporte besser erkannt.Improvements to the quality of auto-completions in Python IntelliSense, including improved detection of relative and namespace imports.
  • Django-Projektvorlagen wurden aktualisiert und unterstützen nun Django 2.x.Django project templates have been updated to support Django 2.x.
  • Funktionsrückgabewerte werden jetzt im Python-Debugger angezeigt.Function return values are now shown in the Python debugger.
  • Sie können ab sofort Visual Studio Live Share-Sitzungen erstellen und mit anderen Visual Studio-Benutzern zusammen an Python-Code arbeiten.You can now create VS Live Share sessions and collaborate on Python code with other Visual Studio users. Bisher wurde Python nur unterstützt, wenn an Sitzungen teilgenommen wurde, die in Visual Studio Code erstellt wurden.Previously, Python was only supported when joining sessions created from Visual Studio Code.

JavaScript/TypeScriptJavaScript/TypeScript

  • Es wurde die Möglichkeit hinzugefügt, JavaScript-Debuggen in Komponententests in Node.js-Projekten zu aktivieren.We have added support for enabling JavaScript debugging within unit tests in Node.js projects. Diese Funktionalität wurde seit langem von Node.js-Kunden gefordert.This was a long-requested feature from our Node.js customers.
  • Der JavaScript/TypeScript-Sprachdienst wird jetzt automatisch in Projekten geladen, in denen das TypeScript NuGet-Paket oder das npm-Paket installiert ist (TypeScript 3.2 und höher wird vom NuGet-Paket und TypeScript 2.1 und höher wird vom npm-Paket unterstützt).The JavaScript/TypeScript language service will now be automatically loaded in projects that have the TypeScript NuGet package or npm package installed (TypeScript 3.2 and up is supported from the NuGet package and TypeScript 2.1 and up is supported from the npm package).
  • Die Leistung des Sprachdiensts wurde verbessert, indem die Arbeitsspeichergrenze für den Sprachdienst erhöht wurde, damit größere Projekte verarbeitet werden können.We have implemented performance improvements in the language service as a result of increasing the memory cap on the language service to handle larger projects.
  • Diagnosen von geschlossenen JavaScript/TypeScript-Dateien werden nicht mehr standardmäßig in der Fehlerliste angezeigt.We no longer show diagnostics of closed JavaScript/TypeScript files in the error list by default.
  • Der veraltete JavaScript-Sprachdienst ist nicht mehr verfügbar.The legacy JavaScript language service is no longer available. Vorher hatten Benutzer die Möglichkeit, den Legacy-JavaScript-Sprachdienst wiederherzustellen.Previously, users had the option of restoring the legacy JavaScript language service. Benutzer verfügen jetzt von Anfang an über den neuen JavaScript-Sprachdienst.Users will now have the new JavaScript language service out-of-the-box. Der neue Sprachdienst basiert auf dem TypeScript-Sprachdienst, der auf statischer Analyse basiert.The new language service is based on the TypeScript language service, which is powered by static analysis. Dies ermöglicht eine bessere Verwendung von Tools, sodass Ihr JavaScript-Code vom umfangreicheren IntelliSense, basierend auf Typdefinitionen, profitieren kann.This enables better tooling, so your JavaScript code can benefit from richer IntelliSense based on type definitions. Der neue Dienst ist schlank und verbraucht weniger Speicher als der Legacydienst, bietet Benutzern aber gleichzeitig bessere Leistung, wenn deren Code skaliert.The new service is lightweight and consumes less memory than the legacy service, providing users with better performance as their code scales.

Team Explorer und Azure DevOpsTeam Explorer and Azure DevOps

Die Benutzeroberfläche für Git-Arbeitselemente in Azure DevOps wurde verbessert.We have made improvements to the Git Work Items experience with Azure DevOps.

  • Weisen Sie sich selbst oder anderen mit der neuen Identitätsauswahl Arbeitselemente zu.Assign work items to yourself or others with the new identity picker. Standardmäßig wird eine Liste der Personen angezeigt, die Sie zuletzt ausgewählt haben.By default, you will be shown a list of the people you have most recently used. Sie können aber auch die Suchfunktionalität verwenden, um nach anderen Benutzern in Ihrer Organisation zu suchen.Or, use the search ability to search and find others in your organization.
  • Die #Nennungen-Verarbeitung in der Commitnachricht wurde verbessert.We have improved the #mentions experience in the commit message. Wie Sie ein Arbeitselement in der #Nennungen-Auswahl auswählen, wird es automatisch der Liste „Verknüpfte Arbeitsaufgaben“ hinzugefügt.As you select a work item from the #mention picker, it will automatically be added to the Related Work Items list.
Assigning work items and #mention improvements
Zuweisen von Arbeitsaufgaben und #Nennungs-VerbesserungenAssigning work items and #mention improvements

Hervorhebung des langsamsten PfadsHot Path Highlighting

  • Im Leistungsprofiler wurde sowohl für „CPU-Auslastung“ als auch für DotNet-Objektzuordnung Hervorhebung des langsamsten Pfads hinzugefügt.We have added support for hot path highlighting in both the CPU Usage and DotNet Object Allocation tools in the Performance Profiler. Wählen Sie irgendeine Funktion in der Aufrufstruktur aus, und klicken Sie auf die Schaltfläche „Langsamster Pfad“, um den langsamsten Pfad für CPU-Auslastung oder DotNet-Objektzuordnung zu erweitern.Select any function in the call tree and press the hot path button to expand the CPU Usage or Dot Net Object Allocation hot path. Über dieses Feature können Sie auf einfache Weise die Funktionsaufrufe erkennen, die den höchste Prozentsatz der CPU-Nutzung beanspruchen oder für die die meisten Objekte zugeordnet werden.This feature allows you to easily identify the function calls which use the highest percentage of the CPU or that allocate the most objects.
Hot path highlighting in the CPU Usage tool
Hervorhebung des langsamsten Pfads im Tool „CPU-Auslastung“Hot path highlighting in the CPU Usage tool

.NET- und ASP.NET-Tools.NET and ASP.NET Tools

  • Es wurden verschiedene kleine UX-Verbesserungen an der Zusammenfassungsseite des Veröffentlichungsprofils (neue Abschnittsheader und Aktionen/Verknüpfungen) für alle Anwendungen implementiert.We have implemented various small UX improvements to the publish profile summary page (new section headers and actions/shortcuts) for all applications.
  • Wenn ASP.NET-Anwendungen in Azure App Service veröffentlicht werden, hat die Zusammenfassungsseite des Veröffentlichungsprofils nun einen neuen Abschnitt namens „Abhängigkeiten“.When publishing ASP.NET applications to Azure App Service, the publish profile summary page now has a new section called "Dependencies". In diesem neuen Abschnitt können Sie derzeit Azure Storage- und Azure SQL-Ressourcen mit Ihrer App Service-Instanz verknüpfen.This new section currently allows you to associate Azure Storage and Azure SQL resources with your app service instance. Zukünftig wird es weitere Azure-Dienste geben, die über diesen Mechanismus verfügbar gemacht werden.Expect more Azure services to be surfaced through this mechanism in the future.
  • Verwenden von Codemetriken mit .NET Core-Projekten mit unserer hinzugefügten Kompatibilität.Use code metrics with .NET Core projects with our added compatibility.
  • Exportieren von Editor-Einstellungen in eine Editorconfig-Datei über Tools > Optionen > Text-Editor > C# > Codeformat mit der Schaltfläche „.editorconfig-Datei aus Einstellungen generieren“.Export editor settings to an Editorconfig file through Tools > Options > Text Editor > C# > Code Style with the button "Generate .editorconfig file from settings".
  • Verwenden der neuen Regex-Parserunterstützung von C# und Visual Basic.Use C# and Visual Basic's new Regex parser support. Reguläre Ausdrücke werden nun erkannt, und Sprachfunktionen sind für diese aktiviert.Regular expressions are now recognized, and language features are enabled on them. Regex-Zeichenfolgen werden entweder erkannt, wenn eine Zeichenfolge an den Regex-Konstruktor übergeben wird, oder wenn einer Zeichenfolge unmittelbar ein Kommentar vorangeht, der die Zeichenfolge language=regex enthält.Regex strings are either recognized when a string is passed to the Regex constructor or when a string is immediately preceded with a comment containing the string language=regex. Die in diesem Release enthaltenen Sprachfunktionen sind Klassifizierung, „Zugehörige Klammer“, Verweise hervorheben und Diagnose.The language features included in this release are classification, brace matching, highlight references, and diagnostics.
Regular expressions now have parser support
Parserunterstützung für reguläre AusdrückeRegular Expression Parser Support
  • Sie können jetzt die Analyse von totem Code für nicht verwendete private Member mit einer optionalen Codefehlerbehebung verwenden, um nicht verwendete Memberdeklarationen zu entfernen.You can now use dead code analysis for unused private members with an optional code fix to remove unused member declaration.
  • Die Funktion „Verweise suchen“ für einen Accessor gibt jetzt nur Ergebnisse für diesen Accessor zurück.The Find References feature on an accessor now only returns results for that accessor.
  • Wir haben eine Codefehlerbehebung zum Generieren einer Dekonstruktionsmethode hinzugefügt.We have added a code fix for generating a deconstruct method.
  • Using-Anweisungen können hinzugefügt werden, wenn Code in eine Datei eingefügt wird."Using" statements can be added when code is pasted into a file. Nach dem Einfügen erkannten Codes wird eine Codefehlerbehebung angezeigt, in der Sie aufgefordert werden, relevante fehlende Importe zu ergänzen.A code fix appears after pasting recognized code that prompts you to add relevant missing imports.
  • Über „STRG+.“There are now more refactoring and quick actions available by using "Ctrl + ." oder „ALT+EINGABE“ stehen jetzt mehr Refactorings und Schnellaktionen zur Verfügung:or "Alt + Enter":
    • In Fällen, bei denen „await“ impliziert ist, aber ausgelassen wurde, gibt es jetzt eine Compilerwarnung.For cases where "await" is implied but omitted, there is now a compiler warning.
    • Für das Konvertieren einer lokalen Funktion in eine Methode.For converting a local function to a method.
    • Für das Konvertieren eines Tupels in eine benannte Struktur (named-struct).For converting a tuple to a named-struct.
    • Zum Konvertieren eines anonymen Typs in eine Klasse.For converting an anonymous type to a class.
    • Für das Konvertieren eine anonymen Typs in ein Tupel.For converting an anonymous type to a tuple.
    • Für das Konvertieren eine foreach-Schleife in eine LINQ-Abfrage oder in eine LINQ-Methode.For a foreach loop to LINQ query or to LINQ method.
  • Sie verfügen nun über zusätzliche Unterstützung für ASP.NET Core-Anwendungen, die in einem Azure Kubernetes Service ausgeführt werden.You now have added support for ASP .NET Core applications running in an Azure Kubernetes Service. Informationen zum Einstieg finden Sie in diesem Docker-Beispiel auf GitHub.To get started, see this docker example over on GitHub.
  • ASP.NET wird jetzt im CPU-Auslastungstool des Leistungsprofilers unterstützt.ASP.NET is now supported in the CPU Usage tool of the Performance Profiler.
CPU Usage Tool in Performance Profiler
CPU-Auslastungstool im LeistungsprofilerCPU Usage Tool in Performance Profiler
  • Sie können jetzt „Alle Verweise suchen“ (UMSCHALT+F12) und CodeLens verwenden, um Ergebnisse aus Razor-Dateien (CSHTML) in .NET Core-Projekten anzuzeigen.You can now use Find All References (Shift-F12) and CodeLens to show results from Razor (.cshtml) files in .NET Core projects. Danach können Sie dann zu dem identifizierten Code in den relevanten Razor-Dateien navigieren.You can then navigate to the identified code in the relevant Razor files.
  • Wir haben Unterstützung für ASP .NET-Anwendungen (Core und Desktop) hinzugefügt, die auf virtuellen Windows-Computern (VMs) und VM-Skalierungsgruppen ausgeführt werden.We've added support for targeting ASP .NET (core and desktop) applications running on Windows Virtual Machines (VM) and VM Scale Sets.
Snapshot debugger target selection UI
Benutzeroberfläche für die Zielauswahl im MomentaufnahmedebuggerSnapshot Debugger Target Selection UI
  • Sie erhalten jetzt eine Warnung, wenn die Codeanalyse mittels FxCop ausgeführt wird.You will now receive a warning when running code analysis using FxCop. .NET Compiler-Analysetools sind von nun an die empfohlene Methode zum Ausführen einer Codeanalyse..NET Compiler analyzers are the recommended way to perform code analysis going forward. Lesen Sie mehr über Migrieren zu .NET Compiler Platform-Analysetools.Read more on migrating to .NET compiler platform analyzers.
  • PCL-Projektvorlagen (Portable Klassenbibliothek) sind nicht mehr verfügbar, und die Projektunterstützung wird nicht standardmäßig installiert.Portable Class Library (PCL) project templates are no longer available, and project support will not be installed by default. Neue Projekte, die für mehrere Plattformen vorgesehen sind, sollten den .NET Standard-Projekttyp verwenden.New projects intended to target multiple platforms should use the .NET Standard project type. Kunden, die Unterstützung für PCL-Projekte benötigen, müssen die Komponente separat über die Registerkarte „Einzelne Komponenten“ im Visual Studio-Installationsprogramm installieren.Customers who require PCL project support must install the component separately from the Individual Components tab in the Visual Studio installer.
  • Der Befehl „Project.CopyWebSite“ ist nicht mehr verfügbar.The "Project.CopyWebSite" command is no longer available. Diese Funktion war nur zusammen mit dem „Website“-Projekttyp für .NET verfügbar.This feature was only available on the "Web Site" project type for .NET. Sie stellte die Möglichkeit zum Synchronisieren zweier Websites bereit, sodass auf beiden dieselbe Version aller Dateien vorhanden war.It provided the ability to synchronize two web sites so that they have the same version of each file. In Visual Studio 2019 können Sie die Dateien von dem Remoteziel außerhalb von Visual Studio kopieren und dann das Projekt öffnen.In Visual Studio 2019, you can copy the files from the remote destination outside of Visual Studio and then open the project.
  • Die Möglichkeit zum Öffnen eines Websiteprojekts von einem FTP-Remotespeicherort wurde entfernt.The ability to open a Web Site project from a remote FTP location has been removed. FTP-Benutzer können die Dateien von dem Remoteziel außerhalb von Visual Studio kopieren, das Projekt öffnen, Änderungen vornehmen und dann die Dateien mittels Veröffentlichen wieder zurück an den FTP-Remotespeicherort übertragen.FTP users can copy the files from the remote destination outside of Visual Studio, open the project and make changes, and then use publish to push them back to the remote FTP location.
  • Die ASP.NET- und Webworkload installiert keine benutzerdefinierte CoffeeScript-Bearbeitungserfahrung mehr.The ASP.NET and Web workload no longer installs a custom CoffeeScript editing experience. Die TextMate-Bündel von Visual Studio bieten eine herausragende Erfahrung für die Arbeit mit CoffeeScript.Visual Studio's TextMate bundles provide a superior experience for working with CoffeeScript.
  • CSS- und CoffeeScript-Fehler, die derzeit von integrierten Kopien von „CSSLint“ und „CoffeeLint“ generiert werden, werden beim Bearbeiten dieser Dateien nicht mehr automatisch angezeigt.CSS and CoffeeScript errors that are currently generated by built-in copies of CSSLint and CoffeeLint will no longer automatically surface when editing those files. Verwenden Sie eine alternative Methode zum Ausführen von Linters wie npm oder den Taskausführungs-Explorer von Visual Studio.Use an alternative method for running linters such as npm or the Visual Studio Task Runner Explorer.
  • Visual Studio bietet kein IntelliSense mehr für Knockout HTML-Attribute.Visual Studio no longer provides IntelliSense for Knockout HTML attributes. In Visual Studio 2019 müssen Sie die Attribute eingeben.In Visual Studio 2019 you will need to type the attributes.
  • Die Möglichkeit zur Verwendung des Legacy-Chrome-Debuggers in ASP.NET-Projekten zum Debuggen von JavaScript wurde entfernt.The ability to use the Legacy Chrome debugger in ASP.NET projects for debugging JavaScript has been removed. Sie können weiterhin den aktuellen, in Visual Studio integrierten Chrome-Debugger verwenden.You can continue to use the current Chrome debugger built into Visual Studio.
  • JavaScript-Konsolenfunktionen können nicht mehr in ASP.NET-Projekten verwendet werden.The ability to use JavaScript Console functionality in ASP.NET projects has been removed. Es wird empfohlen, die Konsole zu verwenden, die in die Entwicklertools Ihres Browsers integriert ist.We recommend that customers use Console included within their favorite browser devtools.

ContainertoolsContainer Tools

  • Es wurde eine optimierte Einzelprojekt-Benutzeroberfläche für das Containerisieren und Debuggen hinzugefügt:We've added a streamlined single-project experience for containerizing and debugging:
    • ASP.NET Web Applications (.NET Framework)ASP.NET Web Applications (.NET Framework)
    • Console Applications (.NET Core)Console Applications (.NET Core)
  • Es ist nun möglich, ASP.NET Core-Anwendungen zu debuggen, für die Alpine als Basisimage verwendet wird.We've added support for debugging ASP.NET Core Applications that use Alpine as a base image.
  • Es wurde Unterstützung für die aktuellsten ASP.NET- und .NET Core-Images hinzugefügt.We've added support for the latest ASP.NET and .NET Core images.

.NET Core-Tools.NET Core tools

.NET Core 3.0.NET Core 3.0

Mit diesem Release können Sie ASP.NET Core-, Konsolen- und Klassenbibliothek-Projekte für .NET Core 3.0 erstellen, wenn Sie das Preview-SDK installiert haben.With this release, you can create ASP.NET Core, Console, and Class Library projects targeting .NET Core 3.0 if you have the preview SDK installed.

Wenn Sie Visual Studio RC verwenden, müssen Sie auch zu Tools > Optionen > Projekte und Projektmappen > .NET Core gehen und das Kontrollkästchen zum Verwenden von Vorschauversionen der .NET Core SDKs aktivieren.If you are using Visual Studio RC, you need to also go to Tools > Options > Projects and Solutions > .NET Core and check the Use previews of the .NET Core SDKs checkbox. Wenn Sie Visual Studio Preview verwenden, sind diese Schritte nicht notwendig.If you are using Visual Studio Preview, you do not need to do this. Lesen Sie den Artikel .NET Core tooling update for Visual Studio 2017 version 15.9 (.NET Core-Toolupdate für Visual Studio 2017 Version 15.9), um mehr über diese Einstellung und ihr Verhalten zu erfahren.You can read more about this setting and its behavior in .NET Core tooling update for Visual Studio 2017 version 15.9.

Sie können auch Windows Forms- oder WPF-Projekte für .NET Core 3.0 mit dem „dotnet new“-Befehl erstellen.You can also create Windows Forms or WPF projects for .NET Core 3.0 with the "dotnet new" command. Diese Projekte können dann in Visual Studio 2019 geöffnet werden.These projects can then be opened in Visual Studio 2019.

Neue FeaturesNew features

Ab diesem Release werden Projektdateien für Projekte im .NET SDK-Stil zu einem erstklassigen Dateityp in Visual Studio gemacht.Starting with this release, we are making project files for .NET SDK-style projects a first-class file type in Visual Studio. Folgendes wird nun unterstützt:The following is now supported:

  • Doppelklicken auf einen Projektknoten, um die Projektdatei zu öffnenDouble-click a project node to open the project file
  • Einfaches Klicken auf den Projektknoten, um die Projektdatei in einer Vorschauregisterkarte zu öffnenSingle-click the project node to open the project file in a Preview tab
  • Suchen nach einer Projektdatei anhand des Namens über „Gehe zu allen“ (ctrl + T)Find a project file by name with Go to All (ctrl + T)
  • MSBuild-Elemente in einer Projektdatei sind jetzt mit „In Dateien suchen“ durchsuchbarMSBuild elements in a project file now are searchable with Find in Files
  • Öffnen aus der Fehlerliste, wenn ein Projekterstellungsfehler ausgelöst wirdOpening from the error list if a project authoring error is triggered

Außerdem wird für Projekte im .NET SDK-Stil nun die neue Vorgehensweise bezüglich der integrierten Konsole für F5 und ctrl + F5 für Konsolenanwendungen verwendet.Additionally, .NET SDK-style projects will now use the new Integrated Console experience for F5 and ctrl + F5 on console apps. Dadurch wird die Vorgehensweise vereinheitlicht, wenn Konsolenanwendungen aus Visual Studio gestartet werden:This unifies the experience when launching console applications from Visual Studio:

  • Für F5 wird das Konsolenfenster nicht automatisch geschlossen, wenn das Ausführen der Anwendung beendet wurde.For F5, the console window will not automatically close when the app is finished executing. Es ist nicht mehr erforderlich, Console.Read()-Aufrufe zu Ihren Konsolenanwendungen hinzuzufügen.You no longer need to add Console.Read() calls to your console apps.
  • Für ctrl + F5 wird das Konsolenfenster in nachfolgenden Ausführungen Ihrer Anwendung erneut verwendet.For ctrl + F5, the console window will be re-used in subsequent runs of your app. Sie müssen nicht mehr unzählige Konsolenfenster schließen.You no longer need to close loads of console windows.

Das neue Konsolenfenster kann automatisch geschlossen werden, indem bei geöffnetem Fenster eine Taste gedrückt wird oder indem die Option unter Tools > Optionen > Konsole beim Beenden des Debuggings automatisch schließen ausgewählt wird.The new console window can be closed automatically by pressing a key when it is open or by selecting the option under Tools > Options > Automatically close the console when debugging stops.

In Projekteigenschaftenseiten werden nun Lizenzausdrücke und -dateien unterstützt.Support for License Expressions and License Files has now been added to project property pages. Dies geht einher mit Änderungen, durch die licenseUrl in NuGet als veraltet gekennzeichnet wird.This aligns with changes to deprecate licenseUrl in NuGet.

LeistungsverbesserungenPerformance improvements
  • Die Skalierbarkeit großer Projektmappen wurde erheblich verbessert, wodurch deutlich größere .NET Core-Projektmappen als bisher verwendet werden können.The scalability of large solutions has been significantly improved, allowing the use of much larger .NET Core solutions than before.
  • Bei großen Projekten wurden die Ladezeiten für Projektmappen und die CPU- sowie Speicherauslastung bei Ladevorgängen deutlich reduziert.Solution load times for large projects have been significantly reduced, as has the CPU and memory usage when loading them.
Featureparität mit Projekten, die nicht zu .NET Core gehörenFeature parity with non-.NET Core projects

Eine vollständige Liste der Issues und Pull Requests finden Sie in der jeweiligen Übersicht zu Meilensteinen in Release 16.0, Vorschauversion 2 von Release 16.0 , Vorschauversion 3 von Release 16.0 und Vorschauversion 4 von Release 16.0.You can find a full list of issues and pull requests in the 16.0, 16.0 Preview 2, 16.0 Preview 3, and 16.0 Preview 4 milestones.

.NET-Produktivität.NET Productivity

  • .NET-Refactorings und -Codekorrekturen:.NET refactorings and codefixes:

    • Synchronisieren von Namespace und OrdnernameSync Namespace and Folder Name
    • Refactoring über Hochziehen von Elementen mit DialogfeldoptionenPull members up refactoring with dialog options
    Pull members up refactoring with dialog options
    Dialogfenster „Pull Members Up“ (Mitglieder hochziehen)Pull Members Up dialog
    • Umbrechen/Einziehen/Ausrichten von Listen von Parametern/ArgumentenWrap/indent/align lists of parameters/arguments
    • Konvertieren eines anonymen Typs in ein TupelConvert anonymous type to tuple
    • Verwenden von Ausdrucks-/Blocktext für LambdaUse expression/block body for lambda
    • Invertieren von bedingten Ausdrücken und logischen OperationenInvert conditional expressions and logical operations
    • Automatisches Schließen eines Blockkommentars bei „/“Automatically close block comment on “/”
    • Konvertieren in VerbundzuweisungConvert to compound assignment
    • Korrigieren von „Implizit typisierte Variablen können nicht konstant sein“Fix Implicitly-typed variables cannot be constant
    • Automatische Korrektur zum Ersetzen von @$" durch $@", wenn eine interpolierte ausführliche Zeichenfolge eingegeben wirdAuto-fixer to replace @$" with $@" when typing interpolated verbatim string
    • Vervollständigung für #nullable enable|disableCompletion for #nullable enable|disable
    • Korrektur für nicht verwendete Ausdruckswerte und ParameterFix for unused expression values and parameters
    • Korrektur zum Zulassen, dass Schnittstellenextraktion in derselben Datei bleiben darfFix for allowing Extract Interface to remain in the same file
  • Kategorisieren von Referenzen nach Lesen/SchreibenCategorize references by Read/Write.

  • Hinzufügen der „when_multiline“-Option Editorconfig für „csharp_prefer_braces“.Add Editorconfig when_multiline option for csharp_prefer_braces.

  • Neue Klassifizierungfarben sind über das .NET Compiler Platform SDK verfügbar (auch bekannt als Roslyn).New classification colors are available from the .NET Compiler Platform SDK (aka Roslyn). Neue Standardfarben, ähnlich den Visual Studio Code-Farben werden schrittweise eingeführt. Sie können diese Farben in Tools > Optionen > Umgebung > Schriftarten und Farben anpassen, oder Sie können sie in Umgebung > Vorschaufeatures deaktivieren, indem Sie das Kontrollkästchen Verbesserte Farben verwenden deaktivieren.New default colors, similar to the Visual Studio Code colors, are gradually being rolled out. You can adjust these colors in Tools > Options > Environment > Fonts and Colors or turn them off in Environment > Preview Features by unchecking the Use enhanced colors check box. Wir würden uns freuen, wenn Sie uns mitteilen könnten, wie sich diese Änderung auf Ihren Workflow auswirkt.We’d appreciate hearing feedback on how this change affects your workflow.

New Roslyn classification colors
Neue Farben gemäß Roslyn-KlassifizierungNew Roslyn classification colors

JavaScript-Debugging in ASP.NET-ProjektenJavaScript Debugging in ASP.NET projects

  • Wenn Sie einen neuen Google Chrome-Browser mit benutzerdefinierten Argumenten über das Menü „Browserauswahl...“ für Ihr ASP.NET-Projekt hinzugefügt haben, aktiviert Visual Studio nun JavaScript-Debugging für Ihre Anwendung, wenn das Debugging gestartet wird.If you have added a new Google Chrome browser with custom arguments using the "Browse with..." menu for your ASP.NET project, Visual Studio will now enable JavaScript debugging for your application when debugging is started. Ihre benutzerdefinierten Startargumente für Google Chrome werden beim Starten von Chrome angewendet.Your custom launch arguments for Google Chrome will be applied when launching Chrome.
Adding Google Chrome with Custom arguments using 'Browse with'
Hinzufügen von Google Chrome mit benutzerdefinierten Argumenten über „Browserauswahl...“Adding Google Chrome with Custom arguments using 'Browse with...'
Hinweis: Visual Studio startet Chrome standardmäßig mit einem anderen Verzeichnis als Ihre normale Chrome-Instanz, es sei denn, Sie geben den Pfad zu Ihrem Datenverzeichnis als Argument an. Note: Visual Studio, by default, will launch Chrome using a different data directory than your regular Chrome instance unless you provide the path to your data directory as an argument. Wenn Sie also möchten, dass bei der Verwendung dieser Chrome-Instanz Erweiterungen verfügbar sein sollen, müssen Sie diese beim ersten Mal installieren.As a result, if you require any extensions to be available when using this Chrome instance, you will need to install them the first time.

ASP.NET und Azure Functions-ToolsASP.NET & Azure Functions tooling

  • Visual Studio 2019 beinhaltet für die Erstellung von Projekten eine neue Benutzeroberfläche.Visual Studio 2019 comes with a new experience for creating new projects. Speziell zum Erstellen neuer ASP.NET-Projekte bietet Visual Studio zusätzliche Dialogfelder mit ASP.NET-spezifischen Auswahlmöglichkeiten.When creating new ASP.NET projects specifically, Visual Studio offers additional dialogs that surface ASP.NET specific choices. Diese zusätzlichen Dialogfelder wurden jetzt optisch an die restliche Benutzeroberfläche angepasst.These additional dialogs have been updated to match the visual style of the rest of the experience.
  • Seit einiger Zeit werden die Anmeldeinformationen für die Veröffentlichung in Visual Studio verschlüsselt und in der Benutzerdatei des Veröffentlichungsprofils gespeichert, sodass Sie sie nicht bei jeder Veröffentlichung Ihre Anwendung neu eingeben müssen.For a while now, publish credentials in Visual Studio are encrypted and stored in the publish profile user file so you don't have to re-enter them every time you publish your application. Benutzerdateien sind in der Regel standardmäßig von der Quellcodeverwaltung ausgeschlossen, da sie wahrscheinlich geheime und/oder persönliche Daten enthalten, die nicht weitergegeben werden sollten.User files in general are excluded from source control by default because they are likely to contain secret and/or personal information that should not be shared. Wenn bisher ein Veröffentlichungsprofil für ein Azure Functions-Projekt in die Quellcodeverwaltung eingecheckt wurde, die Benutzerdatei aber nicht, fehlten die Anmeldeinformationen für die Veröffentlichung und das Veröffentlichungsprofil konnte nicht wiederverwendet werden.Up until now, if a publish profile for an Azure Functions project was checked into source control but the user file was not, the publish credentials were missing and the publish profile could not be re-used. Nun können die Anmeldeinformationen bearbeitet und eine neue Benutzerdatei erstellt werden, damit das Veröffentlichungsprofil wiederverwendet werden kann.Now, we allow for the credentials to be edited and a new user file to be created so that the publish profile can be re-used.

Leistungs-AssistentPerformance Wizard

In Visual Studio 2019 wurden die Profilerstellungserfahrungen, die im Leistungs-Assistenten zur Verfügung standen, in den Leistungsprofiler verschoben.In Visual Studio 2019, the profiling experiences that were available in the Performance Wizard have been moved to the Performance Profiler. Sie finden das CPU-Auslastungstool für die Stichprobenentnahme und die Instrumentierung im Instrumentierungstool im Leistungsprofiler.You can find the CPU Usage Tool for sampling, and instrumentation in the Instrumentation tool in the Performance Profiler. Durch diese Änderung wird der Leistungs-Assistent überflüssig und wurde somit in Visual Studio 2019 entfernt.With this change the Performance Wizard is no longer needed and has been removed from Visual Studio 2019. Darüber hinaus wurde die Option für die Stichprobenentnahme in den VS-Leistungs-Befehlszeilentools entfernt. Ein Ersatz-Befehlszeilentool wird in einer kommenden Vorschauversion veröffentlicht.Additionally, the sampling option in the VS Performance command line tools have been removed, a replacement command line tool will be released in an upcoming preview.

TesttoolsTest Tools

  • Sie können jetzt im Projektmappen-Explorer mit der rechten Maustaste auf Tests, Testklassen oder Testprojekte klicken, um Tests auszuführen oder zu debuggen.You can now right-click on tests, test classes or test projects in the Solution Explorer to run or debug tests.
  • Bei Testläufen wird jetzt automatisch erkannt, welche Prozessorarchitektur in den Projekteigenschaften festgelegt ist.Test runs now auto-detect what processor architecture is set in the project properties.
  • OSS-Befehlsoberflächen-Testtools wie Selenium und Appium sind beliebter geworden und erfahren große Unterstützung durch die Community.OSS UI test tools such as Selenium and Appium have gained momentum and have a strong community backing. Da diese Frameworks mittlerweile Branchenstandards darstellen, haben wir den Test der programmierten UI für automatisierte, UI-gesteuerte Funktionstests als veraltet markiert.Because these frameworks have become industry standards, we deprecated Coded UI test for automated UI-driven functional testing. Visual Studio 2019 ist die letzte Version von Visual Studio mit Coded UI-Testfunktionen.Visual Studio 2019 will be the final version of Visual Studio with Coded UI test features. Wir empfehlen, dass Sie Selenium für das Testen von Webanwendungen und Appium mit WinAppDriver für das Testen von Desktop- und UWP-Apps verwenden.We recommend using Selenium for testing web-applications and Appium with WinAppDriver for testing desktop and UWP apps.
  • Visual Studio 2019 ist die letzte Version von Visual Studio mit Auslastungstestfunktionen.Visual Studio 2019 will be the last version of Visual Studio with load test features. Kunden, die Auslastungstesttools benötigen, empfehlen wir, alternative Auslastungstesttools wie Apache JMeter, Akamai CloudTest oder Blazemeter zu verwenden.For customers requiring load testing tools, we recommend using alternate load testing tools such as Apache JMeter, Akamai CloudTest, Blazemeter.
  • In Visual Studio 2019 wurden einige Testfenster-APIs, die zuvor als öffentlich markiert waren, aber nie offiziell dokumentiert wurden, entfernt.In Visual Studio 2019, some test window APIs that were previously marked public but were never officially documented have been removed. Sie wurden in Visual Studio 2017 als veraltet markiert, um Verantwortliche für die Erweiterungsverwaltung frühzeitig zu warnen.They were marked deprecated in Visual Studio 2017 to give extension maintainers an early warning. Nach unseren Erkenntnissen besitzen nur sehr wenige Erweiterungen Abhängigkeiten von diesen APIs.To our knowledge, very few extensions have taken a dependency on these APIs. Diese APIs umfassen IGroupByProvider, IGroupByProvider, KeyComparer, ISearchFilter, ISearchFilterToken, ISearchToken und SearchFilterTokenType.These APIs include IGroupByProvider, IGroupByProvider, KeyComparer, ISearchFilter, ISearchFilterToken, ISearchToken and SearchFilterTokenType. Wenn sich diese Änderung auf Ihre Erweiterung auswirkt, teilen Sie uns dies mit, indem Sie ein Problem an die Entwickler-Community übermitteln.If this change affects your extension, please let us know by submitting an issue on Developer Community.

Kubernetes-Tools für Visual StudioVisual Studio Kubernetes Tools

Die Kubernetes-Tools für Visual Studio, die bisher als separate Erweiterung für Visual Studio 2017 verfügbar waren, sind jetzt in die Azure-Entwicklung-Workload in Visual Studio 2019 integriert.The Visual Studio Kubernetes Tools, which were previously available as a separate extension for Visual Studio 2017, are now integrated into the Azure development workload in Visual Studio 2019.

Hinzufügen von Kubernetes-Unterstützung zu einem neuen ProjektAdding Kubernetes support to a new project

Um Kubernetes-Unterstützung zu einem neuen Projekt hinzuzufügen, öffnen Sie Visual Studio, und wählen Sie die Option Neues Projekt erstellen aus.To add Kubernetes support to a new project, open Visual Studio and select the Create a new project option. Suchen Sie im Fenster Neues Projekt erstellen nach Kubernetes, und wählen Sie die Projektvorlage Containeranwendung für Kubernetes aus.In the Create a new project window, search for Kubernetes and select the Container Application for Kubernetes project template.

Creating a Container Application for Kubernetes
Erstellen einer Containeranwendung für KubernetesCreating a Container Application for Kubernetes

Klicken Sie auf Weiter, und geben Sie den Projektnamen, den Speicherort und den Projektmappennamen ein.Click Next and enter a project name, location, and solution name. Klicken Sie dann auf Erstellen.Then, click Create. Wählen Sie die ASP.NET Core-Anwendungsvorlage aus, die Sie für Ihr Projekt verwenden möchten, und klicken Sie auf OK.Select the ASP.NET Core application template you want to use for your project and click OK. Visual Studio erstellt automatisch ein Dockerfile- und ein Helm-Diagramm, die Sie dazu verwenden können, Ihre neue Anwendung in einem Kubernetes-Cluster zu erstellen und bereitzustellen.Visual Studio will automatically create a Dockerfile and Helm chart that you can use to build and deploy your new application to a Kubernetes cluster. Sie können diese Artefakte nach Bedarf ändern.You can modify these artifacts as needed.

Hinzufügen von Kubernetes-Unterstützung zu einem vorhandenen ProjektAdding Kubernetes support to an existing project

Sie können auch Unterstützung für Kubernetes zu einer vorhandenen ASP.NET Core-Anwendung hinzufügen.You can also add support for Kubernetes to an existing ASP.NET Core application. Öffnen Sie dazu das Projekt in Visual Studio 2019.To do this, open the project in Visual Studio 2019. Klicken Sie im Projektmappen-Explorer mit der rechten Maustaste auf das Projekt, zeigen Sie auf Hinzufügen, und klicken Sie auf Unterstützung für Containerorchestrator.In Solution Explorer, right click on the project, point to Add, and click Container Orchestrator Support.

Adding container orchestrator support
Hinzufügen von Unterstützung für ContainerorchestratorAdding container orchestrator support

Wählen Sie im Dialogfeld Unterstützung für Containerorchestrator hinzufügen die Option Kubernetes/Helm aus, und klicken Sie auf OK.In the Add Container Orchestrator Support dialog, choose Kubernetes/Helm and click OK. Visual Studio erstellt automatisch ein Dockerfile- und ein Helm-Diagramm (in einem Ordner namens charts), die Sie dazu verwenden können, Ihre Anwendung in einem Kubernetes-Cluster zu erstellen und bereitzustellen.Visual Studio will automatically create a Dockerfile and Helm chart (in a folder named charts) that you can use to build and deploy your application to a Kubernetes cluster. Ist eines dieser Artefakte bereits im Speicherort vorhanden, werden sie nicht überschrieben.If either of these artifacts are already in place, they will not be overwritten. Sie können diese Artefakte nach Bedarf ändern.You can modify these artifacts as needed.

Erstellen einen öffentlich zugänglichen EndpunktsCreating a publicly accessible endpoint

Wenn Sie Kubernetes-Unterstützung zu einem neuen oder vorhandenen Projekt hinzufügen, werden Sie von Visual Studio gefragt, ob Sie einen öffentlich zugänglichen Endpunkt für Ihre Anwendung erstellen möchten.When you add Kubernetes support to a new or existing project, Visual Studio will ask you if you want to create a publicly accessible endpoint for your application.

Publicly accessible endpoint prompt
Eingabeaufforderung für Erstellen eines öffentlich zugänglichen EndpunktsPublicly accessible endpoint prompt

Wenn Sie auf Ja klicken, konfiguriert Visual Studio das Helm-Diagramm für Ihre Anwendung so, dass ein Kubernetes-Eingangsobjekt erstellt wird, wenn die Anwendung in einem Kubernetes-Cluster bereitgestellt wird.If you click Yes, Visual Studio will configure the Helm chart for your application to create a Kubernetes ingress object when the application is deployed to a Kubernetes cluster. Sie können diese Option jederzeit ändern, indem Sie das Helm-Diagramm ändern.You can change this option at any time by modifying the Helm chart.

Debuggen einer Anwendung in Azure Kubernetes ServiceDebugging your application in Azure Kubernetes Service

Sobald Sie die Kubernetes-Unterstützung zu einem neuen oder vorhandenen Projekt hinzugefügt haben, können Sie Ihre Anwendung problemlos in einem aktiven AKS-Cluster (Azure Kubernetes Service) über den Dienst Azure Dev Spaces erstellen, ausführen und debuggen.Once you have added Kubernetes support to a new or existing project, you can easily build, run, and debug your application in a live Azure Kubernetes Service (AKS) cluster, using a feature called Azure Dev Spaces. Dies ist nützlich, um Ihr Projekt im Kontext eines tatsächlichen Kubernetes-Clusters zu testen oder einen Dienst, der Teil einer viel größeren Anwendung ist, zu debuggen, ohne die gesamte Anwendung lokal replizieren zu müssen.This is useful for testing your project in the context of an actual Kubernetes cluster or for debugging a service that is part of a much larger application without having to replicate the entire application locally. Azure Dev Spaces bietet auch Funktionalität, die es Ihrem Entwicklungsteam ermöglicht, einen AKS-Cluster freizugeben.Azure Dev Spaces also includes functionality that allows your development team to share an AKS cluster. Weitere Informationen über Azure Dev Spaces finden Sie in der Dokumentation zu Azure Dev Spaces.For more information on Azure Dev Spaces, see the Azure Dev Spaces documentation. Damit Sie beginnen können, müssen Sie Azure Dev Spaces in Visual Studio als Debugstartziel auswählen.To get started, ensure that Azure Dev Spaces is selected as the debug launch target in Visual Studio.

Selecting Azure Dev Spaces as debug launch target
Auswählen von Azure Dev Spaces als DebugstartzielSelecting Azure Dev Spaces as debug launch target

Bevor Sie Ihr Projekt erstmals in Azure Dev Spaces starten, konfigurieren Sie das Azure-Abonnement und den AKS-Cluster, die Sie verwenden möchten.Before launching your project in Dev Spaces for the first time, configure the Azure subscription and AKS cluster that you wish to use. Wählen Sie außerdem den Bereich aus, in dem Sie das Projekt ausführen möchten.Also, select the space where you wish to run the project.

Configuring Azure Dev Spaces
Konfigurieren von Azure Dev SpacesConfiguring Azure Dev Spaces

In der Regel führt das Team die neueste stabile Version der gesamten Anwendung im Bereich Standard aus.Typically, your team runs the latest stable version of the entire application in the default space. Sie führen dann Ihre Version des Diensts, an der Sie arbeiten, im einem untergeordneten Bereich des Bereichs Standard aus.Then, you run your version of the service you are working on in a child space of the default space. Es ist nun nicht erforderlich, die anderen Dienste im untergeordneten Bereich auszuführen. Dev Spaces leitet Aufrufe von Ihrem Dienst automatisch an die stabilen Versionen der Dienste weiter, die in Standard ausgeführt werden.There is now no need to run the other services in the child space; Dev Spaces automatically routes calls from your service to the stable versions of the services running in default. Weitere Informationen dazu, wie dies eingerichtet wird, finden Sie in den Teamentwicklungstutorials in der Dokumentation zu Azure Dev Spaces.For more information on how to set this up, see the team development tutorials in the Azure Dev Spaces documentation. Nachdem Sie das richtige Abonnement, den richtigen Cluster und den richtigen Bereich ausgewählt haben, klicken Sie auf OK, um die Konfiguration von Dev Spaces fortzusetzen.Once you have selected the correct subscription, cluster, and space, click OK to proceed with the Dev Spaces configuration. Wenn Sie einen Cluster auswählen, der noch keinen zugeordneten Dev Spaces-Controller hat, klicken Sie im folgenden Dialogfeld auf OK, damit automatisch ein Controller erstellt wird.If you select a cluster that does not already have an associated Dev Spaces controller, click OK in the following dialog box to create one automatically.

Enable Dev Spaces dialog
Dialogfeld „Azure Dev Spaces aktivieren“Enable Dev Spaces dialog

Die Controllererstellung dauert ca. 2 Minuten.Controller creation takes about 2 minutes. Sie können auf die Schaltfläche Hintergrundaufgaben in der unteren linken Ecke des Visual Studio-Fensters klicken, um den Status anzuzeigen.You can click on the Background Tasks button in the lower left corner of the Visual Studio window to see the status.

Azure Dev Spaces controller creation status via Background Tasks
Erstellungsstatus des Azure Dev Spaces-Controllers über „Hintergrundaufgaben“Azure Dev Spaces controller creation status via Background Tasks

Sobald Sie einen einsatzbereiten Dev Spaces-Controller haben, drücken Sie F5, oder klicken Sie in der Symbolleiste auf die Debugschaltfläche Azure Dev Spaces, um Ihr Projekt in AKS zu debuggen.Once you have a Dev Spaces controller ready to go, press F5 or click the Azure Dev Spaces debug button on the toolbar to debug your project in AKS.

Azure Dev Spaces debug button
Debugschaltfläche „Azure Dev Spaces“Azure Dev Spaces debug button

Dev Spaces synchronisiert Ihren Code mit Azure, erstellt ein Containerimage, das Ihren Code enthält, und stellt das Image über das in Ihrem Projekt definierte Helm-Diagramm in Ihrem AKS-Cluster bereit.Dev Spaces will synchronize your code to Azure, build a container image containing your code, and deploy it to your AKS cluster using the Helm chart defined in your project. Visual Studio öffnet eine Remote-Debugverbindung mit dem Dienst, der im Cluster ausgeführt wird, sodass Sie mit diesem Dienst so arbeiten können, als würden Sie einen Dienst debuggen, der lokal ausgeführt wird.Visual Studio will open up a remote debug connection to the service running in the cluster so you can interact with it just as you would when debugging a service running locally.

Mobile Entwicklung mit XamarinMobile Development with Xamarin

Dieses Release umfasst Verbesserungen bei der Workloadgröße sowie der Android-Buildleistung und -zuverlässigkeit als auch Verbesserungen bei der Produktivität von Xamarin.Android und Xamarin.Forms.This release includes improvements to workload size and Android build performance and reliability, as well as enhancements for Xamarin.Android and Xamarin.Forms productivity.

  • Die Xamarin-Workload ist jetzt nur noch 7,69 GB, eine 2-fache Verringerung gegenüber Visual Studio 2017, Version 15.9, sowie eine 3-fache Verbesserung gegenüber Version 15.7.The Xamarin workload is now just 7.69GB, a 2x reduction from Visual Studio 2017 version 15.9 and a 3x improvement over version 15.7.
  • Die IntelliCode-Erweiterung unterstützt jetzt Xamarin.Forms XAML.The IntelliCode extension now supports Xamarin.Forms XAML.
Datei > Neues Projekt File > New Project

Es wurden Leistungsverbesserungen vorgenommen, um die Zeit für die Erstellung eines neuen Xamarin-Projekts zu verkürzen, damit Sie schneller mit dem Erstellen Ihrer Anwendungen beginnen können.We made performance improvements aimed at reducing the time it takes to create a new Xamarin project so you can start building your apps faster. Es werden nun auch die NuGet-Pakete, die von den Vorlagen verwendet werden, als Teil der Workloadinstallation einbezogen, um die Wiederherstellungszeit der Pakete zu verkürzen, insbesondere wenn bei geringer Bandbreite oder offline gearbeitet wird.We also now include the NuGet packages used by the templates as part of the workload installation in order to reduce package restore time, especially in low bandwidth or offline situations. Diese Verbesserungen verringern die Zeit, die für ein vollständiges Laden und Wiederherstellen eines neues Xamarin-Projekts erforderlich ist, in einigen Fällen um fast 50 %.These improvements reduce the time for a new Xamarin project to be completely loaded and restored by almost 50% in some cases.

New Xamarin project comparison gif
Erstellen ein neues Xamarin-Projekts in Visual Studio-Version 15.9 (links) und Visual Studio 2019 (rechts)Creating a new Xamarin project in Visual Studio version 15.9 (left) and Visual Studio 2019 (right)
Buildstatusanzeige Build progress indicator

Sie können nun ausführlichere Buildstatusinformationen sehen, wenn ein Build eines Projekts erstellt wird.You can now see more detailed build progress information when building your projects. Wird während eines Buildvorgangs auf das Symbol für Hintergrundaufgaben in der unteren linken Ecke geklickt, wird das aktuelle Buildziel angezeigt, das ausgeführt wird.Clicking the background tasks icon in the bottom left corner during a build will display the current build target that is running. Dies kann nützlich sein, um festzustellen, ob der Buildvorgang weiterhin ausgeführt wird, aber ein Ziel viel Zeit bis zum Abschluss beansprucht.This can be useful for determining if the build is still running but a target is taking a long time to complete.

Xamarin build progress indicator
Xamarin-BuildstatusanzeigeXamarin build progress indicator
Standardvorschaumodus der Xamarin.Forms-Vorschau Xamarin.Forms Previewer's Basic Preview mode

Um sich eine Vorschau Ihres Codes anzeigen zu lassen, müssen Sie nun nicht mehr Projekte für die Xamarin.Forms-XAML-Vorschau erstellen.You no longer have to build your project for the Xamarin.Forms XAML Previewer to show you a preview of your code! Wenn sich in Ihrer XAML-Datei benutzerdefinierte Steuerelemente befinden, müssen Sie möglicherweise Ihr Projekt erstellen, damit die Vorschau funktioniert. Alternativ können Sie auch festlegen, dass diese Elemente zur Entwurfszeit gerendert werden.If you have custom controls in your XAML file, you might need to build your project to preview those, or opt them into design time rendering.

Gerätedropdownmenü für Xamarin.Forms-Vorschau Xamarin.Forms Previewer device drop-down

Mit dem neuen Gerätedropdownmenü können Sie sich Ihren Xamarin.Forms-XAML-Code auf unterschiedlichen Android- und iOS-Geräten als Vorschau anzeigen lassen.You can now swap between different Android and iOS devices to preview your Xamarin.Forms XAML on using our new device drop-down menu.

Xamarin.Forms Device Drop-Down
Gerätedropdownmenü für Xamarin.FormsXamarin.Forms Device Drop-Down
Xamarin.Forms-Eigenschaftenbereich Xamarin.Forms Property Panel

Sie können jetzt die gängigsten Attribute von Xamarin.Forms-Steuerelementen, -Zellen und -Layouts in einem Eigenschaftenbereich bearbeiten, und diese Änderungen werden sofort in Ihrem XAML wiedergegeben.You can now edit the most common attributes of Xamarin.Forms controls, cells, and layouts in a property panel and see those changes reflected immediately in your XAML.

Xamarin.Forms Property Panel
Xamarin.Forms – EigenschaftenbereichXamarin.Forms Property Panel
Xamarin.Forms-Shell-Vorlage Xamarin.Forms Shell template

Die Xamarin.Forms-Vorlagen wurden aktualisiert, sodass das neueste Xamarin.Forms-Release verwendet wird. Außerdem wurde eine neue Vorlagenoption für eine Xamarin.Forms-Shell-App hinzugefügt.We updated the Xamarin.Forms templates to use the latest Xamarin.Forms release and also added a new template option for a Xamarin.Forms Shell app. Shell zielt darauf ab, die Komplexität von Apps zu verringern, während die Produktivität von Entwicklern erhöht wird und ein Fokussieren auf Renderinggeschwindigkeit und Arbeitsspeichernutzung erfolgt.Shell aims to reduce the complexity of apps while increasing developer productivity and focusing on rendering speed and memory consumption. Diese Vorlage bietet Ihnen eine bootstrap-fähige Shell-App für Android und iOS.This template gives you a bootstrapped Shell app for Android and iOS.

Android-Buildleistung und -zuverlässigkeit Android Build performance and reliability

In Visual Studio 2017, Version 15.9, und Visual Studio für Mac 7.7 haben wir Verbesserungen bei der anfänglichen Buildleistung und Buildkorrektheit vorgenommen.In Visual Studio 2017 version 15.9 and Visual Studio for Mac 7.7, we made initial build performance and build correctness improvements. In Visual Studio 2019 und Visual Studio für Mac 7.8 haben wir die Erstellung und Bereitstellung sogar noch schneller gemacht.In Visual Studio 2019 and Visual Studio for Mac 7.8, we made building and deploying even faster.

Android Build Performance
Android-Build ist jetzt schneller, als sich einen Kaffee zu holenAndroid Build Now Faster than Grabbing a Cup of Coffee
  • Jetzt nutzen Sie die Android-Pakettools der nächsten Generation.You will now make use of Android's next generation packaging tooling. Fügen Sie in der .csproj-Datei Ihres Projekts ein MSBuild-Flag hinzu, um diese Funktionen zu aktivieren:To enable this feature, add an MSBuild flag in your project's .csproj:
    • aapt2 unterteilt die Android-Paketerstellung in zwei Schritte: Kompilieren und Verknüpfen.aapt2 divides Android packaging into two steps: Compile and Link. Dies verbessert die Leistung für inkrementelle Builds und sorgt für frühere Fehlerberichterstellung.This improves performance for incremental builds and provides earlier error reporting. Z. B. wenn nur in einer einzelnen Datei Änderungen vorhanden sind, müssen Sie nur diese Datei erneut kompilieren.For example, if there are changes in a single file, you only need to recompile that file. <AndroidUseAapt2>True</AndroidUseAapt2>
  • Wenn Sie dieses Tool in Ihren Projekten aktivieren, ermöglichen Sie verbesserte Leistung sowohl zur Buildzeit als auch zur Laufzeit.By enabling this tool in your projects, you enable enhanced performance at both build time and runtime. Weitere Details zu diesen Eigenschaften finden Sie in unserer Dokumentation zum Buildprozess in Xamarin.Android.For more details on these properties, see our documentation on the Build Process in Xamarin.Android.
Verbesserungen beim Android-Emulator Android Emulator improvements

In Visual Studio 2019 lassen sich Android-Emulator-Images einfacher erstellen.In Visual Studio 2019, Android emulator images are easier to create. Wir haben auch unserer Zusammenarbeit mit dem Windows-Team im Windows 10-Update Oktober 2018, Version 1809, fortgesetzt, um die Leistung des Android-Emulators zu verbessern, wenn er unter Hyper-V ausgeführt wird.We've also continued to work with the Windows team in the Windows 10 October 2018 Update, version 1809, to improve the performance of the Android emulator when running on Hyper-V.

  • Neue Benutzer können ihr erstes Image erstellen, indem Sie einfach auf das Symbol „Ausführen“ drücken.New users can create their first image by simply pressing the run icon.
  • Unsere Funktionen zur Emulatorerfassung bestimmen automatisch die beste Konfiguration für Ihr Setup. Die Hardwarebeschleunigung (mit Intel HAXM oder Hyper-V) und der Schnellstart werden standardmäßig aktiviert.Our emulator acquisition experience automatically determines the best configuration for your setup and takes advantage of hardware acceleration (with Intel HAXM or Hyper-V) and quick boot by default.
  • Wenn Sie ein weiteres Image erstellen möchten, können Sie Android-Emulator erstellen in der Dropdownliste auswählen, um den Android-Geräte-Manager zu öffnen.When you want to create another image, you can select Create Android Emulator from the dropdown to open the Android Device Manager.
Verkürzen Ihrer Buildzeiten mit Verbesserungen für Erstellen (Build) in Xamarin.Android Speed up your build times with our improvements for build in Xamarin.Android

Wir haben eine Reihe von ersten Verbesserungen an der Xamarin.Android-Buildleistung veröffentlicht.We have released a set of initial build performance improvements. Mittlerweile gibt es in Xamarin.Android 9.1.1+ erhebliche Buildleistungsverbesserungen im Vergleich zum vorherigen Release.As of today, Xamarin.Android 9.1.1+ includes significant build performance improvements in comparison to the previous release. Lesen Sie den Buildleistungsvergleich zwischen Xamarin.Android 15.9 und 16.0, um ausführlichere Informationen zu erhalten.Check out our Xamarin.Android 15.9 vs. 16.0 build performance comparison for more details.

Erweiterte schnelle Bereitstellung für Xamarin.Android Enhanced Fast Deployment for Xamarin.Android

Schnelle Bereitstellung (Fast Deployment) bietet bisher kürzere inkrementelle Bereitstellungszeiten, indem es das erneute Erstellen oder Bereitstellen des Android-Pakets (APK-Datei) in Szenarien überspringt, in denen keine Änderungen an folgenden Elementen vorgenommen wurden: Objekte, Ressourcen, freigegebene native Bibliotheken, die in der App verpackt sind, oder benutzerdefinierte Klassen, die von Java.Lang.Object erben.Fast Deployment has up until now provided faster incremental deployment times by skipping over rebuilding or redeploying the Android package (.apk file) in scenarios where no changes have been made to any assets, resources, shared native libraries packaged within the app, or user-defined classes that inherit from Java.Lang.Object. Erweiterte schnelle Bereitstellung erweitert die Unterstützung für schnelle Bereitstellung, um sowohl freigegebene native Bibliotheken als auch Klassen zu erfassen, die von Java.Lang.Object erben.Enhanced Fast Deployment expands support for fast deployment to cover both shared native libraries and classes that inherit from Java.Lang.Object. Für Builds mit schneller Bereitstellung, in denen diese neuen Erweiterungen verwendet werden, muss eine neue .apk-Datei nur in einer begrenzten Anzahl von Szenarien generiert werden, z. B. wenn die Datei AndroidManifest.xml durch Hinzufügen einer neuen Android.App.Application- oder Activity-Unterklasse geändert wurde.Fast deployment builds that use these new enhancements will only need to generate a new .apk file in a limited number of scenarios, such as when the AndroidManifest.xml file changes due to addition of a new Android.App.Application or Activity subclass. Diese Erweiterungen sind in der aktuellen Vorschauversion noch nicht standardmäßig aktiviert.These enhancements are not yet enabled by default in the current preview. Um sie zu aktivieren, legen die MSBuild-Eigenschaft $(AndroidFastDeploymentType) auf Assemblies:Dexes in Ihrer .csproj-Datei fest:To enable them, set the $(AndroidFastDeploymentType) MSBuild property to Assemblies:Dexes in your .csproj file:

<PropertyGroup> 
  <AndroidFastDeploymentType>Assemblies:Dexes</AndroidFastDeploymentType> 
</PropertyGroup>
Unterstützung der nächsten Generation des Dex-Compilers (d8) und des Code-Shrinkers (r8) in Xamarin.Android Next-generation Dex Compiler(d8) and Code Shrinker(r8) support in Xamarin.Android

Xamarin.Android unterstützt jetzt den neuesten Android Dex-Compiler (d8) und Code-Shrinker (r8).Xamarin.Android now supports the latest Android dex compiler(d8) and code shrinker (r8). Um diese Features zu aktivieren, legen Sie die $(AndroidDexTool)- bzw. die $(AndroidLinkTool)-MSBuild-Eigenschaft auf d8 bzw. r8 in Ihrer .csproj-Datei fest.To enable these features, set the $(AndroidDexTool) and $(AndroidLinkTool) MSBuild property to d8 and r8 respectfully in your .csproj file

  • d8 ist ein Dex-Compiler der nächsten Generation, der schneller ausgeführt wird und kleinere DEX-Dateien mit besserer Laufzeitleistung erstellt.d8 is a next-generation dex compiler that runs faster and produces smaller .dex files with better runtime performance.
<PropertyGroup> 
  <AndroidDexTool>d8</AndroidDexTool>
</PropertyGroup>
  • r8 ist ein neues Tool zur Verkleinerung und Minimierung, das Java-Bytecode in optimierten Dex-Code konvertiert und somit ProGuard ersetzen kann.r8 is a new tool for shrinking and minification that converts Java bytecode to optimized dex code that replaces the need for ProGuard.
<PropertyGroup> 
  <AndroidLinkTool>r8</AndroidLinkTool>
</PropertyGroup>

Weitere Informationen zu d8 und r8 finden Sie in der folgenden Dokumentation.For more details on d8 and r8, check out our documentation.

Xamarin.Android Designer-Erweiterungen Xamarin.Android Designer enhancements

Wir haben eine Reihe von Produktivitätsverbesserungen an den Interaktionen in der geteilten Ansicht vorgenommen.We have made a number of productivity enhancements to the interactions in Split View.

  • Mittels direktem Drag & Drop aus der Toolbox in den Quellcode-Editor können Sie schnell die Gerüste Ihrer Android-Layouts erzeugen.Drag and drop directly from the toolbox to the source editor to help quickly scaffold your Android layouts.
Android Designer Toolbox to Source Editor
  • Wählen Sie Elemente direkt im zugehörigen XML-Definitionsbereich im Quellcode-Editor aus.Select elements directly from their XML definition span in the source editor. Wir haben dies implementiert, indem wir die Position der Einfügemarke mit der entsprechenden Android-Ansicht synchronisiert haben, was Ihnen den schnellen Zugriff auf die Eigenschaften eines Elements im Eigenschaftenbereich direkt aus dem Editor gestattet.We implemented this by synchronizing the caret position with the corresponding Android view, allowing you to quickly access an element's properties in the property panel right from the editor.
Android Designer Source Editor to Property Editor
  • Verwenden Sie eine Inlinefarbvorschau für Ihren XML-Code, damit Sie sehen, welche Farben in Ihren Steuerelementen verwendet werden.Use an inline color preview to your XML code so you can see what colors are being used in your controls.
Android Designer Color Preview
  • Verwenden Sie unsere QuickInfo-Funktion, indem Sie auf einen Wert zeigen, um weitere Informationen zu diesem zu erhalten, z. B. wo er definiert ist, oder welchen Hexadezimalwert die Farbe hat.Use our quick info feature by hovering over a value to find out more about it, such as where it's defined or what the hexadecimal value for the color is.
Android Designer Quick Info
QuickInfo in AktionQuick Info in Action
Verbesserungen in Xamarin.Android Designer mit erster Unterstützung für Beschränkungslayouts Xamarin.Android Designer improvements with initial support for constraint layouts

Es wurde damit begonnen, die Startgeschwindigkeit von Android Designer zu verbessern.We’ve begun an effort to improve startup speed of the Android Designer. Im Rahmen dieser Anstrengungen wurden auch die Meldungen verbessert, die vom Designer bereitgestellt werden, während er geladen wird.As part of this effort, we have also improved the messaging that the designer provides while it is loading.

Android Designer Output

Zusätzlich zu diesen Verbesserungen unterstützt Android Designer nun nativ Android Pie (9.0) und bietet automatische Vervollständigung für ConstraintLayout-Attribute.Alongside these improvements, the Android Designer now natively supports Android Pie (9.0) and provides autocompletion for ConstraintLayout attributes.

Nutzen besserer IntelliSense- und Kommentierungsoptimierungen mit Xamarin.Android Designer Get better XML IntelliSense and Commenting optimizations with the Xamarin.Android Designer

Wird IntelliSense verwendet, um ein Widget zu einem Layout hinzuzufügen, wird nun ein vollständiger Codeausschnittvorgang angeboten, sodass erforderliche Attribute von Anfang an bereitgestellt werden können.When using IntelliSense to add a widget to a layout, a full snippet experience is now provided so that required attributes can be supplied from the start. Es wurde intelligentes Kommentieren und Aufheben von Kommentierung für Android XML-Layouts hinzugefügt.We have added smart commenting and uncommenting for Android XML layouts.

Erhöhen der Produktivität durch Verwenden von Go-To-Definition („Gehe zu Definition“) sowie XML IntelliSense in Android-Ressourcendateien und „AndroidManifest.xml“ Be more productive by using Go-To-Definition and use XML IntelliSense within Android resource files and AndroidManifest.xml

Sie können jetzt über STRG+Mausklick auf Ressourcen-URLs klicken, um zu der Datei oder Zeile zu navigieren, in der die URLs definiert sind.You can now Ctrl + Click on resource URLs to navigate to the file or line where they are defined.

Android Designer Go-To-Definition

IntelliSense/Autovervollständigung wird nun auch für andere Android-XML-Dateien unterstützt, die nicht zu Layouts gehören (Farben, Zeichenfolgen, zeichenbare Ressourcen, Menü, Android-Manifest usw.).IntelliSense/Autocompletion is now supported for other Android XML files other than layouts (colors, strings, drawables, menu, Android manifest, etc.).

Universelle Windows-PlattformUniversal Windows Platform

  • Die IntelliCode-Erweiterung unterstützt jetzt XAML.The IntelliCode extension now supports XAML.
  • Um die Komplexität und Größe der Einrichtung von Visual Studio zu verringern, wurden die Windows Phone-Emulatoren aus der Visual Studio-Installation entfernt.To reduce Visual Studio setup complexity and size, Windows Phone emulators have been removed from Visual Studio installation. Sie müssen die Emulatoren jetzt manuell herunterladen.You will now need to download the emulators manually.
  • XAML-Entwurfszeittools für UWP-Apps für Windows 10 SDKs vor dem Windows 10 Fall Creators Update (Build 16299) wurden entfernt.XAML design time tooling for UWP apps targeting Windows 10 SDKs before the Windows 10 Fall Creators Update (build 16299) has been removed. Richten Sie Ihre Anwendungen neu auf Windows 10, Version 1709 oder höher, aus, um den XAML-Designer zu verwenden, oder verwenden Sie den XAML-Editor.Retarget your applications to Windows 10 version 1709 or higher to use the XAML Designer, or use the XAML editor.
  • UWP-Testprojekte, die project.json verwenden, um NuGet-Abhängigkeiten zu definieren, werden nicht mehr unterstützt.UWP test projects using project.json to define NuGet dependencies are no longer supported. Sie müssen ein Upgrade Ihres Projekts durchführen, um das neue PackageReference-Format zu verwenden.You must upgrade your project to use the new PackageReference format.
  • UWP-JavaScript-Apps werden in Visual Studio 2019 nicht mehr unterstützt.UWP JavaScript apps are no longer supported in Visual Studio 2019. Sie können keine JavaScript-UWP-Projekte erstellen oder öffnen (Dateien mit der Erweiterung jsproj).You cannot create or open JavaScript UWP projects (files with extension jsproj). Weitere Informationen finden Sie in unserer Dokumentation zum Erstellen von progressiven Web-Apps (PWAs), die sich gut unter Windows ausführen lassen.You can learn more via our documentation on creating Progressive Web Apps (PWAs) that run well on Windows.
  • Sie können weiterhin Anfügungen an JavaScript-UWP-Apps durchführen. Die JavaScript-Profilerstellungstools sind jedoch nicht mehr in Visual Studio 2019 enthalten.You can continue to attach to JavaScript UWP apps as before, however the JavaScript profiling tools (Network ,CPU and Memory Profiler) are no longer available in Visual Studio 2019.

Vorlagenaktualisierungen für Office-ToolsOffice Tools Template Updates

In Visual Studio 2019 haben wir ein paar Änderungen an den Vorlagen von Office, SharePoint und VSTO vorgenommen.In Visual Studio 2019, we made a few changes to the Office, SharePoint, and VSTO templates.

  • Die SharePoint 2019-Vorlagen, die in Visual Studio 2017 15.9 hinzugefügt wurden, sind auch in Visual Studio 2019 verfügbar.The SharePoint 2019 templates that were added in Visual Studio 2017 15.9 are also available in Visual Studio 2019.
  • Wir haben die Unterstützung für sequenzielle SharePoint-Workflows oder Zustandsautomatenworkflow entfernt.We have removed support for SharePoint Sequential Workflow or State Machine Workflows. Zwar können Sie diese Workflows nicht in Visual Studio 2019 erstellen oder öffnen, doch Sie können sie weiterhin in früheren Versionen von Visual Studio bearbeiten.While you will not be able to create or open these workflows in Visual Studio 2019, you can continue to edit them in previous releases of Visual Studio.
  • Office 2010-Vorlagen sind nicht mehr verfügbar.Office 2010 templates will no longer be available. Sie können aber vorhandene Office 2010-Projekten weiterhin in Visual Studio 2019 öffnen.However, you can still open existing Office 2010 projects in Visual Studio 2019.
  • Die Office 2013- und 2016-Vorlagen wurden umbenannt, damit sie anzeigen, dass sie Office 2013 und höher unterstützen.The Office 2013 and 2016 templates have been renamed to reflect that they support Office 2013 and above.

Team Explorer und Azure DevOpsTeam Explorer and Azure DevOps

Wir veröffentlichen eine neue, optimierte, entwicklungsorientierte Erfahrung beim Verbinden von Team Explorer mit einem Azure DevOps-Projekt.We are releasing a new, streamlined, developer-centric experience when connecting Team Explorer to an Azure DevOps project.

  • Konzentrieren Sie sich auf relevante Arbeitselemente, indem Sie Ihre Ansicht filtern und pivotieren, basierend auf Ihnen zugewiesenen Arbeitselementen, solchen, denen Sie folgen, denjenigen, in deren Diskussion Sie erwähnt werden, und solchen, die auf Ihrer Aktivität basieren.Focus on relevant work items by filtering and pivoting your view based on work items assigned to you, ones that you're following, ones where you're mentioned in the discussion, and ones based on your activity.

    • In jeder Ansicht können Sie inline ein Arbeitselement erstellen, einfache Inlinebearbeitungen vornehmen, ein Arbeitselement als abgeschlossen markieren und ein Arbeitselement ausstehenden Änderungen zuordnen.Within each view, you can create a work item inline, perform simple inline edits, mark a work item as complete, and associate a work item to pending changes.
  • Erstellen Sie einen lokalen Branch aus einem Arbeitselement, wodurch das Arbeitselement automatisch mit den an dem lokalen Branch vorgenommenen Änderungen verknüpft wird.Create a local branch from a work item which will automatically relate the work item to the changes made to that local branch. Dies ist die Standarderfahrung.This is the default experience. Sollten Sie zur früheren Funktionalität wechseln wollen, dann können Sie die Funktionalität für Arbeitselemente in Visual Studio entsprechend festlegen.Should you want to switch to the legacy experience, you can by setting the Work Items experience in Visual Studio. Beachten Sie, dass diese neue Erfahrung nur für Git-Repositorys „true“ ist. Die neue Erfahrung für TFVC-Repositorys wird in einem der folgenden Updates verfügbar sein.Note that this new experience is only true for Git repos. The new experience for TFVC repos will available in a following update.

    Azure DevOps Work Item Hub
    Azure DevOps-ArbeitselementehubAzure DevOps Work Item Hub
  • Suchen nach Arbeitselementen, wenn Sie eine #Erwähnung in der Commit-Nachricht für ausstehende Änderungen vornehmen.Search for work items when doing a #mention in the pending changes commit message. Weitere Details finden Sie unter Arbeitselemente anzeigen und hinzufügen mithilfe der Seite „Arbeitselemente“.For more details, see the View and add work items using the Work Items page.

    Azure DevOps #mentions
    Azure DevOps #ErwähnungenAzure DevOps #mentions
  • Unterstützung für Microsoft Project wurde wegen der niedrigen Akzeptanzquote in Azure DevOps aus dem Team Foundation Server Office Integration 2019-Plug-In für Visual Studio 2019 entfernt.Support for Microsoft Project has been removed from the Team Foundation Server Office Integration 2019 plug-in for Visual Studio 2019 due to a low adoption rate in Azure DevOps. Sie müssen jetzt Ihre Arbeitselemente nach Excel exportieren und sie manuell in Project einfügen.You will now need to export your work items to Excel and manually paste them into Project.

  • Unterstützung für PowerPoint wurde aus dem Team Foundation Server Office Integration 2019-Plug-In für Visual Studio 2019 entfernt.Support for PowerPoint has been removed from the Team Foundation Server Office Integration 2019 plug-in for Visual Studio 2019. Benutzer können aber immer noch Storyboards in PowerPoint erstellen und sie manuell mit Arbeitselementen in Azure DevOps verknüpfen.However, users can still create storyboards in PowerPoint and link them manually to work items in Azure DevOps.

Application Insights und HockeyAppApplication Insights and HockeyApp

  • Das Fenster mit Application Insights-Trends wurde in Visual Studio 2019 zugunsten von Alternativen mit erweitertem Funktionsumfang entfernt.The Application Insights Trends window has been removed in Visual Studio 2019 in favor of alternatives that are more feature-rich. Stattdessen können Sie das Fenster mit der Application Insights-Suche in Visual Studio oder den umfassenden Satz von Diagnosetools in Application Insights im Azure-Portal verwenden.Instead, you can use the Application Insights Search window in Visual Studio or the rich set of diagnostics tools in Application Insights in the Azure portal.
  • Die Assistenten zum Hinzufügen des HockeyApp SDK sowie zum Erstellen neuer Betadistributionen wurden entfernt.The wizards for adding the HockeyApp SDK and creating new beta distributions have been removed. Stattdessen empfehlen wir die Verwendung von Visual Studio App Center, dem Nachfolger von HockeyApp.We instead recommend using Visual Studio App Center, the successor to HockeyApp. Sie können weiterhin HockeyApp ganz normal verwenden, mit Ausnahme dieser Tastenkombinationen in Visual Studio.You can still use HockeyApp normally, except without these shortcuts in Visual Studio. Wenn Sie weitere Informationen zu HockeyApp wünschen, besuchen Sie unsere Supportseite.If you would like to learn more about HockeyApp, check out our support page.

Release Notes Icon In Visual Studio 2019 RC behobene ProblemeIssues fixed in Visual Studio 2019 RC

zuletzt aktualisiert am 26 April 2019most recently updated on April 26, 2019


Bekannte ProblemeKnown Issues

Unter dem folgenden Link können Sie sich über alle vorhandenen bekannten Probleme und verfügbaren Problemumgehungen in Visual Studio 2019 Version 16.0 informieren.See all existing known issues and available workarounds in Visual Studio 2019 version 16.0 by following the below link.

Visual Studio 2019 Known Issues


FeedbackFeedback

Wir freuen uns auf Ihr Feedback!We would love to hear from you! Informieren Sie uns über die Option Ein Problem melden in der oberen rechten Ecke im Installer oder direkt in der Visual Studio-IDE über mögliche Probleme.For issues, let us know through the Report a Problem option in the upper right-hand corner of either the installer or the Visual Studio IDE itself. DieThe Feedback Icon Symbol befindet sich in der oberen rechten Ecke.icon is located in the upper right-hand corner. Sie können einen Vorschlag zu einem Produkt einreichen oder Ihre Probleme in der Entwicklercommunity für Visual Studio nachverfolgen, in der Sie auch Fragen stellen und nach Antworten suchen sowie neue Features vorschlagen können.You can make a product suggestion or track your issues in the Visual Studio Developer Community, where you can ask questions, find answers, and propose new features. Über unseren Livechatsupport erhalten Sie zudem kostenlose Hilfe bei der Installation.You can also get free installation help through our Live Chat support.


BlogsBlogs

Profitieren Sie von den Einblicken und Empfehlungen auf der Webseite mit Blogs zu Entwicklertools, um sich bei allen Releases auf dem neuesten Stand zu halten und Zugang zu ausführlichen Beiträgen zu zahlreichen Funktionen zu erhalten.Take advantage of the insights and recommendations available in the Developer Tools Blogs site to keep you up-to-date on all new releases and include deep dive posts on a broad range of features.

Developer Tools Blogs


Visual Studio 2019: Verlauf der Anmerkungen zu dieser VersionVisual Studio 2019 Release Notes History

Weitere Informationen bezüglich der früheren Versionen von Visual Studio 2019 finden Sie auf der Seite Visual Studio 2019: Verlauf der Versionsanmerkungen.For more information relating to past versions of Visual Studio 2019, see the Visual Studio 2019 Release Notes History page.


Seitenanfang
Top of Page