top | item 19840397

Remote-Powered Developer Tools

312 points| pavanagrawal123 | 6 years ago |devblogs.microsoft.com

131 comments

order

Titanous|6 years ago

It's worth noting that the new VS Code Remote Development extensions are not open source, which means that it is impossible for the community to fix bugs, and add new platforms/environments/features, or see the code that's running in their environment without reverse engineering.

https://code.visualstudio.com/docs/remote/faq#_why-arent-the...

Vinnl|6 years ago

Thanks for pointing that out.

(Also odd formulation of the question: "Why aren't the open soure? - We made the decision to keep them closed source." The actual answer is to the next question: "we may provide premium developer services.")

neurobashing|6 years ago

At Pycon, I spoke with a couple of people at Microsoft who insisted that it would be eventually. They were not, however, on the VS Code team, and speaking unofficially.

At the booth, the VS Code people said that the reason it was closed was because it fell into the "services" umbrella, which has a lot of closed-source components. They did not have a comment on if it was going to be opened.

noname120|6 years ago

This is an interesting development since there is already a multitude of online IDE's that are based on Visual Studio Code:

- StackBlitz: https://stackblitz.com/

- Theia: https://www.theia-ide.org/

- Coder: https://coder.com/

Overall, this is a prime example of one of the synergies that Microsoft was able to create from the GitHub acquisition which was the missing puzzle piece. Microsoft now has control over a complete software development pipeline: a development platform (Windows), an IDE (vscode, vs), a code versioning host (GitHub), continuous integration (Azure Pipeline), deployment (Azure).

If Microsoft can leverage its control over this complete chain to make the whole experience integrated and effortless as it's doing with Visual Studio Online here, it could well take over the market, especially in corporate environments.

greggyb|6 years ago

They had those things prior to GitHub as well. It's had a few names, but is currently named Azure DevOps and was previously Visual Studio Online.

lostintangent|6 years ago

Hey all! I’m the author of this post, and lead the PM team at Microsoft behind IntelliCode, Live Share, and the cloud-based remote development capabilities described in this article. We’re looking forward to working with developers, and learning how to further support teams who are looking to up-level their productivity and embrace further workplace flexibility (yay for remote development!). In the meantime, feel free to ask me anything!

oaiey|6 years ago

I understand your interest in running this service but it would be the right move to open source the basic service (docker manager, the vs Code Server inside of the containers) so we can host it on our own (or locally on a machine). That does not prevent you to run it with VS Online anyway. If you are interested in cloud hosting, it is anyway Azure/Github DevOps vs whatever Amazon has. And they do not know anything about IDEs.

growt|6 years ago

I'm interested in the privacy aspect of online.visualstudio.com. if I use it, does my code get tunneled through Microsoft's servers? Or is it end to end encrypted or something else?

achamayou|6 years ago

Our team has been using remote VS Code to build our project on Azure Confidential Compute VMs. The tool is amazing, and is a massive improvement over all other remote dev solutions we’ve tried. Thank you!

core-questions|6 years ago

What's the situations going to be like for third-party addons for this? My company has need of an online IDE for our end users to code against, and obviously writing our own seems like too gargantuan of a task that will likely result in sub-par outcomes.

Could we instead make some kind of first-class addon for VS Code Online, and funnel users into setting that up instead?

claimred|6 years ago

Hey, great post, looking forward for seeing brand new VS! Would you mind sharing a little bit of tech approach for your real-time collaboration features? OT, CRDT or a hybrid transactional approach of sorts?

Currently we are developing realtime collaboration for a CAD system called Renga and information is a bit scarce.

manishsharan|6 years ago

As an "oldtimer", I tried out AWS Cloud9 and other cloud based IDEs and came away deeply unimpressed . However my frame of reference was to my experience with my heavily customized IDEs.

However, my daughter's classroom uses only online IDEs. I think they got used to this style of IDEs when they got started with Scratch programming in elementary school. These kids are much more comfortable and productive on the online IDEs than my generation. They also share a lot and are more socially engaged while coding than I ever was.

So Kudos to all Cloud IDEs; I am not sure I will ever appreciate you but my kids sure will .

lostintangent|6 years ago

