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.
There are big changes happening in development ecosystem which will happen faster then people realize. Soon more than 80% of the IDE market will have built-in functionality to connect to developer environments running in the cloud, while keeping the editing experience you are used to from your Desktop application in a very short time and Gitpod’s IDE architect went into detail about this over at http://gitpod.io/blog/cloud-ide-history
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.
To perform experiments it's even better. I have multiple directories with sample/initial projects from many languages where I was just feeling out a new framework or library or concept. Then months pass and I can't run them again because the specific dependency is no longer installed on my laptop. Now I can create these new study projects and know that it'll run in seconds when I get back to it.
Plus not all of us can work from highly performant workplace-provided workstations. I have just my laptop to work with. Imagine running Docker and Chrome and Spotify and maybe macOS decided that was the right time to hog my disk and do file indexing while I'm running tests...it's a hassle I'm glad to be rid of. I'd rather a company get me a Gitpod/Codespace and I can separate things cleanly.
The cloud + browser is back to the future.
Regarding Multics, it was a failure only for Bell Labs themselves, as the project kept going and had still a couple of years for itself.
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.
Additionally the ability to say.. start a web server and run it? The ability to run the actual generated binaries from any of those other languages?
You could trivially had those with VSCode in the browser. They just run on a remote build/CI/CD environment.
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.
On the contrary, it does help a lot. Offline VSCode might be just a glorified broswer, but web VSCode will hook automatically with the vendors development/build/code repo backends. And you could have the appropriate environment (eg. a linux version x, with y libs, and z servers running) per project, available everywhere you go with no setup of your own.
>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.
Yes, and then you can install this or that, diverge from the common environment, and so on. And you have to setup all of those, even if it's just some docker instance running locally or some cloud stuff you access.
With the bundled web-vscode+cloud-backend, you wont have to.
>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.
Codespaces is the whole idea behind this too. In other words, this is just a component of codespaces / a codespaces type deal.
But again, that is codespaces. They have rolled this out months ago, and it does exactly what you are talking about, with vscode in the web and all. And I agree that it makes sense.
Vscode.dev looks like it could have been an early prototype of codespaces, with 10% of the features. So I still don't understand why this is coming out after codespaces is already in production.
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.
The key point os "glorified browser" being "you still run non-natively in a sandbox, whether it is JS or web assembly, and you still call the DOM for drawing".
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.
Problems that don't exist, or that you personally don't have?
Why is enabling development on a Chromebook a bad thing? You ask "Why?", but it seems a more reasonable question to me is: "Why not?" This seems to pull one of the bricks away from "why not?" for working on a Chromebook. I don't see why that's a bad thing.
It's not a lifestyle that I want for myself, but that doesn't mean I don't respect those folks as "decent developers". It takes a lot of fortitude to build software in those sorts of constraints.
It's going to happen, and it doesn't matter much if employees like it or not.
That is a typical enterprise setup, thin clients with development taking place on a beefy server.
For Windows systems, you get a VM with RDP or Citrix access.
And native cloud development, is exactly the UNIX/VMS/.... model with fancy UI.
That said, I do a lot of professional software engineering with a Chromebook and a Linux server, so.
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!
M: "Ok, here's your company issued computer. You're not allowed to do anything with it, because security and IP."
D: "Ok, but I need a computer to compile unique code, and I need to be able to execute that code..."
M: "Good news! We bought lots of cloud compute, so you can do whatever you need or want with your compute!"
D: "...how is this different."
M: "Well you see, we didn't issue those computers. So if something bad happens, it isn't because of us. It's because of the cloud."
D: "...but if something 'bad' only happens because of the code that I wrote, isn't it still bad whether its running here or there?"
M: "Fine! If something bad happens, it's your fault, not the cloud, because we didn't do it, and of course the cloud is infallible."
D: "I'm not working here."
M: "..."
D: "..."
M: "Here is your company laptop for policy reasons it is the same as every other laptop in the company"
D: "But I need to install and compile more stuff..."
M: "We know so we have provided a developer environment tailored to your needs, we understand it might be inconvenient but it might also allow for :generic inspirational stuff:
D: "oh, ok"
It's a tool, you don't have to use it.
I think what you’re referencing is when the IT department asks me and my team, do any processes break if we change version’s? And the answer is always, please we’ve been asking for years. Occasionally there is an add on we use that becomes a dependency. I feel like that was more of an issue in the past. Now that basically everything is 64 bit compatible, we do some testing and tell IT no risk here.
Excel has good support for rolling forward. Not always backwards compatible, but going forward breaking is quite rare. Things like XLS to XLSX happen rarely and they still largely work moving forward.
When I talk to the IT guys it’s more about reliance on exchange servers, outlook/calendar, and of course the corporate licensing that makes upgrading just for us finance guys difficult
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.
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.