135 comments

[ 3.4 ms ] story [ 165 ms ] thread
This might be a better link with more info (source): https://devblogs.microsoft.com/visualstudio/intelligent-prod...
Thanks for the link! That post explains the broader context of work that our team is working on to improve developer productivity moving forward.
Of course! I love the work the VS team is doing inside of MS Would like to see things like this, remote code, etc. open sourced though :)
Techcrunch is always voted above all press release or source blog links.
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?

This is actually a new product using the old product name.
Yes. The product/service now known as Azure DevOps was originally called the Team Foundation Service, then Visual Studio Online, then Visual Studio Team Services, and now it's Azure DevOps. This Visual Studio Online is a new product/service.
One of these years they'll get the name right! I typically refer to it as "Whatever they're calling VSTS this week"
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.

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.
I just want to put something out there since yesterday somebody mentioned that the password manager isn't portable if it's Windows only.

I'd argue that portability is defined by how many people can use your product and a hardware native Windows only password manager runs on 93% of worlds desktop but a RAM hogging electron apps can only run on enterprise grade computers.

Qt apps are cross platform and portable, electron apps might be the former but definitely are not the latter.

But then they'll learn that I only debug with print statements.
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 :)
So basically, you can run Visual Studio Code in the browser you already have instead of installing a private browser to run it in?
What benefits does this provide to flat-out installing VSCode? I'm not seeing any here..
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.
Yep that’s correct. We’re making the desktop clients remote-capable, and the providing the web editor as a “companion” experience. We want to enable devs to use the right tool for the right job.
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.
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?

Adds to development ecosystem for chromeos.
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.
Sounds similar to the "deployments" functionality in JetBrains IDEs.
Yes emacs does it using Tramp, syncing remote files while editing locally, but I thought Eclipse also supported it.
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.
Sorry, Visual Studio Online? AKA Azure DevOps a few months ago? Surprised someone decided to pick the same name up that quickly. The name makes a lot more sense applied to this team, though :)

n.b.: MS employee, interned under the org f.k.a VSO a few 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?

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
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.

Interesting. You might want to try gitpod.io to have multi-user support.
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.

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.

Good question!

I prefer Atom because I use it since the early days and I am so used to it. The whole workflow is super awesome and everything is simple and clean. I don't have any performance problems nowadays (this was a big problem years ago) so I have zero complaints.

It's hard to switch, I tried VSCode, don't like it and have no reason to switch because _for me_ Atom just works and I love it.

I totally understand not wanting to switch. Just curious if there was anything cool I was missing out on.

Glad to hear the performance now is better now than it was back then!

(comment deleted)
Very nice - moves in this direction will give more developers the ability to use lower-end computers like Chromebooks to do just about everything.
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.

Well, you might be biased by the fact that you are fluent in emacs and/or vim. 90+% of modern programmers use heavier IDE's in their work.
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.
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 .

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.
>>“running on an iPad Pro”

I was under the impression that browser based IDE won’t work on iOS because safari (or maybe UIkit) doesn’t support some type of controls.

I can’t find the mention but I read that here at HN not long ago

Afaik the WebKit fix is in, but hasn't shipped in iOS yet (as of 12.2)

https://bugs.webkit.org/show_bug.cgi?id=149054

Similar topic for Android: I am guessing for Android, VS Code has some workaround for Electron to work with virtual keyboards? Browser based IDEs won't work on Android with a touch keyboard:

https://bugs.chromium.org/p/chromium/issues/detail?id=118639

"it's a discussion we've had internally many times. The Android Keyboard team, however, has decided that key-codes are not the way to go... and I cannot say they are wrong.

While there are certain advantages to key-codes, they are also very limiting. They get in the way of auto-correct, auto-suggest, swiping, voice dictation, and many others. There are many possible capabilities of a soft "input method" that do not fit the paradigm of key codes."

Same (kids in Virginia Beach School system) - they've standardized on Chromebooks so it makes sense.
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.

> 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.

Has Eclipse gotten any better for languages not named "Java"? I tried it for a while for C development (maybe 8 years ago?) and it was terrible. As in "I don't even know where to start fixing this" terrible.
> Has Eclipse gotten any better for languages not named "Java"?

I don't know, but Eclipse Che isn't Eclipse in the same way VS Code/Online isn't Visual Studio.

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.

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".
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!
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.

Thanks! We currently use OT for the collaborative editing experience behind Live Share.
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?

Enabling the ecosystem is a big focus for us moving forward, so I’d love to chat further about your scenario and requirements. Feel free to ping me at joncart@microsoft.com and we can setup a quick call.
The offering of www.gitpod.io also allows to operate an online IDE similar to VS Code for your users: You could host it yourself for your users or gitpod.io can host it for you. In any case: custom extensions, integrations, and branding is possible.
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?
What does "tunneled" mean in this context?
What I meant was: can my code be read by microsofts servers? (so tunnel = ms-server connects to the server containing the code and then displays it in the browser or sends it to my editor)
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!
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.
Similar to gitpod.io but that one is faster to spin up, at least for OSS
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.
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.
:+1: for live share from me too. It worked really well when we used it within NZ and then back to the main office in the UK. It’s been really useful for helping some of the guys back there
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.
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.
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.

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!
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...

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.")

After embracing open source, they appear to now be extending it...
That's the exact thing I thought with this. How are they that without a clue as to the world right now when they do stuff like this?
I'm guessing they concerned about just enabling Amazon cloud. Amazon has a way of taking stuff and not returning much.
After embracing open source, they appear to now be extending it...

This is an add-on to Microsoft’s open source editor... Is your concern that Microsoft has embraced VS Code, is now extending it, and has the sinister end goal of exterminating VS Code?

What happens is they extinguish the competing alternative open source products, by taking mindshare and users from them.

Then once the alternatives are no longer so viable, they use their dominant market share to their advantage and the detriment of users.

It's what google has done with Android, Chrome, Gmail.

What happens is they extinguish the competing alternative open source products, by taking mindshare and users from them.

Oh my.

That’s called “competition”.

You are mis-construing EEE.

https://www.theia-ide.org/ is vendor-neutral open source governed by an open source foundation (the Eclipe Foundation).
Theia is made by TypeFox and the Eclipse Foundation is developing the Orion IDE: https://wiki.eclipse.org/Orion
It's a bit more complicated, actually:

Theia is being developed by TypeFox, Ericsson, RedHat, ARM and more. Orion is being developed by IBM and more.

Both Theia and Orion are projects under the umbrella of the Eclipse Foundation: https://projects.eclipse.org/projects/ecd.theia https://projects.eclipse.org/projects/ecd.orion

The Eclipse Foundation (in the very most cases) does not develop software. They also usually do not pay developers. Their role it to arrange that companies and contributors play fair and nice when creating and using open source software.

(comment deleted)
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.

>who insisted that it would be eventually

Source Open Dumped, not Open Sourced. Open source product is a journey, not only just a destination.

(android)
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)

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!