We’re enabling a browser-based experience because of the convenience and accessibility it can provide (e.g. running on an iPad Pro), but we’re also building remote development tools for Visual Studio and Visual Studio code, to ensure that folks can choose the right tools for them, and reap the same benefits of multi-machine portability, reduced setup, and anywhere access.

teachrdan|6 years ago

Can I ask what city or school district your child goes to school in that they have programming classes in elementary school?

michaelbuckbee|6 years ago

Same (kids in Virginia Beach School system) - they've standardized on Chromebooks so it makes sense.

dessant|6 years ago

But then they'll learn that I only debug with print statements.

lostintangent|6 years ago

That’s OK! That’s how _many_ devs do their debugging. We don’t want to change your workflow, we just want to make it simpler to setup and accessible from anywhere :)

jameslk|6 years ago

I can see more developers adopting a cloud-based IDE. There may be desktop apps, which will be Electron or PWAs (if the APIs ever evolve enough), but the environment will be fully remote. The benefit is all the set up will already be done: the IDE will provide all the same code formatting, linting, dev sandbox, environment configuration, debugging profiles. No set up of any tooling to make this work. New employees can be more productive from day one. If your environment gets fubar'd just reset it instead spending the day unbreaking your machine. The company will be able to limit bike shedding by having all the same formatting and linting rules pre-setup. Code interviews will be easier to conduct.

It's already being done to a limited degree by companies such as repl.it. Once it is customized per enterprise customer, that's when it will really take off. Microsoft seems to be in a good position to lead that.

tempguy9999|6 years ago

Some possible upsides certainly, but you don't see any downsides?

Lock-in leading to price hikes/interfaces changing at MS's whim/global outages of the services/loss of control over your own code/loss of network activity/being locked out for an arbitrary period because of payment errors or accidents/others.

I've had my chain yanked a few times and I don't trust any large company.

I can afford to spend a day unbreaking my machine (annoying though it is), commercially it just seems safer.

dragonwriter|6 years ago

> Once it is customized per enterprise customer, that's when it will really take off. Microsoft seems to be in a good position to lead that.

I think RedHat is way ahead on that front with Eclipse Che.

metamet|6 years ago

The articles mentions this at the end, but Coder offers a remote VS Code environment:

https://coder.com/ https://github.com/cdr/code-server

Anyone have experience with it?

CoreFailure|6 years ago

I've been using it on one of my personal servers and it's been a great experience so far. Especially paired with sshcode, which syncs your local vscode configuration with the remote server and runs it inside a borderless chrome window: https://github.com/cdr/sshcode

pixelHD|6 years ago

I use it in our lab, and it works very well. However, there's no multi-user support. So anyone who connects to the server gets served the editor with the same workspace.

That being said, I think they have the multi-user support in the roadmap.

tinyhouse|6 years ago

Haven't tried it but this seems useful. I know Google has something similar they use a lot internally. I guess one common use case for this is when you have code you need to run on a remote server but you want a nice development experience like you're developing locally (sometimes I see developers open an IDE on a remote server which is too slow). A better solution is working locally and having all changes sync automatically to the remote server. (yes yes I know, you can use vim or emacs...). If there are MS people here I'd be interested to hear their thoughts on this.

lostintangent|6 years ago

Check out https://aka.ms/vsfutures. In addition to Visual Studio Online (the web companion editor), we’re also building tools to allow developing against remote machines from Visual Studio and Visual Studio Code as well. In the case of the desktop clients, editing would actually happen locally, and synced with the remote environment. That way you have low latency editing + multi-machine portability and anywhere access.

theplague42|6 years ago

Sounds similar to the "deployments" functionality in JetBrains IDEs.

billfruit|6 years ago

Yes emacs does it using Tramp, syncing remote files while editing locally, but I thought Eclipse also supported it.

elamje|6 years ago

Very nice - moves in this direction will give more developers the ability to use lower-end computers like Chromebooks to do just about everything.

simias|6 years ago

Is the editor/IDE really the limitation? If anything web-technology-based IDEs are usually the ones wasting resources nowadays, my long-lived emacs session running the SLIME environment to interact with common lisp uses a meager (by modern standards) 110MB of RAM. I used a very similar setup 15 years ago on a computer with 512MB of RAM and a single-core 1.5GHz CPU.

You can already develop very comfortably on a chromebook if you're willing to forsake the bloat of the web. Actually if I can trust Wikipedia a modern Chromebook outperforms my main desktop machine a decade ago. Putting everything in the cloud doesn't strike me as a great step forward, although it could have its uses.

