There is no stopping Visual Studio, and to prove that, it is now time for Visual Studio 2017. In fact, Microsoft Visual Studio 2017 is now generally available. Being that this is Codeguru, I’ll assume you know what Visual Studio is; however, do you know where Microsoft has focused their attention and updates in regard to this newest edition? Do you know what has changed with Visual Studio or the .NET products that often are associated to it? The following slides provide just a small glimpse of the some of the 1200 feature changes!
Visual Studio is targeting support any developer on any platform. In fact, they are working to be the best-in-class tool for every developer.
Microsoft has made Visual Studio 2017 generally available. Along with it, Microsoft is releasing:
* A new preview 4 of Visual Studio for Mac.
* Update 1 for Team Foundation Server 2017
* A new Visual Studio Enterprise subscription that has Redgate Data Tools as well as enterprise DevOps Accelerator
* A preview update of Visual Studio Mobile Center
* and more….
Microsoft made several changes around Visual Studio 2017. There are four key areas where they focused. This included the fundamentals of programming and the IDE, Cloud, Mobile, and DevOps. Each of these areas have seen a number of improvements. Overall, with Visual Studio 2017 there are about 1200 new features. I’ll cover a few of these improvements in the following slides!
Before you can jump into features, you need to install and start Visual Studio 2017. With the new version, Microsoft has again reworked the starting setup screen to try to make it easier and better for you to get started or to load projects. You’ll be able to select the various options you want quickly and easily. The setup becomes a lot more streamlined than some of the past versions.
The overall intent is to get you into your projects faster than before. Once you have set up Visual Studio 2017, you should find that the start time of apps is faster. Microsoft stated that they can be up to three times faster than with Visual Studio 2015. Once started, they’ve also included starting points for even more of the most common scenarios that developers tend to use.
Of course, the one thing I quickly noticed when installing Visual Studio 2017 Community Edition is that if you install all of the options for developing applications, you’ll quickly pass 50 GB of needed disk space!
Microsoft has worked to increase developer productivity in a number of ways. The focus has been to try to move tasks earlier in the development cycle where it is easier and cheaper to address issues. This is referred to “Shift Left” as can be seen in the image. Visual Studio’s “edit and continue” is a “Shift Left” feature. With Visual Studio 2017, there are other areas where Microsoft has shifted left.
One area where Microsoft is shifting left is with unit testing and code analysis. When you are running the IDE, you’ll now have access to Live Unit Testing. You will get near immediate testing feedback on your code. If a line of code passes your test, you’ll see a check mark. If you see an X, you know the code failed. A dash means the code isn’t part of a test. As you can see in the slide, the feedback is available while entering and updating code.
There will be a small performance penalty when using the IDE; however, the testing is done via a separate process, so on most systems the performance impact will be minimal. You also have the ability to turn tests on and off.
All of these changes should help reduce the time it takes to find issues and lead to cleaner code before it is checked in.
A number of features have been added in Visual Studio 2017 to make life easier. These include enhanced navigation with things like an improved “Goto All” that lets you to do a complete search for any file, type, member, or symbol declaration in a solution.
Sometimes, the most helpful things are the little things. One such little thing that you might find extremely useful is the Run to Click feature. When debugging, you now can hover over a line, which will cause a small icon (or glyph) to be displayed. You then can click this to continue the debugging to that line.
Another little addition that will be appreciated by many developers is the ability to refactor your type and file names so that they match. In the image, you can see that the type BikeWorkout does not match the file name, which is BikeWorkouts (with an ‘s’). A new refactor allows you to simply right-click one of these names and then choose to do the rename. This avoids forcing trips to the Solution Explorer, and thus makes this task small, like it should have always been!
There are times when Visual Studio helps, and there are times when that help can be overwhelming. To make it easier to find what you want faster, Microsoft has added a number of filters to the IntelliSense suggestions that are offered in Visual Studio. You can see in the image the various kinds that can be selected to reduce the number of suggestions. You simply click the icon that corresponds to what you want.
In addition to being able to run test and profiling, you also can set up custom rules and checks to make sure standards and best practices are being met. Violations of such rules can be greeted with the same treatment as the refactoring and checks as errors within the code. Such test can stick with the project, so that it applies to everyone working with the code. These best practices can be stored in a config file. You have the ability to set up these code style rules, which can be suggestions, warnings, or rules.
The Cloud is obviously a big push in the developer space. With Microsoft having Azure, it should be no surprise that Cloud is a big focus for Visual Studio 2017 as well. A number of built-in tools will help make tapping the Cloud much easier. This includes updates to .NET Core, Azure applications, and more. With this new release, Microsoft has focused on making it easier and quicker to use the Cloud. In many ways, it is seamless.
Related to the Cloud is .NET Core. Along with Visual Studio 2017, .NET Core Tooling 1.0 was released. .NET Core includes the ASP.NET Core and the Entity Framework Core for building cloud and server applications and microservices. Additionally, Microsoft has focused on adding better container support, with Docker functionality being included in the development process. Visual Studio supports building containerized applications on both Windows and Linux. Microsoft has worked to make using containers as simple as doing a right click.
In the past year, there have been nearly one million downloads of the Xamarin tools, so it is no surprise that that Microsoft has integrated it with Visual Studio development. One of the additions you’ll see in Visual Studio 2017 with Xamarin is the Xamarin Forms Previewer that lets you see how forms will render. You’ll be able to see in real-time the rendering while still in Visual Studio. Other improvements include better IntelliSense, connected services that make it easier to connect mobile apps to cloud services, and more.
Of course, Xamarin isn’t the end-all, be-all for mobile development. You also can use Apache Cordova as well as the C++ cross-platform libraries.
Microsoft also presented the Mobile Center. This is the centralized location for managing your mobile applications—any of your mobile applications.
Microsoft also has aligned Visual Studio along with Visual Studio Team System, Team Foundation Server, Application Insights, and Visual Studio Mobile Center as part of their DevOps solution. CI/CD (continuous Integration/Continuous Deployment) is an underlying theme with many of the updates that have happened.
Microsoft announced the Enterprise DevOps Accelerator program. This includes Visual Studio Enterprise, the Continuous Integration/Continuous Deployment (CI/CD) and testing services, and on-site experts coaching in DevOps.
Support for Visual C++ for Linux is available in Visual Studio 2017 as well. This includes support for Linux development with C++ in a manner that allows you to use any of the Linux distributions. Support in Visual Studio includes IntelliSense for GCC. It also includes GCC options enabled in the project system. You can debug your Linux applications as well as use the Microsoft remote build system or you can build your own X64, X86, and ARM targets.
Microsoft had added a few things for the Visual Studio 2017 Enterprise Subscribers. This includes extending the Pluralsight subscription to one full year. It also includes a 25 seat Office 365 as well as a trial subscription for Parasoft and for WhiteSource.
Microsoft Dev Essentials is a program that provides free tools, services, and access to training. This includes credits that can be used on Azure, a VSTS account for up to five users, and access to App services, HockeyApp, and Application Insights. With Visual Studio 2017, the program has been updated to add additional features. This includes a three month subscription to Opsgility.
At the time of this writing, there is also access to trials of other software including SQL Server Developer Edition, Windows R Server, Parallels Desktop for Mac Pro Edition (3 months), and Windows Platform VM. Training offerings include a 3 month subscription to Pluralsight, Xamarin University courses, and more. You can find more on Dev Essentials at https://www.visualstudio.com/dev-essentials/
As of today, Visual Studio 2017 is generally available for download. You can download the Community Edition and play around at no cost. Visual Studio has been around for 20 years and continues to be popular. In the past year, Visual Studio has grown active users by 25%. Visual Studio Code has gathered 1.3 monthly users. Visual Studio Team Services has reached 5 million registered users. The Microsoft Visual Studio Dev Essentials program has over 1.4 million users.
I’ve barely scratched the surface of what has been released this week. Additionally, on those things I have mentioned, I’ve barely mentioned what they can do. Over the coming months, look for more details here on Codeguru. If you are using some of the features, feel free to contribute a tutorial. We’d be happy to get it posted!