Intelligent Productivity and Collaboration, from Anywhere
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!
I’m a bit skeptical about the notion of bringing the (old-school?) VS projects into the VSCode fold. I thought VSCode was about escaping the complexity of VS and “starting over.”
VS Suite is much more an Enterprise-wise IDE than VS Code. Both a great at what they do, but pretty different on the user’s target. That’s my take on that.
This looks great! Can’t wait to try it out.
Thanks! We’ll be reaching out soon as we begin to onboard new developers into the private preview.
Can cloud hosted be deployed on prem?
We’re starting with enabling environments to be provisioned in Azure, but this is an area of feedback we’ll be looking to gather during the private preview. If you sign up, I’d love to chat with you further.
i originally wanted to complain that the Remote tools didnt work from the Mac. I now stand corrected, one has to use the Command Palette to initiate a connection. Maybe not the best way, but this works great!
Lol, good job!
In addition to the command palette, there’s also an SSH Explorer extension that you can check out: https://marketplace.visualstudio.com/items?itemName=ms-vscode-remote.remote-ssh-explorer. Please don’t hesitate to reach out with any feedback!
this is looks great, but will be the online collaboration tools will prone to conflicts? I hope it will 😁
Thanks! Live Share is actually built to mitigate conflicts when multiple developers are collaborating on the same files in real-time. If you run into any problems with this, please let us know. Otherwise, you don’t need to worry about that being a problem 👍
I’ve signed up for the preview. When will I get access?
Thanks for signing up! We’ve received a significant amount of interest, and will be slowly reaching out to folks over the next couple of months. Since we’re so early in the product lifecycle, we want to make sure we have the time to work closely with each developer, so we can listen and respond to their feedback before going broader. That said, we’re excited to work with everyone who signed up, so stay tuned, and we’ll reach out soon.
And now please integrate it into GitHub…
What kind of integration did you have in mind?
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 a little background, we have many VMs in Azure on which we install our SaaS application for various clients. We sadly need to also install VS on each VM in case we need to debug the application in the environment in which it is running. Will any of these features help our scenario so we don’t have to install VS and download source on each machine?
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 to dynamically provision entirely new dev environments, that are then capable of connecting to from Visual Studio, Visual Studio Code and Visual Studio Online.
This kind of cloud-based dev environment enables numerous scenarios such as…
1. Easily working from multiple machines without needing to replicate settings, dependencies
2. Being able to work from lower-end hardware/devices, while benefiting from powerful cloud-based compute
3. Being able to onboard new employees or freelancers, by simply providing them with their own cloud environment that they can connect to and begin working
Many large organizations already work this way (via remotely available, “elastically” provisioned dev environments), and we’re excited to provide a solution that can unblock this capability for the broader developer ecosystem.
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.
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 firstname.lastname@example.org. Thanks!
Wow – what an exciting time for Visual Studio!
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 🙂 .
this is the best thing you do , thanks alot
It’s a amazing work. Will it be open source like Visual Studio Code ?
Thank you very much for this initiative, very helpful! Cheers and keep up with the good work.
Can you give a date when this goes live?
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.