Software-update: Microsoft Visual Studio 2019 16.0.0

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:

Install IDE
  • 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.
Performance General Debugging and Diagnostics
  • 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.
  • Launch Google Chrome with custom arguments and debug your JavaScript applications all within the Visual Studio IDE.
  • 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.
Source Control and Team Explorer
  • 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.
Programming Languages

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 enable or 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 expressions: Offers 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 Range and Index types being used in CoreFX for slicing, including the x..y literal syntax for ranges.
  • Asynchronous streams represented by IAsyncEnumerable<T> can be enumerated asynchronously with await foreach and can be produced with async IAsyncEnumerable<T> iterator methods.
  • using declarations: Dispose at the end of the current block, without increasing the level of nesting. ref structs can be disposed by implementing a public Dispose() method.
  • static local functions: Local functions marked with static cannot reference this or 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 y to x if x was null.

Find out more in Mads' overview of C# 8.0.

See the C# language feature status and breaking changes for more details.

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.
  • 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.
Web Technologies Container Tools Mobile Development with Xamarin Universal Windows Platform (UWP)
  • 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.
SQL Server Data Tools
  • Experience an updated SSDT and DacFX that now includes UTF-8 collation support.

Versienummer 16.0.0
Releasestatus Final
Besturingssystemen Windows 7, Windows Server 2008, Windows Server 2012, Windows 8, Windows 10, Windows Server 2016
Website Microsoft
Licentietype Freeware/Betaald

Reacties (19)

Wijzig sortering
Ik blijf nog even op 2017 hangen maar ik zie uit naar de 2019 versie :)
Je kan ze gerust naast elkaar draaien als je graag al eens speelt :-) Zelf heb ik maandenlang 2017 naast de previews van 2019 gedraaid (allebei Community Edition) en ik moet zeggen dat ik al heel snel naar 2019 greep... heb gisteren dan ook binnen de eerste 10' na de launch de definitieve versie geïnstalleerd en de preview verwijderd (die kan je ook gerust naast elkaar draaien, voor de installer zijn 2017 (logisch), 2019 Preview en 2019 compleet verschillende instanties.
De allerbeste feature die ze hebben toegevoegd nu is dat de debugger niet meer in het VS proces draait waardoor C++ nu in eens een 64bits debugger heeft. Eindelijk geen crashes of geen debug informatie meer als VS 2.5-3GiB gebruikt, dit komt nog al veel voor op het werk.
Er schijnt verbeteringen aan de performance doorgevoerd te zijn. Ben dus benieuwd hoeveel hiervan ik in de praktijk zal merken. :)
Anoniem: 1092407
3 april 2019 15:08
Ik begrijp dat Visual Studio een zeer uitgebreid softwarepakket is maar ik had het in gebruik voor SSIS en ik ben blij dat ik ermee gestopt ben. Onlangs is SQL Server verhuisd naar een Linux omgeving. Bepaalde SSIS packages weigerden dienst daarop en ik heb inmiddels alle packages geïmplementeerd middels shell scripts. Wat een verademing. Ik had soms het idee dat SSIS de boel onnodig ingewikkeld maakt. Bijv gedoe met data types die dan vaak ook weer anders heten dan in SQL. Met simpele Linux commando's kun je dezelfde resultaten bereiken en dat werkt nog sneller ook. SQL Server installeren was overigens bijzonder eenvoudig en inrichten inclusief het Windows domain en alle gebruikers daarin koppelen was binnen een dag afgerond. Prestatie is prima en de features die niet worden ondersteund zijn geen gemis. Mijn Pavlov reactie bij het zien van de titel was dan ook: mooi die hebben we niet meer nodig.

Disclaimer: ik ben een home made coder/klusser en heb hier nooit enige opleiding voor genoten. Ik verdien hier m'n bescheiden salaris pas een jaar of 2 mee, als een soort onverwachte wenteling in mijn carrière. Visual Studio heeft uiteraard zeer veel nuttige toepassingen. Ik heb echter een natuurlijke voorliefde voor Linux om verschillende redenen en VS past niet zo goed in dat plaatje.
SSIS is niet gemaakt voor coders maar meer voor data analisten. Voor de hobbybob voelt het idd allemaal wat omslachtig en als je kunt coden is het helemaal snel te omzeilen. Voordeel is inderdaad de integratie met de Microsoft stack als je die al hebt draaien.

Maar SSIS is slechts een (zeer) klein percentage van wat Visual Studio echt is: Een IDE. En in mijn ogen ongeëvenaard. Ik doe zelf veel met IntelliJ (PHP, Android) maar wanneer ik met VS (En C#) aan de slag kan voelt dat echt als thuiskomen.

Zeer benieuwd naar Visual Studio Live Share! Wij doen veel aan extreme programming voor sommige (kritische) backends en ik ben benieuwd of dit (vooral met thuiswerken!) een toevoeging kan zijn. Even wachten tot onze werkomgeving groen licht krijgt nog.. :)
Zeer benieuwd naar Visual Studio Live Share!
Live Share is al een jaar beschikbaar. Het enige verschil is dat het nu standaard geïnstalleerd is.
Mooi verhaal, ietswat lang, maar dit gaat over VS en niet over de subset SSIS. Als dev omgeving voor het Microsoft landschap is VS een praktisch ongeëvenaarde toolkit waar goed mee te werken valt.

