Developers today are encountering an overwhelming amount of complexity due to the growing emphasis on time-to-market, and a broader variety of technologies being used than ever before (e.g. polyglot apps, microservices). Additionally, teams are becoming more geographically distributed, which increases the need for efficient collaboration in order to maintain knowledge transfer within agile environments.
Over the past couple of years, we’ve spoken with thousands of developers, and learned that addressing these fundamental challenges required a new set of capabilities in your development tools and processes. As a result, our focus has been to significantly enhance individual productivity, improve team collaboration, and radically embrace workplace flexibility. To date, we’ve made a ton of progress (and are still iterating!) on the first two capabilities, thanks to feedback from the developer community:
- Visual Studio IntelliCode helps enhance individual productivity by instilling intelligence into the IDE. It does this by making things like auto-completion smarter, based on an understanding of how APIs are used across thousands of open-source GitHub repositories.
- Visual Studio Live Share facilitates real-time collaboration by enabling developers to edit and debug together, from the comfort of their favorite tools.
- We also have a rich code navigation experience to improve asynchronous collaboration, and enable developers to deeply review PRs via multi-repo, cloud-based language services.
Today, we’re excited to share an early look of three new capabilities that are in private preview, and will enable developers to work from anywhere, and on any device, while virtually eliminating the amount of setup needed to start productively coding.
Remote-Powered Developer Tools
After we released Visual Studio Live Share, we immediately heard interest in an adjacent scenario: individual remote development. In fact, this had been the #1 feature request on GitHub for Visual Studio Live Share for over a year. Being able to develop against remote machines has numerous benefits, such as working on a different OS than the deployment target of your application, being able to leverage higher-end hardware, and having multi-machine portability. Today, many developers want to do remote development, but aren’t necessarily satisfied with the experience of using SSH + Vim or RDP/VNC.
Last week, the Visual Studio Code team released the Remote Development extensions (for Visual Studio Code Insiders) to enable connecting your local tools to a WSL, Docker container, or SSH environment, while retaining the full-fidelity, editing experience in Visual Studio Code (e.g. extensions, themes, debugging). Today, we’re excited to share an early look at Visual Studio Remote Development, which will enable Visual Studio users to achieve the same benefits, and go beyond the limits of their local dev machines. We’re starting with C# and C++, and look forward to working with the community to define the experience. Sign up for the private preview to get future updates.
Developing a C++ app without any local tools installed
Cloud-Hosted Development Environments
Having remote-capable tools unblocks a ton of developer scenarios, but on their own, they still require you to manually manage machines. We’ve heard loud-and-clear that developers are spending too much time setting up their developer environments, and that it can get in the way of onboarding new team members or enabling you to quickly move between tasks. To simplify this, we’re announcing the private preview of a capability that can provision fully-managed cloud-hosted development environments on-demand.
When you need to work on a new project, pick up a new task, or review a PR, you can simply spin up a cloud-based environment, and let the service take care of configuring it correctly. This allows you to spend more time coding, and little-to-no time installing dependencies. You can then connect to these environments using Visual Studio or Visual Studio Code (or both!) which ensures you can use the right tool for the job, and maximize your personal productivity, no matter where you are.
Creating a new cloud-hosted development environment directly within Visual Studio Code
Connecting to an existing environment and debugging it remotely
Browser-Based Web Companion
Developers are highly opinionated about their editor, and commonly spend countless hours customizing them. As a result, you’d want remote development and collaboration capabilities directly within your existing tools, where you spend the bulk of your time working. However, in some scenarios, it can actually be more convenient to perform a task in the browser, such as making a quick edit on-the-go, reviewing a PR, or joining a teammate’s Live Share session. To address this, we’re excited to share an early look at Visual Studio Online, a new web-based companion editor that compliments the Visual Studio family, and ensures you can work effectively from any device.
In the future, you will be able to navigate to https://online.visualstudio.com and access any of your remote environments. Because Visual Studio Online is based on Visual Studio Code, it will feel immediately familiar, and benefits from the rich ecosystem of extensions you already know and love – while supporting both the Visual Studio Code workspaces, as well as Visual Studio’s projects and solutions. Additionally, it will support IntelliCode and Live Share out-of-the-box, which ensures it provides the rich collaboration and productivity features developers need.
Editing a web application in the browser via Visual Studio Online
We Need Your Feedback!
We’re excited to share this progress, gather feedback, and learn how we can continue to improve team-based productivity moving forward. We believe that the combination of these experiences can address the needs of modern teams, and ensure you can achieve a high level of productivity, collaboration, and workplace flexibility. If you’re interested in getting your hands on early bits and chatting with our team, you can sign-up for the private preview here. We look forward to hearing from you and sharing more updates in the near future!
This is Amazing. Waiting to code on my iPad Pro using Visual Studio Online. Thanks.
I’m with you on that one. I have this amazing iPad Pro that I would love to be using VS Code with to do some real development work on. Most of my job is writing mobile web apps for tablet use. It would be nice to use the same hardware I write for.
Can’t wait. Fingers crossed that it won’t be long.
Can you give a date when this goes live?
Thank you very much for this initiative, very helpful! Cheers and keep up with the good work.
It’s a amazing work. Will it be open source like Visual Studio Code ?
this is the best thing you do , thanks alot
Interesting, that with .NET Core cloud development it is quite easy to create dev environment from scratch on any machine. its so good to use every one evry where and most usefull 🙂 .
Wow – what an exciting time for Visual Studio!
http://tcj.x10.mx
Interesting, that with .NET Core cloud development it is quite easy to create dev environment from scratch on any machine. But traditional on-prem development environment targeting SharePoint on SiteCore is quite painful to set up. Are these on-prem scenarios considered as supported options for cloud-hosted dev environments?
We plan to use the private preview to learn which scenarios and application types are most valuable to developers, and then figure out how to best accommodate them. SharePoint is an area we’ve heard interest in already, and so I’d love to hear if this would be beneficial to your team, and if so, chat further about. Feel free to email me at joncart@microsoft.com. Thanks!
I'm very confused by this blog post.
How are Remote-Powered Developer Tools different or the same from the existing Visual Studio Remote Debugger? Why would I want to provision a cloud environment that just builds my code? Presumably if I'm already running VS/VSC I can build my code locally, no? I legitimately do not understand the use case.
What is a "cloud environment" and who will this be accessible to? MSDN subscribers? Pay-as-you-go? Free?
For...
Apologies for the confusion, and thank you for the feedback. As you mentioned, the Visual Studio Remote Debugger provides a great solution for remotely debugging applications. However, it doesn’t provide a full remote development solution, that you could use to edit, build, lint, run, debug, test, etc. your application.
Additionally, the Remote Debugger is something you would install on a machine in order to remotely debug it. “Cloud Environments” is a service that allows you...
I have a feeling this is two features merged into one: a browser-based client for the remote extensions AND the Azure remote extension. Was there a specific reason why these two were not separated? Using the remote SSH extension from a browser on lower-end devices would be mighty useful.
And now please integrate it into GitHub…
What kind of integration did you have in mind?