Microsoft today released to general availability Visual Studio 2017, an update to its software development environment that aims to increase developer productivity while adding features that make developing for new container architectures, the cloud and mobile devices more seamless.
At a digital event announcing the release, Microsoft’s Julia Liuson, corporate vice president for Visual Studio, said the company has “expanded beyond the IDE into a family of tools that are now designed for a mobile-first, cloud-first world.” That includes an integration with database-as-DevOps tool provider Redgate and the release of Visual Studio Team Services Update 1, the cloud-based collaboration platform for development teams.
(Related: Microsoft open-sources Graph Engine)
She cited statistics reflecting a growing number of developers using Microsoft’s tooling, including 25% growth in monthly active users, 1.3 million active users of Visual Studio Code, 5 million registered users of Visual Studio Team Services, and 1 million downloads of Xamarin tools since Microsoft acquired that company a year ago.
This release of Visual Studio is build on four core pillars: fundamentals, cloud, mobile and DevOps, according to John Montgomery, Microsoft’s director of program management for Visual Studio and .NET.
Fundamentals “are the things that affect every single developer every single day,” he said. “It’s everything from the little tiny tweak that makes the developer that much more productive, to the big change that can transform how they work.
“We think about these things in two big buckets: The first one is foundational things,” he continued. “In here, we talk about stuff like the startup time of the IDE, which has been dramatically improved, or the installation time of the IDE. We’ve improved everything touching on performance, from how fast the motor starts to how quickly you actually type against the IDE.”
On the productivity side, the second bucket (Visual Studio 2017) brings in improved refactoring, search and navigation, code generation and analysis tools, and “run-to-click” advanced debugging.
Microsoft also has made acquiring Visual Studio more flexible by changing the IDE’s architecture. There are now 16 workloads for various types of development, so users can install just what they need, explained Montgomery, adding that the minimal install can be done in minutes and take up only a few hundred megabytes on disk.
Montgomery went on to say that among the overarching trends Microsoft is seeing is that “software development is a team sport. There’s a lot for the individual developer still, and we’re going to keep making productivity enhancements for those folks. But when you think about developers working in teams, that’s a big, big change. The IDE can grow and do a lot to enhance individual developers working in teams, and that’s especially important for teams working in modern agile and DevOps workflows.”
For DevOps, Microsoft has taken a look at the workflow and has come up with tooling to tighten the cycle. “It starts with code editing and goes all the way through [Continuous Integration/Continuous Delivery] pipeline, and eventually comes out with an analytics service,” Montgomery said. “The developer might look at the result of that and go back to their editor. That’s kind of that left-to-right flow and it comes back at the end. We can do a lot better to tighten that cycle so you can catch and bunch of issues before check-in, identify issues in production a lot faster, right in the code editing experience.”
To shift development left, Microsoft took two workflows (code editing and debugging) and rechristened them as “edit and continue,” which Montgomery said dramatically improved developer productivity.
Further, he said, Visual Studio 2017 introduces a capability called live unit testing, “Where those unit tests can be easily scaffolded, and right as you’re writing your code, you can see whether you have code coverage on it, whether a change you’ve made in the code is going to break a unit test. It’s a very powerful tool for left-shifting this very important process,” Montgomery said.
In Visual Studio 2017, features such as using checks and X’s to show where unit tests pass or fail even as code is being changed, and dashes to indicate there is no coverage on that code have been added. A new start page with a “recent” list shows developers what they’ve been working on most recently, to make it faster for developers to get in and start coding. There’s a new exception helper in the 2017 IDE that explains what the culprit is in the code, and new filters in IntelliSense help narrow search for what developers need in code by category or camel case matching, for example.
“As you refactor, you can instantly see the impact of the change through the live unit testing,” said Kaycee Anderson, program manager at Microsoft, who ran a demo during the briefing. This capability, she acknowledged, has what she called “a slight impact” on performance in terms of CPU churn and a slight memory hit.
Code analysis is another one of those things where typically, static analysis or analyzers would be run at maybe build time or check-in, or run on a CI server. Montgomery said that the closer one can bring it in to get the hints in the editor, “the light bulbs in the editor are going to pop up, the IntelliSense, the warnings… You can see exactly what’s happening as you’re making changes. This gives developers confidence they can move at the velocity that modern development requires them to.”
DevOps comes to Visual Studio 2017
This release brings database DevOps to Visual Studio 2017 through the ability to configure a CI/CD pipeline directly from the IDE, as well as through the integration of Redgate tools. This, Montgomery said, will enable developers to incorporate their databases into DevOps to accelerate release cycles. Redgate’s SQL Search will help developers find data fragments; ReadyRoll Core lets users configure data as code, and develop and deploy databases in Visual Studio with migration scripts; and SQL Prompt Core lets users write, format and refactor SQL code as they would other code.
As for the cloud pillar, Montgomery explained that Microsoft containers play a big part in the development story, with IDE integrations with the .NET Core, Azure applications, microservices, and Docker containers, according to a Microsoft blog post. Developers can now build environments for a Docker image in the Azure Container Service. “They can stay in Visual Studio and take advantage of Docker,” he said.
On the mobile side, Xamarin tools (Xamarin Forms Previewer and improved Xamarin Forms XAML IntelliSense) are now included in Visual Studio, and some of the technology has been open-sourced. The preview of Visual Studio Mobile Center (“mission control for mobile apps,” as Montgomery put it) has been updated with support for apps built with Xamarin and React Native. “Anything you can do in Objective-C, Swift or Java, you can do in C# and Visual Studio,” he said. “You get 95% code reuse with native characteristics.”
Also, new Connected Services in 2017 make it easier to connect mobile apps to cloud services like data storage and authentication. The first service to be delivered is a way to connect the app to an Azure App Service back end for authentication, push notifications and data storage with online/offline sync, according to the company’s blog.
More information on the update to Visual Studio for Mac Preview 4 with added .NET Core project support is available here. For Visual Studio Enterprise subscribers, more information can be found here. Visual Studio Dev Essentials members can enter their portals for training and support. More details on the Visual Studio Team Foundation Server 2017 Update 1 can be found on Brian Harry’s blog.