Visual Studio 2017: Productivity, Performance, and Partners
By John Montgomery, Director of
Program Management, Visual Studio
Today we released Visual Studio
Start your download
and read on to learn more about some of the highlights
of this release. For the complete list of changes in the
release, check out the
Visual Studio 2017 release notes.
Some of the things I would like to highlight are:
Improved startup and
improved project load. Multiple enhancements
come together to make Visual Studio 2017 start up to 3
times faster than Visual Studio 2015. Solution load
times are 2-4 times shorter, and build performance is
faster, particularly for C++ projects as Ankit Asthana
wrote on the VC++ blog.
Check out this post by Dan Taylor on
improved overall Visual Studio
leads you into a deep dive on these improvements.
Visual Studio 2017 dramatically improves code
navigation, from “Go to All” to Find All References to
Indent Guides. For example, Find All References used to
display its search results as a flat list in the Results
Window. Visual Studio 2017 colorizes the results and
provides custom grouping, sorting, filtering, and
searching to help you rapidly home in on the specific
reference you were looking for. But most powerful is Go
to All (ctrl+T or ctrl+,), which has undergone a
complete transformation. Go to All is a fast, complete
search for any file, type, member or symbol declaration
in a solution. Icons at the bottom of the search bar
allow you to filter your results by group or adjust the
scope of the search. You can also customize settings
like placement of the search bar, a live preview of the
files containing the highlighted result, and additional
file information for each result, by clicking the gear
icon in the bottom-right corner. Keyboard Shortcuts
Improved startup and improved project load. Multiple enhancements come together to make Visual Studio 2017 start up to 3 times faster than Visual Studio 2015. Solution load times are 2-4 times shorter, and build performance is faster, particularly for C++ projects as Ankit Asthana wrote on the VC++ blog. Check out this post by Dan Taylor on improved overall Visual Studio responsiveness that leads you into a deep dive on these improvements.
Enhanced Navigation. Visual Studio 2017 dramatically improves code navigation, from “Go to All” to Find All References to Indent Guides. For example, Find All References used to display its search results as a flat list in the Results Window. Visual Studio 2017 colorizes the results and provides custom grouping, sorting, filtering, and searching to help you rapidly home in on the specific reference you were looking for. But most powerful is Go to All (ctrl+T or ctrl+,), which has undergone a complete transformation. Go to All is a fast, complete search for any file, type, member or symbol declaration in a solution. Icons at the bottom of the search bar allow you to filter your results by group or adjust the scope of the search. You can also customize settings like placement of the search bar, a live preview of the files containing the highlighted result, and additional file information for each result, by clicking the gear icon in the bottom-right corner.
Keyboard Shortcuts for GoTo
IntelliSense filtering. IntelliSense now provides filters to quickly narrow down that member you’ve been looking for. Filtering helps you get to what you need without having to wade through many, many types to get to it.
CMake support for C++. Support for CMake is now available in Visual Studio 2017. You can start coding by directly loading your CMake projects in Visual Studio. It is easy to switch between configurations provided by CMake and further configuration is also supported via CMakeSettings.json file that sits in the same folder as CMakeLists.txt file. For an overview of CMake support see the Visual C++ Team blog or watch this 10-minute CMake Video.
Linux support for C++. Visual C++ for Linux Development is a popular extension which is now part of Visual Studio 2017. To learn more about Linux development with C++, see the Visual C++ Team blog or watch this video.
Live unit testing. Live unit testing, as the name suggests, tells you in real time if your unit tests will pass or fail because of the edits you just made to your code, without leaving the code editor. Check out this blog post to learn more about live unit testing in Visual Studio 2017.
Run to Click. Most of us use temporary breakpoints. Run to Click is much slicker. Now while you’re stopped at a break state under the debugger, when you hover your mouse over a line of code you’ll see the Run to Click glyph. Click on the glyph and execution continues to and halts on that line.
Exception Helpers. We’ve added exception helpers, so you can immediately see the root cause of an exception with instant access to inner exceptions in a compact, non-modal dialog. Additionally, you can now exclude breaking on exception types thrown from specific modules by clicking the checkbox to add a condition while stopped at the thrown exception.
Small and lightweight installation. We made it easier to get up and running with Visual Studio 2017 with our new installer. The smallest installation is just one-tenth of the size of the previous version, and it installs in just a minute or two. We make it easy for you to install just the frameworks and tools you need to get up and running quickly.
5-Star Mobile Applications
Xamarin Forms Previewer. One of the most time-consuming parts of development is the build and run cycle – the time between writing a line of code and seeing it execute. Real-time feedback makes development faster, easier, and more fun for developers. The Xamarin Forms Previewer renders a live preview of a page side-by-side with the XAML markup, allowing you to see your user interface come to life in Visual Studio as you type.
Improved Xamarin Forms XAML IntelliSense. When you open any XAML document for Xamarin Forms in Visual Studio 2017, you will now greatly improved IntelliSense. The new IntelliSense supports bindings, custom properties, custom controls, converters, and much more.
Connected Services. The new Connected Services experience in Visual Studio 2017 makes it much easier to connect your mobile application to cloud services such as Azure Mobile Apps data storage and authentication . Adding a service to your project will add all required dependencies and any required initialization code to your mobile targets.
The first Connected Service we are providing for mobile developers enables you to connect your app to an Azure App Service backend, providing easy access to authentication, push notifications, and data storage with online/offline sync. This feature also allows you to create a new App Service directly from Visual Studio and have it provisioned without having to visit the Azure Portal.
.NET Core. Visual Studio 2017 now supports building .NET Core 1.0 and 1.1 applications. .NET Core, which includes ASP.NET Core and Entity Framework Core, is Microsoft’s open source framework for building cloud and server applications and microservices for Windows, macOS, and Linux. It is fast and lightweight: on the Tech Empower web benchmark ASP.NET Core scores in the top 10 fastest web frameworks ahead of Java servlets, Node, Ruby, and PHP.
Simplified container support. Container development automates the repetitive tasks of setting up and configuring development environments. No longer do developers have to install complex software on their machines in order to duplicate their production machines, instead relying on a simple file that pulls in dependencies as a packaged container. Visual Studio 2017 supports building containerized applications on both Windows and Linux. .NET Core and .NET applications can be containerized during creation or after creation with a simple right-click gesture and can be run and debugged inside the container during local development.
Azure App Service support. Azure App Service provides hosting on ASP.NET and ASP.NET Core and Visual Studio has great support for publishing and debugging applications on App Service. Visual Studio 2017 now expands that support to hosting .NET Core containerized applications in App Service. .NET and Visual Studio 2017 make container development easy.
For additional details check out the latest posts on .NET Blog.
Visual Studio 2017 improves many aspects of working in DevOps environments, from improvements to version control to improvements to the Developer Analytics tools to a preview of the ability to configure a CI/CD pipeline directly from within Visual Studio. Of particular interest are some of the improvements in Visual Studio’s Git support. We’ve added new Git features to Visual Studio that allow you to do more of your end-to-end workflow without leaving the IDE. You can easily view the diff for outgoing commits, perform a force push to complete a rebase or push an amended commit, remove your upstream branch, and continue patch rebase from Visual Studio. Additionally, because we moved to git.exe–which allows us to provide the most up-to-date features–we support SSH, respect your config options, and show in Team Explorer exactly what you see in the command line.
Most interestingly Visual Studio also includes tools not just to perform DevOps on your source code, but on your database configuration as well, thanks to the inclusion of the Redgate Data Tools. To extend Visual Studio 2017 DevOps capabilities to SQL Server database, install the Data Storage and Processing workload and you’ll get:
Additionally, your Visual Studio Enterprise subscription comes with six months of access to WhiteSource Bolt for open source vulnerability management and license checking, and to Parasoft for service virtualization. Check out the new subscriber benefits post for more details.
The Visual Studio Ecosystem
Many customers extend Visual Studio with solutions from the Visual Studio Marketplace. With today’s announcement, we have over 100 partners simultaneously shipping their extensions with the release, making over 700 extensions available to use with Visual Studio 2017.
One of the more popular extensions is Microsoft’s Productivity Power Tools. Over the last year, we’ve been reconfiguring the Power Tools to be a discrete set of extensions, and today we’re making many of them available in Visual Studio 2017.
Also, today we’re making available a preview of the Python Tools. We wanted to ensure that you have access to the Python tooling, as we are finishing up the full localization to enable us to publish them in a future minor update to all interested Visual Studio 2017 users.
Try it out and please give feedback
By now, Visual Studio 2017 may have finished installing for you. If it has, great! I’d like to address two questions we get asked a lot:
If you’re looking for the data science workload that was in Visual Studio 2017 previews and RC, keep an eye out for future updates including R support.
If you have further questions, read the Visual Studio 2017 FAQ for other commonly asked questions. Want to know more about compatibility, check out Visual Studio 2017 compatibility and Visual Studio 2017 system requirements. Also, be sure to read this article to learn about offline installations.
Visual Studio 2017 has a lot of new and improved features for you to try. For the complete list of what is included in this release, along with some known issues, check out the Visual Studio 2017 Release Notes.
As always, we welcome your feedback. For problems, let us know via the Report a Problem option in the upper right corner, either from the installer or the Visual Studio IDE itself. Track your feedback on the developer community portal. For suggestions, let us know through UserVoice.
Finally, check out Visual Studio 2017 Launch Event to see members of the engineering team demo the product, and tune in on March 8 for a full day of live training.