On Tuesday, Microsoft released Visual Studio 2019, the latest iteration of its integrated development environment (IDE). The unveiling started at 5 pm UK time and finished at 1 am the next day. Was it the truly integrated environment that your developers have been waiting for?
Back in 1998, when Microsoft launched an early version of Visual Studio, I was lucky enough to speak at the launch conference tour, introducing the developer community to Visual C++ 6.0 and helping them better understand why it was such a big deal. It was the first time VC++ came with Intellisense – an exciting addition back then!
This time around, on launch day Microsoft hosted a day-long virtual launch streamed worldwide — complete with virtual after-party — inviting key program managers and developers to introduce and explain the benefits on offer.
For me, Visual Studio 2019 offers more intelligence, better collaboration, enhanced reliability and speed, and it blends this across a typical project timeline. Everything from development and debugging, to testing and deployment are enhanced with this new release. So, let’s look at some of the features and see what’s new.
A cleaner and simpler way to code
The first thing users will notice when moving from Visual Studio 2017 to 2019 is the faster start-up time and cleaner UI. The idea behind this is to get developers to their code faster. Gone is the complex tree structure in the start dialog; instead there is a search function to find the right new project type faster.
The start screen not only lets you pin important projects, but it also provides direct access to clone a GitHub repository, and quick links to create associated Azure resources.
This simplicity carries through to the IDE, which features a cleaner menu system and better use of screen real-estate. Here, the code’s colour coding has been tweaked to improve readability. This is thanks to Microsoft’s culture of learning, taking input from its daily user experience (UX) labs — and the feedback shows in the final product. Visual Studio 2019 supports a variety of languages from C#, F#, XAML and C++ to TypeScript, Python and more.
As well as colour coding, the VS Editor has lots of code style automation, such as auto parameter wrapping, aimed to make each of your keystrokes more efficient. The VS code editor now supports Unicode characters as well so, if you are particularly proud of a section of code and so inclined, you can add emojis to your code.
Perhaps the standout feature for Visual Studio 2019 is the addition of artificial intelligence (AI) and machine-learning to various IDE tasks. AI can potentially uncover more code issues than static analysis alone and can offer more accurate suggestions for autocompletion of code. It includes one-click code clean up, as well as a document health indicator and allows developers to easily apply multiple refactoring rules at once.
The AI was trained on highly popular open-source projects for its recommendations, but if you prefer an in-house style you can get custom recommendations by training itself on your own code. The real power of AI will gradually be unlocked as the system continues to learn best practice.
In the long term, I expect this will improve the consistency of code, especially on larger, more complex projects. Here, AI can not only assist with the more tedious elements of coding but can help to blend code more uniformly from different users and make code more readable overall.
Collaborate with Live Share
Most developers will understand the pain of reviewing and editing code on someone else’s machine. With a development environment as complex as Visual Studio, it’s easy to be distracted by finding that the windows are all in a different place on someone else’s setup. When you’re under pressure to fix a bug, you need all the tools right at your fingertips.
More than just sharing your screen, Live Share enables users to co-edit and co-debug in real-time. You share your whole Visual Studio environment, and your colleague sees your files, watches, commands, breakpoints, etc. in their own Visual Studio. You don’t need to have specific workloads installed; just hitting F5 can run it on their machine!
Users collaborating with each other can independently move around each other’s code in the Editor, annotating and highlighting as they go. This is great for accessibility-for-all. We know that code development can be a very personal endeavour, sometimes more of an art than science, and so it helps that users can still collaborate with others while retaining the benefit of using their own setup. You view and debug their code with your own layout, colour scheme and preferences, so you concentrate on finding that problem without distraction.
Shared debugging promises to not only speed up but improve the quality of applications. Visual Studio 2019 comes with other new features to help find that elusive code issue.
A convenient search feature allows you to easily find a data value or name across the Autos, Locals, and Watch windows. Managed data breakpoints are also a great addition, allowing your code to break whenever an object changes in some way, from any scope. This means you can spend less time guessing where the code fault is as you’re taken straight there when the fault occurs. If you’re debugging on Azure, you can even use Snappoints and the Time Travel Debugger to take a snapshot as a problem occurs and then step back through the code to find the cause. Again – less guesswork for those intermittent faults.
Embracing the new
There are lots more features to Visual Studio 2019 that we won’t delve into here. For example, Azure and cloud-based development start to feel more at home, seamless and integrated into the IDE. It also comes with a preview of .NET Core 3.0. If you want to find out more, the launch event is available on Microsoft’s website and on YouTube.
In summary though, it’s fair to say that Visual Studio 2019 is a good step forward. Not only does it signify that Microsoft has wholeheartedly embraced things like the open-source community – through the clear integration with GitHub, it also marks a shift to a more seamless user experience regardless of what language, platform or framework you’re working on.
What are your thoughts? Please comment. To get updates on Curo Services’s blog articles, reports and videos sign-up to the Curo Bulletin below.