Microsoft heeft versie 2019 van Visual Studio uitgebracht. Deze populaire programmeerontwikkelomgeving beschikt over handige opties om het programmeren in onder andere Visual C++, Visual Basic, C#, F#, Python en R makkelijker te maken. De complete lijst met de veranderingen in de 2019-uitgave kun je nalezen in de bijbehorende releasenotes. Dit zijn in het kort de hoogtepunten:
- Be more efficient now that Visual Studio updates will now be downloaded in the background.
- Control installation mode for Visual Studio updates.
- Collaborate with others using Visual Studio Live Share, which is installed by default. Additional language support for C++, VB.NET, and Razor gives guests a solution view and sharing of source control diffs.
- 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.
- Create new projects with an improved search experience and filters using the new list of templates sorted by popularity.
- Have more vertical room for your code and a modernized look and feel through a set of new visual changes in the shell.
- View a sharper version of your IDE regardless of your display configuration and/or scaling, as we have improved support for per monitor awareness.
- Use an improved search capability in Visual Studio for menus, commands, options, and installable components.
- Quickly understand your code file's 'health' with a document indicator. Run and configure through a one-click code cleanup from the indicator.
- Easily manage the preview features you are opted in to with a new Preview Features page in the Options dialog.
- Create new projects with improvements in tag-based search and an easily accessible "Recent project templates" list.
- Create new items directly from Visual Studio Search and find results faster with improved relevance.
- Stay informed of important information, such as Visual Studio Live Share requests, with a new notifications experience.
- Save a collection of code cleanup fixers as a profile to easily select the fixers you want run during code cleanup.
- Trigger new .NET refactoring and code fixes.
- Configure .NET Core projects more easily with first-class project files.
- See the status of your extensions with Preview, Paid, and Trial tags in the Extensions and Updates dialog.
- Check and configure which Preview features you want active since the defaults have been reset in this Preview.
- Keep your extensions up-to-date by excluding certain Test Window APIs that have been marked as deprecated in this release.
- Sign in, browse, and one-click clone or connect to your hosted repositories from Azure DevOps through the start window.
- Install extensions for other source control hosts to view repositories owned by you and your organization.
- Experience an improved Blue theme experience that addresses feedback by dialing down the luminosity, improving overall contrast and addressing other usability issues.
- Apply code style preferences from the command-line with the dotnet format global tool.
- MSBuild and Visual Studio now target .NET Framework 4.7.2 by default.
- We have removed Azure App Service-related features from Server Explorer; equivalent functionality is instead available in Cloud Explorer.
General Debugging and Diagnostics
- Take control of how solutions load by using Visual Studio's new performance improvements that affect stepping speed, branch switching speed, and more.
- See solution load progress in the Task Status Center.
- Choose which projects to load on solution open with solution filter files.
- Improve your typing performance by limiting the impact of auxiliary components.
- Toggle the new option to disable restoring of your project hierarchy state and tool window state.
- Learn the new shortcut for Build Selection and quickly Build All in CMake with the new Build All command.
- Code faster with improved performance of IntelliSense for C++ files in CMake projects.
- Load larger .NET Core solutions and enjoy significant memory reductions when working with them over time.
- Load project dependencies quickly with a new project context menu command.
- See performance tips in the performance center.
Source Control and Team Explorer
- Search keywords within the Watch, Autos, and Locals windows while debugging to improve your ability to find objects or values.
- View a dropdown of format specifiers in the Watch, Autos, and Locals windows when inspecting data.
- Use a custom visualizer, now compatible with .NET Core.
- Debug very large applications with large numbers of modules and PDBs.
- Use Hot Path Highlighting for CPU and DotNet Object Allocation tools in the Performance Profiler.
- Break when a specific object's property value changes in .NET Core applications using data breakpoints, a feature that was originally exclusive to C++.
- We have updated the UI for searching in the Autos, Locals, and Watch windows with a simpler interface. 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.
- Temporarily store changes so you can work on another task by using Team explorer's Git tools support for Git stash.
- 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.
- 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.
- Use a single, unified Visual Studio SDK in the NuGet package Microsoft.VisualStudio.SDK.
- Take advantage of our update to the VSIX Project to now include an AsyncPackage.
- Experiment with a new Empty VSIX Project template that we have added.
- Know if an extension is Free, Paid, or Trial, as it is now indicated inside the Extensions and Updates dialog.
Experience a preview of the 8.0 language features that the C# compiler now supports, including:
- Nullable reference types: When the feature is turned on (for example, with
#nullable enableor at the project-level with
<NullableContextOptions>enable</NullableContextOptions>), reference types are treated as nullable if annotated with
?, and as non-nullable otherwise. The compiler then analyzes where null values flow and warns about likely unsafe usages.
switch-like semantics in an expression context.
- Recursive pattern matching: New patterns allow testing fields/properties and positional elements (from tuples or deconstruction).
- Support for
Indextypes being used in CoreFX for slicing, including the
x..yliteral syntax for ranges.
- Asynchronous streams represented by
IAsyncEnumerable<T>can be enumerated asynchronously with
await foreachand can be produced with
async IAsyncEnumerable<T>iterator methods.
usingdeclarations: Dispose at the end of the current block, without increasing the level of nesting.
refstructs can be disposed by implementing a public
staticlocal functions: Local functions marked with
thisor variables in the enclosing functions.
- Local functions and lambdas can now declare parameters and locals that shadow names of variables of the enclosing functions.
- Null-coalescing assignment:
x ??= y;only assigns
Find out more in Mads' overview of C# 8.0.
Additionally, you can use more modern C# language features in Visual Studio by default.
- Save time when writing C++ and XAML code by using Visual Studio IntelliCode, an optional extension that gives AI-assisted recommendations for your code.
- Experience in-editor code analysis warnings. Code analysis runs automatically in the background and warnings display as green squiggles.
- Try the new Template Bar, which uses the Peek Window UI and supports nested templates.
- Run the new, updated implementation of the C++ Lifetime profile checker.
- Configure your CMake projects using the new CMake Settings Editor, which provides an alternative to CMakeSettings.json.
- Try out a host of backend improvements including OpenMP SIMD vectorization, link-time speedups, and more aggressive inlining.
- Open existing CMake caches generated by external tools, such as CMakeGUI, or customized meta-build systems.
- Improve analysis with /Qspectre for providing mitigation assistance for Spectre Variant 1 (CVE-2017-5753). For more information, see the Visual C++ Team Blog post.
- Quickly switch between your previous sample arguments now that the Template Bar for Template IntelliSense has a Most Recently Used dropdown.
- F# 4.6 is released, along with various other compiler improvements.
- Experience performance improvements for larger solutions and various bug fixes for F# and the F# tools.
- Learn about some of the awesome work done by open source contributors to the F# language and tools.
- Debug unit tests in Node.js projects.
- Experience additional support for users who are building TypeScript projects from NuGet and npm packages.
- Easily add Python virtual and conda environments using the Python Add Environment dialog.
- Work more easily with Python environments, including improved support for Open Folder workspaces using a new Python environment selector toolbar.
- Create Visual Studio Live Share sessions and collaborate on Python code with other Visual Studio users.
- Take advantage of the added support for working with .NET Core 3.0 projects.
- Check out CPU profiling of ASP.NET.
- Use snapshot debugger for .NET web apps running on Virtual Machines, Virtual Machine Scale Sets, and Azure Kubernetes Service.
- Develop container applications for Kubernetes with the Visual Studio Kubernetes Tools
- Experience enhancements to the Azure DevOps work item experience that include inline support of assigning work items and an improved #mentions experience.
- Work with project files more easily and experience a better console app for .NET Core tooling.
- Experience enhancements to the publish profile summary for all apps. Additionally, a new section called Dependencies is now available when an app is published to Azure App Service.
- Experience visual enhancements when creating a new ASP.NET application
- Re-supply publish credentials for an existing Azure Functions publish profile
Mobile Development with Xamarin
- Experience a more streamlined single project for containerizing and debugging.
- Make use of added support for debugging Alpine and additional base images.
Universal Windows Platform (UWP)
- Get started quicker with a reduced Xamarin workload size and improved performance when creating new projects.
- See more detailed build progress information.
- Use IntelliCode with Xamarin.Forms XAML.
- See your XAML previewed without building your project first with the new Basic Preview Mode in the Xamarin.Forms Previewer.
- Preview your Xamarin.Forms XAML on different devices with the new Xamarin.Forms Previewer device drop-down.
- Check out the new property panel for Xamarin.Forms controls.
- Use the newly-added Shell template for Xamarin.Forms.
- Experience improvements to Xamarin.Android initial and incremental build performance.
- Create new Android emulators using the deploy target menu.
- Speed up your build times with our improvements for build in Xamarin.Android.
- Experience Enhanced Fast Deployment and d8/r8 support for Xamarin.Android.
- Take advantage of enhanced productivity in the Xamarin.Android Designer.
- Try out Xamarin.Android Designer improvements with initial support for constraint layouts.
- Be more productive with the Xamarin.Android Designer by using Go-To-Definition and enhanced XML IntelliSense/Autocompletion for Android Resource files.
SQL Server Data Tools
- Preserve comments, spacing, namespaces, and any other text changes when making edits from the designer. The package manifest designer now maintains strict fidelity to xml changes in the Package.appxmanifest file.
- Use the Windows Application Packaging project for .NET Core projects to produce MSIX packages.
- Use the Package Creation Wizard for direct Microsoft Store submissions.
- Deployment to Windows Mobile devices is no longer supported in Visual Studio 2019. 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". If you need to continue working on an application for Windows 10 Mobile devices, continue to use Visual Studio 2017.
- Experience an updated SSDT and DacFX that now includes UTF-8 collation support.