Microsoft’s Visual Studio family remains at the heart of its developer tools strategy: with Visual Studio 2019 the latest generation of its full featured IDE, and with Visual Studio Code’s monthly releases supporting developers on Windows, Mac, and on Linux. As always, Build saw plenty of Visual Studio news, with the highlights focused on helping you collaborate and write better code, as well as supporting new application development models.
Visual Studio IntelliCode GA
One of the more interesting Visual Studio innovations, IntelliCode builds on Visual Studio’s existing IntelliSense code completion tools with new AI features to add new coding assistance features. Instead of using rules-based systems to predict what you might be typing, IntelliCode uses the lessons learnt from thousands of GitHub projects to put the most likely code in its completion list.
IntelliCode is one of those technologies that’s a lot more useful than it sounds, and is perhaps best thought of as a way of pair programming with GitHub. By helping you write code it will also train you in best practices, all the while learning from the billions of lines of code that’s being developed in public.
Visual Studio Code Remote Development
With a new version of the Windows Subsystem for Linux on the way, with improved support for Docker Containers, it’s not surprising that Microsoft has unveiled a way of working with remote code in Visual Studio Code. Using the new Remote Development extensions, you’re able to work with code in WSL, in containers, or over SSH.
The Remote Development Extensions work by taking key elements of the Visual Studio Code platform, including the debugger, and running them on remote systems. Your local copy of Visual Studio Code is simply a view of the code on the system, handling editing, and saving, compiling, and debugging code where it belongs. As you’re working directly with the remote system you don’t need to worry about constructing a local replica of the target file system, everything is stored and run exactly where it’s meant to be.
By decoupling the user interface from the underlying code editor, Microsoft is able to speed up development across platforms and across container boundaries. With native Docker Linux containers coming to Windows with WSL2 later this year, it’s another example of how Microsoft is transforming the Windows development environment, taking it to where the code is.
Visual Studio Online
What if you didn’t need to spin up a development environment on your PC every time you wanted to look at some code, especially if it’s code that’s hosted in services like GitHub or running on Azure? As Visual Studio Code is written in TypeScript, it’s possible to take it out of its Electron shell and run it in your browser. And that’s what Visual Studio Online is, a web-based editor that you can quickly pick up on any machine (even an iPad) to look at some code, to make changes, and even share a Live Share editing session with a co-worker. You’ll be able to go to a URL, log in, and start working.
It’s a mode that should work well with another Visual Studio feature, cloud-hosted development environments. If you need a quick development space all you need to do is type a couple of commands to spin up a new environment from the GitHub repository or any other source code management system, loading all the dependencies you need to get started, without needing to provision on-premises hardware. When you’re done, save your code back to your repository and shut down your developer space. You can share the space with other developers, or connect to previously used spaces to test and debug your code.
Visual Studio Container Tools Extension
Containers are an important packaging and deployment tool for applications, where we can wrap our code and all its dependencies into an isolated user space that can run on any supported OS. Microsoft’s new preview release of an updated Container Tools extension for Visual Studio will make it easier to build and test containers, using Docker without needing to switch to and from the Docker CLI. You’ll need to have both Visual Studio 2019 and Docker Desktop to use it.
The extension gives you a GUI for working with containers in Visual Studio, with the ability to inspect running containers and examine their contents and their settings – without having to step outside the IDE to use Docker’s tools. You can start and stop, and remove containers, as well as viewing and searching any logs generated by the container. The intention is to make containers a first class citizen inside Visual Studio, allowing you to use Visual Studio’s tooling to work with logs and files, and to ensure that all aspects of a containerised application are covered, while keeping developers productive.
Visual Studio + GitHub Enterprise
The way we build code is changing. DevOps culture is becoming increasingly important, taking advantage of new approaches to continuous delivery. One key aspect of that is the increasing importance of source code repositories like GitHub.
Microsoft’s acquisition of GitHub means it can now change the way we purchase GitHub subscriptions, offering a bundle that ties a Visual Studio subscription to a GitHub Enterprise subscription. Where in the past you’d have had to buy separate subscriptions to both services, you can now combine your billing into a single subscription as part of an existing enterprise agreement. Existing EA Visual Studio subscribers can upgrade their subscriptions via a Step-up SKU.
It’s an important change, as Microsoft continues to refine its developer tools strategy, taking its tooling to where its developer audience is. With GitHub hosting most of Microsoft’s own open source projects, from the Windows Terminal to .NET, and with easy-to-install GitHub integration, bringing it to Visual Studio subscriptions makes a lot of sense.
The Developer team at Grey Matter are specialists in Visual Studio and Azure licensing, and can help you with a licensing consultation or technical advice for your use case. Call them directly: +44 (0)1364 655 181, or email: firstname.lastname@example.org