I remember being at Build 2018 and asking the PM on the Live Share team if they had any plans to bring VS Code to the browser. Maybe do managed environments for labs and companies (what GitHub code spaces now is), would be great for education. Lots of students (especially non-CS nerds, like the physics kids with a CS requirement) find environment setup to be one of the hardest parts. He seemed to think I was a piece of shit for not ‘getting’ what Live Share was all about and how those other offerings (code spaces, running in the browser without install) were bad ideas not worth considering.
I think the moral of the story is, if you’re a PM, don’t treat your most enthusiastic customers like shit. Or maybe do, because it won’t actually have business impact.
I'm actually a PM for both Live Share, Codespaces, and some of our education-related experiences (e.g. the GitHub Classroom extension for VS Code). A web client for collaboration, with zero-install/onboarding, has always been our north star, and so your intuition/feedback was 100% right back in 2018.
Now that we have Codespaces, vscode.dev/github.dev, and Live Share support for the web, we're actually looking to further optimize our support for education, since we believe we have a lot to offer. In fact, I'd love to connect and hear your thoughts, to make sure we're going in the right direction. If you'd be interested in letting me make up for that terrible conversation in 2018, you can reach me at joncart@microsoft.com. Thanks for sharing this feedback, and letting us know where we can do better.
"I want to share an anecdote about me that is tangentially related to the article. I'm not going to comment on the article, but the title reminded me of something that I thought of once, or maybe something that happened to me. I'm pretty smart so I'll share it with my fellow smart people here now. It's about me.
Back in 2003 I was running an FTP server from my garage. It was running on one of the new Slackware BSD boxes that were popular at the time. We didn't have many users but one that we did have was Jamie Zawinski - actually he was my roommate at the time.
We used to spend most evenings coming up with new compression algorithms and practicing Vim exit sequences and ..."
Yeah anyway I'm not a HN comment generator AI but it's crazy how many comments here are just "let me tell you a story about me".
It happens on twitter too apparently but then I would have to use twitter.
Haven't looked into it for a while, apparently it was bought by Amazon and you need an AWS account? Back then it was just open the site and you're coding
Being a PM with a closed mind doesn’t qualify you. Seeing conferences as opportunities to learn new ideas or even hearing from existing customers can bring a lot of value.
> Maybe do managed environments for labs and companies (what GitHub code spaces now is), would be great for education.
I agree. There is an entire class of problems that attendees and educators continue to put up with when they shouldn’t need to because these concerns can be removed through automation. I dumped my thoughts about this over at https://www.gitpod.io/blog/workshops-as-code
Advice I received early that has stuck with me (and that I have found to be true): "Environment setup is the hardest part".
This was true for me in school and has remained true through multiple professional teams.
Otherwise, you might be the one that gets fired, probably like this guy.
However, I'm not sure who this is for. Downloading and installing an application is not a particularly big ask for the type of people who use VSCode. The browser version will always be a compromised experience, given the inherent limitations of browser applications. Even if it works 99% of the time, that 1% would add enough friction to make it more of a hassle then it's worth.
The post gave some use cases involving hardware that can't easily run Desktop VSCode (e.g. iPads and Chromebooks). I just don't see that being much of a use case though, except in desperate circumstances where a more capable dev machine isn't available.
If there are some use cases I'm missing, I'd love to hear about them! This is a pretty new concept, and I certainly don't know how everyone likes to code. But from my perspective, I struggle to see any situation where someone would choose to use this, and few situations where someone would have to.
Off the top of my head: Complete remote state. Open vscode.dev on your desktop, work for a while. Then open vscode.dev on your Macbook Air later, and be in _exactly_ the same state. I don't mean, the same project, I mean the text cursor is at the same position in the same file with the same set of tabs open.
Need a GPU for some CUDA work? The only question is how many GPU cores would you like.
Could your next engineering hire's onboarding guide be: open vscode.dev/company/workspace, click the "run all tests" button. OK, you're done, please pick the topmost "ready to start" ticket from the queue.
This particular implementation (opening local files via browser) sounds rather useless.
It's like how nerdy types could easily slap together their own Dropbox, with rsync and duct tape (as per the famous comment), but most didn't - plus the world is not just full of types who'd do it. And then MS can start adding all kinds of collaboration tools built in, from pair coding to bug tracking, time tracking and so on.
I can imagine an enterprise giving devs just this + something like local/Cloud VPS/CI/CD environment to work in. Immediately reproducible, no hassle, secure, and so on.
>The browser version will always be a compromised experience, given the inherent limitation
Well, offline VSCode is a glorified browser as well.
That sounds horrible.
Not really, it may use electron for the front end, but a huge amount of what makes vscode useful and fast is the native binaries that power all of its functionality.
Let's be honest, setting up and maintaining your dropbox clone, versus installing one executable once, are not the same kind of "easy".
> And then MS can start adding all kinds of collaboration tools built in, from pair coding to bug tracking, time tracking and so on.
But they can do that just as easily today with the vscode app. The fact that this runs in your browser does not help (or hinder) at all: As you said, offline VSCode is just a glorified browser.
> I can imagine an enterprise giving devs just this
presumably they would have to give you a laptop to access it, and any laptop that can run it in the browser can run it offline, this is 99% the same codebase.
Overall I also don't understand where this fits between offline VSCode and Codespaces. Codespaces makes sense because you don't even have to clone your code, and the compute/build happens elsewhere. Plus collaborative features can be added with no hassle because authentication is already baked in.
But this seems like it brings 0 value over offline, except skipping a 30 seconds install, once.
It's the opposite, you download an OS that runs VSCode. That OS is a web browser. It's just that it's an OS that runs on other OSes.
Apparently current generation never worked in classical UNIX development environments.
Anything where I can just say "go to this website, start typing python/javascript, see cool stuff happen" is cool.
"This simple gateway to the local machine quickly opens some interesting scenarios for using VS Code for the Web as a zero-installation local development tool, such as:
* Local file viewing and editing. Quickly take notes (and preview!) in Markdown. Even if you are on a restricted machine where you cannot install the full VS Code, you may still be able to use vscode.dev to view and edit local files.
* Build client-side HTML, JavaScript, and CSS applications in conjunction with the browser tools for debugging.
* Edit your code on lower powered machines like Chromebooks, where you can't (easily) install VS Code.
* Develop on your iPad. You can upload/download files (and even store them in the cloud using the Files app), as well as open repositories remotely with the built-in GitHub Repositories extension."
Also various interesting URLs are now possible:
"For example, change https://github.com/microsoft/vscode to 'https://vscode.dev/github.com/Microsoft/vscode'.
For Azure Repos, do the same. Change https://dev.azure.com/… to 'https://vscode.dev/dev.azure.com /…'."
"As you can see, vscode.dev URLs are a powerful way for us to deliver new, lightweight experiences. Another example is that Live Share guest sessions will also be available in the browser through the https://vscode.dev/liveshare URL. The sessionId will be passed to the extension to make joining a seamless experience."
If the sysadmin has blocked install of VSCode for security reason, I would also expect (s)he also blocked access to the special API that gives access to local files from browser.
Working on locked down machine where you are not allowed to have visual code? Seriously?
Working on a chromebook? Why?
Sorry to be negative but I feel sometimes you tech guys get excited about solutions to problems that doesn't actually exist in the real world.
Another data point: I used to compile VSCode for ARM to run it on a RaspberryPi and had to do it anytime there was an update.
So you need to use a Web browser as a code editor because... Installing a binary to the disk is not allowed?
It's crazy!
Anyone know how to disable that in Chrome?
I'm excited that VSCode.dev now supports the same thing with my company's current Azure Repos. Maybe they can give us a dot shortcut there now too. (If anyone is still active enough work on it to make such a change.)
Though I think the big new use case (that a lot of people are overlooking) is the new Theme Preview Playground use case in the article towards the bottom is a pretty great one. For instance, here's the VSCode theme I currently use because it shiny and rad and totally tubular:
https://vscode.dev/theme/jaredkent.laserwave
You don't have to download the theme to try it. It opens a fake workspace with several examples of code highlighting to get a feel for the theme. If you've got Settings Sync turned on you'll see how it interacts with your other settings (like which side you keep the "explorer bar" on) and if you decide to Keep the theme by clicking the button in the notification it pops up, your other devices will install the extension automatically and start to use it as soon as they next sync.
It's pretty neat and the article implies it's the first "playground" of this sort and probably not the last as they get other ideas of extension types people might prefer to test before they download.
This type of gatekeeping helps no one. We should be optimizing for lowering barriers to entry, not justifying making an already hard problem (learning to code) harder.
> ...except in desperate circumstances...
Some 15% of American adults are smartphone only. That percentage rises very quickly once you look outside of the G20. Those are also some of the people most likely to have their lives drastically improved by having access to the ability to code.
The fact that you don't have a usecase for a tool absolutely does not mean that such a usecase does not exist, nor does it make that usecase less valuable.
This is _huge_ for education. Many school districts are distributing managed chromebooks to each student because of their low cost of ownership and really all you could code on with those was replit.com. VS Code in the browser allows you to expose students to a programming environment just like what they'd use professionally.
This isn't meant for the developer with the latest 16" MacBook Pro, it's meant for people who can't necessarily install vscode on their machine. Maybe it's on a shared machine at a library and they can't install software, or maybe it's a Chromebook.
The caveat of course is that this supports connecting to a remote host.
> Your current browser doesn't support local file system access.
> You can either upload single files or open a remote repository.
A number of schools dispatch iPads and Chromebooks to their students. They can hook a keyboard and a mouse, and with vscode.dev they now have a decent dev machine.
Sure parents could buy a windows/linux/macos laptop, but outside of the cost, maintenance is not trivial (parents wishing to restrict access to whatever resource will have a harder time)
To push a bit farther, there are pretty powerful and usable Chromebooks, and iPads are now on par with most laptop when it comes to processing power, especially JS. Extending their role to be able to code a bunch is nothing to sneeze at.
And I think there are definitely cases where installing is a barrier to entry; think about people in locked-down enterprise environments, or students coding for the first time (on their own computers or otherwise). We're talking about an IDE becoming as readily available as Notepad (or even more so, since it's available on all platforms)
True, but IMO doing anything we possibly can to get from individuals who want to code -> actually coding faster and easier with minimal setup is a huge win. I remember starting out using codeblocks for C++. My biggest hurdle was figuring out how to get a compiler integrated with the IDE. https://repl.it is doing first class work in this space. I highly recommend you check them out as well.
I guess it’s for me, 15 years ago, backpacking across Southeast Asia without a laptop and stopping at Internet cafes to work on a side project. Back then, I had built a little ghetto web ide out of a textarea and chosen php for the project in question because it didn’t need a compile step. Today, this would let me do my thing in c# as nature intended.
But then also, today has crazy fast two pound laptops that would fit in that tiny bag I had back then. And no Internet cafes anymore.
So maybe not for me today, I guess.
Also, there's a new "Theme Preview Playground" which lets you write URLs to try theme extensions before you download them.
Codespaces is magic because it allows you to go from zero to fully configured dev environment, even for the most complicated environments, in five minutes via a preconfigured dev container
VSCode in the browser allows you to do this, but is only part of the story, and without the dev container, you miss the really valuable part of that story.
Especially since many extensions are incompatible.
https://github.com/gitpod-io/openvscode-server
https://github.com/cdr/code-server
Update: also check the discussion about their differences https://github.com/cdr/code-server/discussions/4267 (IMO both are much slower and worse than vscode.dev)
vscode.dev runs fully in your web browser, and files are read from local disk. There is nothing in the cloud. So yes it is faster, but serves a different use case.
They claim Github integration as well (although I have not tried that yet).
Will it eventually be open sourced?
Similar to github codespaces without a real computer to back it up
An online VS Code would not only make doing quick things with GitHub repos much easier but can be great for people just getting into learning programming because it doesn't require installing anything, but you are essentially starting out with a professional tool.
That and every once in a while I'm not on my own computer thus it would be pretty nice to kill time coding with a VS Code instance that doesn't need installation.
>"Code-server is the primary open source project we maintain. It allows developers to use a browser to access remote dev environments running VS Code"
1 - All of the screenshots are from a Mac. This never would have happened with the old MSFT.
2 - The performance of this is pretty good. Admittedly, I just played with this for a couple minutes, but even opening a folder with a bunch of files was snappy.
Even on the iPad it's just as performant (with 120Hz scrolling!), although as noted in the announcement, the file system limitations make it a bit of a pain to work with for ad hoc coding.
This doesn't read to me as the acclaim that you think it is. What I'm hearing is that the desktop application is as slow as a web IDE.
No doubt the people at VSCode have put every effort into making the application run well on desktop, but that's not to say that it comes close to "native".
For another point of reference, I'd say that Discord is "as fast in the web browser as it is on desktop", but that's no compliment; the desktop client is extremely laggy, even on an up-to-date Windows PC. [That said, relatively speaking VSCode is leagues ahead of Discord on this front].
Have you ever used VSCode on the desktop? I have never experienced any issue with VSCode nor have I ever wished it performed better.
See https://ghuntley.com/anywhere for tips and tricks.
After seeing this post, I started searching for a cheap and good tablet which led me to a soon-to-be released Android tablet from Nokia (less than 250€). Tablets are trending again! Coupled with other existing affordable solutions like Termux and Git, software development will attract more people regardless of personal background/status/location. We won't be seen as hipsters for long.
I am heading towards making life changes similar to yours (hopefully after Santa delivers his gifts on-time), so I feel grateful that you shared your experience.
That's on Apple, because they only allow Safari (or reskinned variants of Safari) on iOS.
And there's no reason they can't use the LSP in the browser as long as the actual language servers can run in the browser - pretty easy with most languages these days.
And yet, something at the back on my head is screaming:
WARNING!
I have the intuition that, on the long run, using more and more tools that are not on your own machine will create a dependency on systems big companies control. And something tells me we are going to pay for it in the end.
So I'll stay away.
Maybe I'm getting paranoid, but I don't regret not having ever created a Facebook account, or not getting on the 2010 hype train of magical SAAS services like Firebase that lock you in eventually.
We'll see in 10 years I guess.
Since Apple CSAM attempt, something at the back of my head screamed: Regroup. React. Change. Now.
Two months after Apple's "postponing for better implementation": My company runs on Arch/Manjaro (over old MacBooks Pro without T chip, custom PC's, etc). There is no iPhone in sight - my colleagues/employees found personal alternatives. I use DeGoogled Android device for banking app and flip phone.
Designers are with powerful Linux boxes: Windows VM - mainly Figma (I don't like it, but this is production standard now) and Affinity Designer/Photo. We use mainly Vim/Emacs/VSCodium/Sublime.
Vendor lock-in is inevitable, SaaS business logic is based on this premise. I don't care how cool it is, or how 'trendy', there is no way my company production code to be served as a "free petrol" for some monopolistic/"good intention" scheme which will feed AI advancements geared towards removing of skilled professionals.
I don't like SaaS apps direction at all. We have powerful hardware now, there are proven ways of collaboration with FOSS, moving everything in the browser is utterly insane.
I cannot hide how I feel about the lack of critical thinking in designers and developers today. They are always ready to jump on the bandwagon just to feel 'cool and important'.
Call me crazy, or paranoid. In 5 years time all will be transparent and obvious even for the most "optimistic" ones.
SaaS direction is the only way people have found out to extract money from open source tooling that devs don't want to pay for, it is either SaaS or hardware, so there you have it.
My experience? Chromebook / Crouton, usually offline with occasional network access. I ended up leaning hard towards SPA's + javascript, with most of the documentation being "legit" available. (JS, HTML, CSS, DOM, etc.) ...occasionally researching + pulling in libraries on occasion.
Good thing it's running on your machine and you can see and control when it updates.
code-server requires the backing server to be available at all times, and all editor features are pulled from the server via a websocket connection. You can pause and resume whatever you were doing from a different device.
Once you open the shortcut created from the previous step, it will open the webapp without the browser's UI.
Edit: I think I found it: File System Access API, supported by Chrome and Edge, not supported by Safari and Firefox
read: supported by Chrome
Not sure if Git is fully integrated in there (although, it being based on VSCode, it should).
The "remote repository" experience on VSCode.dev is a little more involved than just "fully integrated git" (it relies on the GitHub/Azure Repos APIs and existing VS Code extensions with Remoting support for some of it beyond just what raw git can provied), but they say in this article that it is extendable and they can and hope to add other providers in the future.
This was the first question I had while reading the blogpost: Do all my local files stay on my machine or do they get uploaded to a remote server?
What a strange joke to include on Developer docs.
I think assuming VS Code means open source is not right. The core of VS Code is open source but most fancy things (remote/ssh/docker usage, browser usage, code spaces like behavior, etc) are regular Microsoft products. Microsoft VS Code team still competes with itself (VisualStudio), the traditional competition (JetBrains, Eclipse) and third VS Code derivates (gitpod.io etc). We cannot assume that they give us the greatest and latest for free when they would cut themselves with that.
It took almost 30 years to finally get comfortable with the way native, mostly British, speakers pronounce R. It still doesn't feel right but I no longer fight.
I can still picture myself yelling my hard Rs at Google translate and it consistently failing to understand me.
Somewhat more on topic: I just realized I've been using nothing but Viscose for 2 years now. Still not as good as WebStorm but it's getting there. It wasn't nearly as good back in 2017.
Not sure I want it to be just a tab in my browser thought. Very cool nonetheless. We've come a long way
With web apps, I’m always curious how well they support offline use. In this case, https://vscode.dev/ appears to do pretty well. You can “Add to Home Screen” on iPad and get the app working fullscreen with WiFi off.
The problem is much dev tooling is indeed so fragmented and mostly missing strategy or direction. It’s like a collective stream of consciousness that has a bunch of directions in mind.
I wonder if MSFT has the vision to reinvent some of the visionary dev tooling from the last century for the modern web. That would be really something.
e.g. https://developer.mozilla.org/en-US/docs/Web/API/Window/show...
will give you access to a handle representing a directory on the user's real file system
https://developer.mozilla.org/en-US/docs/Web/API/File_System...
Does that imply there is functionality missing from the online version of VS Code?
Edit: Just tried brow.sh - only displays a white page. Might be a solution though
If I get to choose between this and my own local installation, of course i will run the local version.
Why would I want to sit in the browser? To continue on the same cursor position I was if I switch computer? Not worth it at all.
This may be what you're looking for? An agent runs on the development computer, and you get everything that it has (debugging, compilation, etc).
(jk, this is awesome, great job)