lostintangent|6 years ago

Exactly! We want to empower developers to work from anywhere and have the flexibility to choose the editor and device that makes them most productive.

ElatedOwl|6 years ago

I wonder if this will have Visual Studio's Go To Implementation feature. If so, I really hope this gets fully integrated in Azure DevOps repos.

It's a great experience right now, but I pretty often end up pulling the repository down just for Go To Implementation.

jullytta|6 years ago

Yes, it will. It's nice to see someone appreciates that feature (as the person that spent 1 month making sure it worked well for the PR scenario).

naikrovek|6 years ago

It's VS Code in the browser, so I am betting that it will.

headgasket|6 years ago

FWIW, I wrote a small script for remote dev called duplexrsync, love it so far. https://github.com/francoisp/DuplexRsync Haven’t tested on win10 yet but it should work, no language limitations and it’s 150 lines of open source MIT bash. EDIT: il someone tests this on win10’s Ubuntu sidecar thing before me, and if there’s a glitch besides the calls to homebrew that can be made optional, please send a PR! Cheers and the peace be with you!

kgwxd|6 years ago

Been using it every day at work for 4 years. Never even noticed the name change to "Azure DevOps".

Has anyone here ever used an online IDE, for anything other than very small tasks?

AshleyGrant|6 years ago

This is actually a new product using the old product name.

akhilcacharya|6 years ago

At Google it's very common to use the internal web IDE called CIDER.

At Amazon, some people use AWS Cloud 9 as their editor of choice but it's pretty uncommon in my neck of the woods.

lostintangent|6 years ago

We call Visual Studio Online a “companion” web editor, because we expect it to be mostly useful for quick tasks, or on-the-go access. We believe that the bulk of your work will still happen in an editor (which is why we’re building remote support in VS and VS Code), but a web-based client can be really convenient for things like quick edits, or Live Share sessions.

Communitivity|6 years ago

Anyone know if there will be an on-premises option for this? I'd love to have this but for various reasons we'd have to run it off our own servers.

Sephr|6 years ago

Seeing as Visual Studio Code was created with web technologies, this shouldn't be too difficult for a motivated individual to recreate.

meysholdt|6 years ago

www.gitpod.io has an on-premises option.

holtalanm|6 years ago

Just tried Live Share within VSCode the other day with a friend who lives in Hawaii -- It worked flawlessly after I worked around the issues signing in.

lostintangent|6 years ago

I’m sooo glad to hear that! Don’t hesitate to let us know how we can improve the product further, and also let us know if the direction we’re going resonates with you.

jpincheira|6 years ago

Remote work is here to stay, and love it when more companies and software products join in and start contributing to making it easier to work this way.

lostintangent|6 years ago

Better enabling remote work is one of our team’s primary points of focus. Between Live Share (https://aka.ms/vsls-why) and these new remote development capabilities, we hope that we can contribute to making things easier, productive and more enjoyable for everyone.

azhenley|6 years ago

I think I used this as an intern at Microsoft in 2016. Can anyone at MS confirm that this has been live internally for a few years?

I only ever used it to take a peek at repositories before cloning them locally. It had a fair amount of navigation features builtin, like Go To Declaration, but was not a Visual Studio replacement (like the article says).

hirsin|6 years ago

No - you're thinking the other Visual Studio Online which is now called Azure DevOps. It's "just" a source repository explorer with CI functionality.

GordonS|6 years ago

I guess this explains why they renamed the previous Visual Studio Online to Azure DevOps...

daviding|6 years ago

On trying to connect my Win10 VSCode Insiders build using this to a MacOS it says "Can't connect to mac: unreachable or not Linux x86_64 (Darwin x86_64)".

Is this limited to only Linux and MacOS being the host via OpenSSH here?

sdegutis|6 years ago

I think there's a typo, I think "Not that long ago, Visual Studio Code was Microsoft’s hub for all things DevOps, before DevOps was a buzzword." is meant to say "Visual Studio Online".

burtonator|6 years ago

Is this literally the same code that runs in the main Electron app just on the server?

I assume about 20% of it is going to have to be custom of course but still .. re-using a lot of the same code on the desktop is nice.

lostintangent|6 years ago

Yep! We want the experience between the web and desktop to feel cohesive and immediately familiar (not to mention extension interop). So it only made sense to share as much of the code as possible, to ensure we can provide the best developer experience!

krispbyte|6 years ago

Will this only work on Chromium since VSCode/Electrum are based on it?

naikrovek|6 years ago

"any device with a web browser" is what they said.

jamesgeck0|6 years ago

StackBlitz (another browser-based IDE using VScode) works in Firefox, although the experience is noticeably less smooth than in Chrome in places.

kevin_b_er|6 years ago

What's the license on this tool for anyone who's in the preview? Such things can often contain ugly things about irrevocable worldwide licenses to do as the host pleases.

geokon|6 years ago

the next step is ofcourse running an IDE remotely from a running program itself that can self modify. Like Nightlight for Clojure:https://github.com/oakes/Nightlight

my dream would be basically nightlight, but if the ide itself could self modify kinda like Emacs. Basically Emacs in Clojure that you could embed in applications or have applications run from it (the two would be equivalent)

ralusek|6 years ago

What is Microsoft's motivation for putting so much effort into VSCode? I don't understand the business of this particular product, and it makes me kind of uneasy.

farisjarrah|6 years ago

A) Visual Studio Code is OSS, so anyone can come help microsoft improve it, which in turn helps out their commercial Visual Studio Project