Je moet de juiste toolkit voor elke klus gebruiken; als jij jouw segment van SQL opdrachten uit kunt voeren in Linux dan prima, maar om te stellen dat daardoor heel VS overbodig is.. :/
Anoniem: 1092407
@DrPoncho3 april 2019 16:01
stellen dat daardoor heel VS overbodig is..
Hehe dat is ook wel een beetje lezen wat je wilt lezen natuurlijk, no offense..Ik heb mijn use case volgens mij duidelijk beschreven met een _nog_ duidelijkere disclaimer erbij. ;)

*Citaat toegevoegd

[Reactie gewijzigd door Anoniem: 1092407 op 3 april 2019 16:03]

Het is niet te doen om een professioneel project te debuggen zonder VS. Tuurlijk kun je coden zonder VS, maar daar ligt de kracht niet (volledig). Dé kracht van VS is het kunnen debuggen van de software. Persoonlijk vind ik VS geweldig om te coderen, tijdje VIM geprobeerd icm OmniSharper om code linting te ondersteunen, werkt toch niet zo lekker als Visual Studio's IntelliSense/Code.
Het is niet te doen om een professioneel project te debuggen zonder VS
Ik vind niet dat de debugger van Visual Studio superieuer is aan het gebruik van Qt debudding opties. Het voordeel daarbij is dat deze gewoon op GDB gebaseerd is, en je de debugger als dat nodig is dus gewoon vanuit de terminal kan draaien (nooit zelf gedaan, maar een collega op een ARM/Linux-platform was erg enthousiast).
Reden dat ik dat zeg is omdat je onder een update van het VS platform, een betoog afsteekt dat het overbodig gemaakt kan worden met Linux tooling - terwijl je dat baseert op een redelijk ongerelateerd product voor een aparte tak van sport..
Anoniem: 1092407
@DrPoncho3 april 2019 23:35
Dan heb je dat of verkeerd begrepen of ik heb me toch verkeerd uitgedrukt in mijn oorspronkelijke post. Hoe dan ook, het blijkt wel weer dat een gezonde dosis zelfkritiek sommige mensen er niet van weerhoudt om er nog een plasje overheen te doen. :D
Waar heb je 't over met je plasje en zelfkritiek? Gaat niet over jou en jouw skills, die lijken me prima en je keuzes onderbouwd, gaat over dat dit niet het forum is maar de reacties op een VS update ;)
Maak je dan niet eerder gebruik van VS Code voor Linux?
SSIS gebruikt de shell van visual studio, maar dat is ook het enige. SSIS tooling zelf wordt niet door het vs-team gemaakt, en haalt die kwaliteit ook bij lange na niet.
Wordt nu ook XSLT versie 2 of 3 ondersteund?
Als je met SSIS moet werken kijk dan zeker een keer naar NiFi
Interresant. Heb met SSIS en Pentaho Kettle gewerkt, maar ben NiFi nooit tegengekomen. Maar ik ben ook primair ontwikkelaar, dus voor mij is het maar 'voor erbij'.

Op dit item kan niet meer gereageerd worden.

Tweakers maakt gebruik van cookies

Tweakers plaatst functionele en analytische cookies voor het functioneren van de website en het verbeteren van de website-ervaring. Deze cookies zijn noodzakelijk. Om op Tweakers relevantere advertenties te tonen en om ingesloten content van derden te tonen (bijvoorbeeld video's), vragen we je toestemming. Via ingesloten content kunnen derde partijen diensten leveren en verbeteren, bezoekersstatistieken bijhouden, gepersonaliseerde content tonen, gerichte advertenties tonen en gebruikersprofielen opbouwen. Hiervoor worden apparaatgegevens, IP-adres, geolocatie en surfgedrag vastgelegd.

Meer informatie vind je in ons cookiebeleid.


Toestemming beheren

Hieronder kun je per doeleinde of partij toestemming geven of intrekken. Meer informatie vind je in ons cookiebeleid.

Functioneel en analytisch

Deze cookies zijn noodzakelijk voor het functioneren van de website en het verbeteren van de website-ervaring. Klik op het informatie-icoon voor meer informatie. Meer details


    Relevantere advertenties

    Dit beperkt het aantal keer dat dezelfde advertentie getoond wordt (frequency capping) en maakt het mogelijk om binnen Tweakers contextuele advertenties te tonen op basis van pagina's die je hebt bezocht. Meer details

    Tweakers genereert een willekeurige unieke code als identifier. Deze data wordt niet gedeeld met adverteerders of andere derde partijen en je kunt niet buiten Tweakers gevolgd worden. Indien je bent ingelogd, wordt deze identifier gekoppeld aan je account. Indien je niet bent ingelogd, wordt deze identifier gekoppeld aan je sessie die maximaal 4 maanden actief blijft. Je kunt deze toestemming te allen tijde intrekken.

    Ingesloten content van derden

    Deze cookies kunnen door derde partijen geplaatst worden via ingesloten content. Klik op het informatie-icoon voor meer informatie over de verwerkingsdoeleinden. Meer details