Visual Studio 2019 v16.7 Preview 2 Available Today!

Jacqueline Widdis

Whew! It feels like Microsoft Build 2020 just ended yesterday, and now we are releasing Visual Studio 2019 v16.7 Preview 2. We hope you enjoyed any virtual sessions you were able to attend.  Our teams certainly enjoyed presenting upcoming features and products to you. Now we look forward to giving you the opportunity to try some of the features new to this next preview release. In this version, we are highlighting changes in the C++ Connection Manager, .NET Productivity, Git Productivity, and Local Process with Kubernetes. We invite you to keep reading below to learn of the details of this release. Also, if you’d like additional information, check out our release notes 

C++ Updates

Visual Studio v16.7 Preview 2 delivers various improvements in the C++ space. Within the Connection Manager, you’re now able to edit remote SSH connections, e.g. if the IP address of your target system changes and needs to be updated. You’re also able to set default remote connections to be consumed via ${defaultRemoteMachineName} in CMakeSettings.json and launch.vs.json. 

When you edit a remote connectionVisual Studio will no longer need to recopy headers to Windows for a native IntelliSense experience. Likewise, setting default remote connections is useful for checking CMakeSettings.json and launch.vs.json into source control with no user or machine-specific information. These remote connections over SSH allow you to build and debug your C++ projects on a remote Linux system directly from Visual Studio. 

CPP Add or Remove SSH Connections
C++ Add or Remove SSH Connections with Connection Manager


This release also brings enhanced IntelliSense support for Clang on Windows (clang-cl) in Visual Studio. The clang include path now includes the clang libraries, we’ve improved the display of in-editor squiggles (particularly when using the std library)and we’ve added support for C++2a is supported in clanmode. 

The Preview release also contains four new code analysis rules to incorporate additional safety features into C++C26817C26818C26819, and C26820. Please see the C++ Team Blog for more info. 

In addition, new C++20 Standard Library features have been implemented. A detailed list is provided in the STL Changelog on GitHub. 

.NET Productivity

Quick Info now displays the diagnostic ID along with a help link where you can easily navigate to our documentation to learn more about warnings and errors in your code.

Diagnostic ID with help links in .NET Productivity
Diagnostic ID with help links in .NET Productivity


Git Productivity

We continue to release more Git functionality in Visual Studio 2019. This time we focus on merge conflict resolution. We’ve revamped the Visual Studio merge editor by decoupling it from TFVC and focusing it on Git.

A new gold info bar at the top of a file will tell you when there are merge conflicts that need to be manually resolved. Clicking will take you to the merge editor, which now has more informative tiles and captions to help you distinguish between the conflicting branches. We’ve reduced the clutter around the zoom margin, health margin, and the toolbar. In addition, it is easier to parse conflicts with aligned matching lines, word level differences, and visible whitespace when it is the only difference. You can turn off non-conflicting differences to just focus on the conflicts. You can also resolve add/add conflicts at the file level now with a two-way merge. Finally, we have added a checkbox to resolve all conflicts on one side or the other with a single click. 

Try the new features by toggling the Preview Feature for New Git user experience in Tools > Options 

Improved Git Functionality in Visual Studio 2019 under the Tools Menu
Improved Git Functionality in Visual Studio 2019 under the Tools Menu

In other Git improvements, we will now close any open folders or solutions before starting a new clone operation, so that Visual Studio can open the newly cloned repo to help you get to your code faster. We’ve improved upon the commit text box, adding inline error checking. And we’ve added UI to help you more clearly understand what is happening when you initialize and push a repository to a remote host like GitHub or Azure Repos.
Local Process with Kubernetes

Local Process with Kubernetes allows you to write, test and debug your .NET code on your development workstation while connected to your Kubernetes cluster with the rest of your application or services. By connecting your development workstation to your cluster, you eliminate the need to manually run and configure dependent services on your development machine. Environment variables, connection strings and volumes from the cluster are available to your microservice code running locally.  

For more information on Local Process with Kubernetes, we have detailed it out in our team blog.

We Value Your Feedback

As we continue to move forward with delivering products to help improve your productivity, we are listening to feedback, continually reviewing release processes, and working to deliver the best developer tools to you.  If you would like to join the discussion, please participate in our Developer Community as the place feedback is first reviewed.