B) Gaining developer mindshare is very powerful. If you want another example of how powerful this is, just look at the dominance of Windows XP and Windows 7 in the developer market, which in turn, made a huge proliferation of software available for the windows eco system. They are basically getting developers to dogfood the OS and developer tools for them.

3) Microsoft can learn from how people use visual code and make the developer experience overall much more pleasant for their azure integrations. You get enough developers telling the C-Suite how awesome Azure is, pretty soon you are going to have companies switching off AWS to Azure because "it integrates so well with all the developer tooling I am already using"(<--- Which would be VS Code.)

jo-wol|6 years ago

So now you can't disable their "analytics".

kumarharsh|6 years ago

So... where does that leave CodeSandbox / StackBlitz?

nik736|6 years ago

Is there any way to run Atom in a browser?

I know this question sounds silly since it's basically a browser, but that it actually is similar to c9.

reificator|6 years ago

Serious question: Why prefer Atom over VSCode?

From my evaluations early on in both they seemed like the same thing but VSCode had more features (esp. built-in terminal) and performed significantly better.

I'm sure that there's been a lot of progress in the years since, but I haven't kept up.

I could see not trusting Microsoft with an open source project, but now that they own Github they have two open source Electron-based code editors, and I can't imagine that's going to last for long. So really I'd be more concerned for the long term health of Atom than VSCode.

bobblywobbles|6 years ago

What benefits does this provide to flat-out installing VSCode? I'm not seeing any here..

pier25|6 years ago

You can work from any device that has a browser without installing anything locally. If you work on different machines you don't need to sync anything.

codingdave|6 years ago

The article said that it wasn't intended to replace VS Code... it was more for quick edits or reviews, for example if you aren't on your main dev machine.

nsriv|6 years ago

Offers ability to spin up remote development instances, can make it possible to code remotely or eventually on any device you want.

brownkonas|6 years ago

Adds to development ecosystem for chromeos.

Frost1x|6 years ago

It provides Microsoft with tighter piracy control over their IDE with a better way to charge more for virtually the same functionality under the *aaS umbrella.

Oh, did you mean benefits for those not invested in Microsoft?

partiallypro|6 years ago

This has more or less been available for Azure Web Apps for a while now, it works great

christianmm|6 years ago

Similar to gitpod.io but that one is faster to spin up, at least for OSS

mpweiher|6 years ago

So basically, you can run Visual Studio Code in the browser you already have instead of installing a private browser to run it in?

pavanagrawal123|6 years ago

This might be a better link with more info (source): https://devblogs.microsoft.com/visualstudio/intelligent-prod...

lostintangent|6 years ago

Thanks for the link! That post explains the broader context of work that our team is working on to improve developer productivity moving forward.

mathnode|6 years ago

Techcrunch is always voted above all press release or source blog links.

fxfan|6 years ago

[deleted]

RockmanX|6 years ago

good! now they will have my code

juandazapata|6 years ago

If you use Github, they already do.