At Ignite 2019 today, Microsoft launched Visual Studio Online public preview. Visual Studio Online meshes Visual Studio, cloud-hosted developer environments, and a web-based editor. AI, big data, and cloud computing are shifting development beyond the “standard issue development laptop,” and Visual Studio Online is clearly a reflection of this trend.
Microsoft today also released Visual Studio 2019 version 16.4 Preview 3 and VisualStudio for Mac version 8.4 Preview 2. The former includes improvements to app development using containers, CMake project guidance and code analysis using C++, and vertical layout for document tabs. The latter includes performance, accessibility, and stability improvements to application development using .NET Core. Also worth a mention is version 1.4 of ML.NET, Microsoft’s open source and cross-platform framework that runs on Windows, macOS, and Linux. ML.NET 1.4 adds image classification training with the ML.NET API, as well as a relational database loader API for reading data used for training models with ML.NET. There’s also a new preview of the Visual Studio Model Builder extension with support for image classification training from a GUI.
But the real developer news of the day is Visual Studio Online. At its Build 2019 developers conference in May, Microsoft announced Visual Studio Online, a new web-based editor based on Visual Studio Code, in private preview. Now that it’s in public preview, anyone can go to online.visualstudio.com to access remote environments from common templates, clone from a GitHub repo, and edit code in a browser. Well, almost anyone. Visual Studio Online supports Chrome and Chromium Edge, “with support for more browsers on the way,” a Microsoft spokesperson told VentureBeat.
The release is part of a bigger “the future of work is remote” trend. Microsoft wants to let developers work from anywhere, on any device. Also at Build 2019, Microsoft released a private preview of remote-powered developer tools. Visual Studio Remote Development is an alternative to using SSH/Vim and RDP/VNC, which lets Visual Studio users connect their local tools to a WSL, Docker container, or SSH environment. The ability to develop against remote machines brings plenty of advantages, Microsoft said at the time, including the ability to work on a different OS than the deployment target of your application and to leverage higher-end hardware, along with multi-machine portability.
“Visual Studio Online philosophically (and technically) extends Visual Studio Code Remote Development to provide managed development environments that can be created on-demand and accessed from anywhere,” Microsoft explained today. “These environments can be used for long-term projects, to quickly prototype a new feature, or for short-term tasks, like reviewing pull requests.”
Visual Studio Online: Onboarding, Azure, IDE support
You can spin up a Visual Studio Online environment from your development tool or the web portal. The service will automatically configure everything you need: source code, runtime, compiler, debugger, editor, personal dotfile configurations, relevant editor extensions, and so on. Because environments can be created quickly and are disposable, new team members can onboard quickly and existing members can experiment with a new stack, language, or codebase without affecting a local configuration. Since environments share definitions, there should be fewer “works on my machine” bugs. Lastly, you can specify which extensions you want installed or configure a project environment with a Dockerfile.
“So with Visual Studio Online, you can actually set up the dev box once and/or you can just go up to a repo and we can infer … the developer environment that’s necessary to be able to code against that repo,” Amanda Silver, a director of Microsoft’s developer division, told VentureBeat. “And so with that, it takes the setup time that previously would have taken hours, or possibly days, and reduces it down to just a couple of minutes because you can amortize that across other developers, as well.”
Visual Studio Online’s environments are Azure-hosted. They scale so you can create as many as your subscription allows and throw them away when you’re done. For more demanding projects, you can tap a premium environment to get all the CPU and RAM needed. You pay for what you use down to the second, and environments also auto-suspend to eliminate accidental runoff costs. By moving your development workload to the cloud, you can use your remaining computing power on your personal machine for whatever else you need. Additionally, you can register and connect your own self-hosted environments to use Visual Studio Online for free.
Visual Studio Online supports Visual Studio, Visual Studio Code, and the browser-based editor. Visual Studio support is in private preview (wait list, as of today). Microsoft is also introducing the capability to create Windows-based Visual Studio Online environments. The Visual Studio Online extension works with Visual Studio Code, giving the free tool access to cloud environments. The browser-based editor, which is powered by Visual Studio Code under the hood, gives you the computing power of Azure as you code in a browser tab.
Personalization, collaboration, and AI
Visual Studio Online includes personalization features so you can set up your editor just as you like. Additionally, Visual Studio Online supports extensions in the Visual Studio Marketplace. You can also attach your own physical or virtual machines to your Visual Studio Online account.
Once connected to your Visual Studio Online environment, you can run your web app or API as if it was local — it’s only accessible to you. Microsoft plans to eventually support app casting so you can remotely interact with and share a running GUI application.
Visual Studio Online supports Visual Studio Code workspaces and Visual Studio’s projects and solutions, as well as IntelliCode, an extension offering AI-assisted code completion, and Live Share. IntelliCode got new features today: whole-line code completions and dynamic refactoring detection. Live Share is a real-time collaboration tool included with Visual Studio 2019 that lets developers edit and debug together. You can thus join Visual Studio Live Share sessions or perform pull request reviews on the go.