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.
This is because Microsoft doesn't seem to want Windows developers to use VS Code. They want to keep them locked into Visual Studio and Windows Azure, which is why the C# plugin is one of the worst from all language plugins in Code.
That's a pretty strange implication. I just tried opening up a .NET Core application in VS Code developed exclusively in Visual Studio, and it fired right up. Now I certainly wouldn't say that the debugging experience is as good as VS, but nobody should expect it to be. VS Code isn't supposed to be a replacement for VS, although it can certainly hold it's own. And it's free.
Yes, but it has a very significant licensing restriction that prevents it from being used to develop commercial software. VS Code has no such restriction.
A little oversimplified - Visual Studio Community can be used to develop commercial software, with restrictions to (summarizing) 5 conccurrent users in non-enterprise organizations. https://visualstudio.microsoft.com/license-terms/mlt031819/
Microsoft has long been one of the biggest application vendors on the Mac, there were previous eras where most of the screenshots of Office would have been taken on a Mac too. Though yes, never would have happened in the "Windows is our sports team, hoo rah" parts of the Ballmer era.
Geoff from Gitpod here. GitHub, GitLab and BitBucket are 1st class citizens. In time I’d like to see Gitpod extend support for sourcehut, cgit, gogs and gitea but we haven’t got around to it yet. Fortunately Gitpod is indeed opensource so anyone in the community could send in a pull-request and add support for the context parser. Come join the discord at https://www.gitpod.io/chat #contributing channel.
>IMO both are much slower and worse than vscode.dev
This just... doesn't make sense other than browser differences and the resources of the server actually running Code.
Is the free trial of GitPod slow because it's running in a resource-constrained environment. Sure. (edit: let me be clear, GitPod is an amazing end-to-end experience and they have a very generous free tier for OSS projects/users, but it IS free unless you pay).
Is self-hosted GitPod or code-server slower than VSCode? Not enough that I can notice when they're side-by-side looking identical, I can't tell which is which. In fact, I would challenge a single person to show me a side-by-side version-to-version comparison that shows VSCode.dev or VSCode native being significantly faster than code-serevr given that they're virtually the exact same thing running in Chromium instead of ... Chromium/Electron.
(On an unrelated note, when even CloudFlare can switch to HCaptcha, and HN can't... well, I guess it's in line with the amount of technical care this place gets all-around.)
There is no direct comparison, so unfair to call them slower or worse. Both these services are for running your own private server and for browser IDEs to be thin clients. You can configure the server with your language tooling, build scripts and whatever else. You can also pause and resume your session from a different device (since a majority of business logic is handled by the server).
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.
This seems really cool, and seems like it took a lot of man hours to put together.
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.
Students and kids with chrome books - a huge amount of middle and high school students in the US. Students who Microsoft would like to grow up thinking software development = Visual Studio.
Some non western countries have student/junior freelance developer populations comprised almost entirely of people using mobile devices for development. I imagine this will be a god send for them
Tablets for sure. There are no good coding apps on Tablets.
Say you're going on a trip somewhere and don't feel comfortable bringing your $3,000 laptop. Pickup a $150 android tablet + keyboard. Or low income individuals, you could start coding right from your phone without having to buy anything new.
There a couple of nice coding apps in Android and iOS, naturally they are mostly for coding on the train/plane, or tying out ideas at the local coffee shop, but that is good enough for me.
You've never wanted to edit text/code on a computer that isn't yours before? There are a lot of cases where I can see this coming in handy for making quick edits as an IT professional, especially in cases where I need to mess with a slightly complex file on an end user's machine but don't have the time or desire to copy it back to my own.
I think the craziness of it is highly context dependent. If you're expected to be running everything in "the cloud" anyway, then as long as you have execute permissions on the cloud computer you are authorized to...ok no now wait a minute, you're right. This is crazy no matter how you slice it.
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."
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:
I work in finance and as you’d guess my main app is Excel. 9/10 big companies I worked for are on a >5 year old license at any given point. Since it’s so heavily tied in with outlook, exchange, etc. and they typically tie a office version to a windows version these days, it’s so frustrating constantly having to use outdated software for no good reason. As you said, it’s crazy!
There are good reasons: some of your finance colleagues have done crazy spreadsheets with that old Excel version and everybody fears of breaking business if those critical spreadsheets break.
That’s not usually the case. That’s what IT department thinks is the reason, but finance can and does deal with broken files all the time for a variety of reasons.
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
If you're an employee with a work computer you don't have an admin account on, there's a reasonable chance you can convince someone to install something you need. If you're a student in a computer lab, that's likely out of the question.
Surely shoving VSCode into a tab is just step 1. Think about what this could do, that your local app couldn't.
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.
I've used Gitpod (https://www.gitpod.io/) for this same scenario and it's available for anyone, way cheaper than Github Codespaces (possibly free depending on your usage), and it works really, really well. It felt like coding in the future.
We're starting to set up Gitpod for LAMP apps (e.g. Drupal), and it seems to work well with docker-in-docker running each part of that stack in their respective containers.
Saving state sounds pretty awesome indeed, but does it really work like that? From the blog post it sounded like it is opening files on the local filesystem.
I have been a very happy user of VSCode Remote - SSH. I have a VM in AWS with a GPU that I SSH into using VSCode, and I can use VSCode as if I were running it locally, with all of the computer power of a big server. Would highly recommend!
Geoff here from Gitpod. I have a bare metal machine that I remote into and use for supportive tasks such as (in a couple moments) exploring the TruNAS marketplace ecosystem. My primary computer these days is an iPad - see https://ghuntley.com/anywhere
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
I look at this as an opportunity for beginners to get started. Makecode does a good job for kids. But at some point all the current languages require you to install something or get an IDE going. Having the ability to do everything in the browser with little setup on an inexpensive Chromebook can go a long way for a beginner.
"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."
"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."
> 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.
This "decent developer" thing sounds a bit gatekeepy - this solution isn't here to replace a fancy IDE on a MacBook Pro, it's here to help make coding easier to beginners or on shitty machines. I'd have loved to use this in high school/college instead of relying on the IDEs already installed in the lab.
It's entirely gatekeepy. We should be doing everything we can to encourage development where people are at, not trying to say that unless you do it a certain way (which costs a lot of money for a student, or someone in a developing country) you're not a "decent developer".
Plus there are more than enough "dark matter" developers making an otherwise good living at Fortune Xty companies that are afraid of technology and love micro-management and require all software to install to go through 6 month+ review processes. I've known some fantastic developers that will put up with that (and more), code in Notepad and Perforce if they have to, so long as they make a living wage and can clock out directly at 4:59pm every day. (In some of those cases there is maybe hope for them that getting a personal internet access firewall exception for vscode.dev might only be one form and a 30 minute review versus that 6 month+ process to get VS Code installed properly. I appreciate that it may be a nice new option for them by existing.)
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 may be late in October, but I guess some people don't appreciate horror stories of actual development jobs that exist. If I could find a way to package that and sell it as Developer Haunted House experiences, I imagine I could make a quick buck.
Even if everything about remote workspaces were bad for professional developers, they will accept it if that's what companies are offering. Just like they accepted open offices, standup meetings, all-day video calls, agile, etc. And there's a lot to like for an employer: spend less on computers, reduce IT costs by locking down machines, get new employees productive sooner, make developers more interchangeable...
It's going to happen, and it doesn't matter much if employees like it or not.
You should consider yourself lucky to never have been under the boot of a crappy IT department that won't let you have diddly (and even if they let you have diddly, it's five years out of date).
> 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.
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.
For me the point is more around generally pushing things towards the cloud and away from snowflake local environments. One click app generation from templates, one click deploys of your app to ephemeral environments for testing and sharing... all without requiring any setup, and integrated into GitHub for collaboration. Want to onboard someone to working on your app, just send them a hyperlink to the repo.
>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
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.
>Well, offline VSCode is a glorified browser as well.
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.
What are those native binaries? I know that VSCode ships with ripgrep, but that's the limit of my knowledge. Those binaries probably could be compiled to WASM to make VSCode fully run in a browser too.
The Language Servers that power all of the intellisense and syntax highlighting and stuff are all native code. As are the compilers and everything that make VSCode more than just a text editor.
My first experience with such setup was the DG/UX at the university campus, where we had a mix of classical green/ambar phosphor terminals, and a couple of X-Windows thin clients from IBM to connect to it.
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.
It's really freeing when coupled with something like Gitpod or CodeSpaces. You join a new project and you have ZERO setup to do on your own. You can open up a new branch and start working in seconds. I don't have to worry about whether my computer has enough memory to keep up with Docker, if it's fast enough for this new project, if I have to install version managers to separate runtimes for each project (rbenv, pyenv, nvm, etc).
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 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".
> It's like how nerdy types could easily slap together their own Dropbox
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.
>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.
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.
> 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.
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.
I'm not sure what the use of the standalone site is, however Microsoft has already integrated VSCode-in-a-browser into Github. If you go to a Github file and press . then that repository will open up in a VSCode instance in browser. It's quite useful to have it's search features rather than needing to clone down a project first.
This VSCode.dev standalone site adds Azure Repos support in addition to Github.dev's existing GitHub support, and they say it will be extendable by extensions so maybe hope for Gitlab/Bitbucket/Gitea/Sourcehut/who knows who else to add this sort of remote dev experience that the Github dot shortcut does.
Also, there's a new "Theme Preview Playground" which lets you write URLs to try theme extensions before you download them.
I've used the github.dev "." shortcut (on any repo in Github press dot to jump to github.dev) a few times to browse the code "more comfortably" with many of my VS Code extensions (via Settings Sync) without needing the time to clone locally. (There is a way to get one of the Github extensions locally to give you a Remote Repository experience in a local VS Code window, but that dot shortcut is much more convenient.) I've even forked and made small (mostly Markdown) PRs that way now.
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:
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.
I teach coding to new programmers, in particular kids, and every step is a pain. In particular, since we had to go fully remote it's really hard to even get people started.
Anything where I can just say "go to this website, start typing python/javascript, see cool stuff happen" is cool.
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.
I suspect those "inherent limitations" will continue disappearing over time. It wasn't that long ago that file-system access was one of the biggest ones. WASM and/or Workers could bridge the gap on language servers, building/running code, etc. Not much would be left at that point
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)
>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.
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.
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.
I dunno. It would be pretty sweet to not have to bring a laptop with me when I travel / go places. Just whip out the iPad, open a browser, connect to remote host, and get to work.
The caveat of course is that this supports connecting to a remote host.
> 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.
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.
Honestly, this looks amazing for times when I'm in a meeting and want to look a piece of more complex code but don't have a local copy of the repo. The Azure DevOps repo UI leaves a lot to be desired, especially if you know where a piece of code is called from but don't know where it's defined off the top of your head.
> 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.
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.
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.
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.
It seems like this person had the wrong personality to man a conference booth.
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.
As a CS student we used Cloud9 IDE for developing and code sharing in assignments -- we didn't know what Git was and using it didn't become a requirement until later semesters. "Don't touch anything, let me compile first" was a common utterance.
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
Speaking of education/CS50: we (the Codespaces/Live Share team) have actually been very excited/privileged to collaborate with the amazing CS50 team, as they've built their student experience on top of VS Code/Codespaces (http://code.cs50.io). Lowering the barrier of entry for learners, and supporting student success, is a huge goal of ours, and so I'm looking forward to getting our tools in the hands of more developers, and iterating based on feedback.
The PM on the live share feature only gets a promotion if they can prove the value and engagement of their feature. Sadly this leads to very close-minded and hostile attitudes at different levels in the product. You want to talk to the group PM for the VS code product to pitch an idea about new features (but you aren't going to see this person spending time at a trade show booth).
I'm really sorry to hear you had this experience :( I'm not sure who you spoke with, but this perspective definitely isn't representative of the team and/or how I'd ever want to see us talk with developers.
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.
And while those stories are interesting to hear, I don’t know why they so often make it to the top or near it. Like is one PM being bad at listening to user feedback really the most interesting topic of discussion for this post?
The truth is most people lack the skills required to understand and comment of most things posted here. They also have a "need" to get involved in discussions, thus they cling to what they know/understand.
This is why you get these anecdotes upvoted, this is why you get "options" on most "Show HN" threads.
"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".
Have you noticed that you just described “conversation”?
That is what it looks like when people get together and talk to each other. Lots of us are here for that, and it seems like a pretty natural thing to do. The articles do a nice job of suggesting topics to talk about.
It reminds me of conversations I used to have with an autistic guy who didn't really get conversational cues. He would just come out with facts that didn't at all fit the flow of the conversation.
In any case I don't think the point of the articles is just to be a conversation starter.
the thing i enjoy about watching that in HN vs reddit or some other ranty site is that at least on HN the actual people being ranted AT will often show up.
It happens on twitter too apparently but then I would have to use twitter.
Just a side note... as a CS nerd and a software engineer with 15+ years of professional experience, environment setup is still one of the hardest parts for me, especially if I'm picking up a new tech stack.
We built lab.computer for this. Root access, state save, sharing, auto/manual grading. We would love to get some feedback. Everyone using it seems to love it.
> 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
I wonder if this uses pretty much the exact same code as the desktop version. It seems to me that one of the big benefits of using Electron would be to have one codebase deployable as a desktop app and a website with very little change for each deployment.
It's going to use most of the frontend UI code but all of the NodeJS-specific stuff in the desktop version is a no-go and has to be shimmed or polyfilled to run in the browser. The biggest thing you lose here is system-level access like the ability to run processes--tests, terminals, debugging, etc. And as the blog post mentions unfortunately these things aren't supported yet in vscode.dev.
For those who think web-based IDEs are inefficient, I recommend giving VS Code in the browser a try: nowadays it's just as performant as it is on the desktop.
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.
> For those who think web-based IDEs are inefficient, I recommend giving VS Code in the browser a try: nowadays it's just as performant as it is on the desktop.
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].
Performance between IDEs can vary dramatically, so vscode vs (non-vscode) web IDEs is not a useful comparison - especially now that you can compare web vscode vs "native" (electron?) vscode.
I suspect the performance difference is trivial (or soon will be once teething problems are sorted out).
I envy you for never having issues with VS Code. I have to restart it far, far too often for it grinding to a halt. I'll lose my auto-complete menus completely. Forget auto-completing any paths (like for imports) when it gets to this state. I have to restart my whole computer sometimes.
I have minimal plugins, but have once again removed some more that I thought were helpful, performance got a little bit better again. But we shall see how long it holds up, as I've done this a couple times now in an attempt to gain reliable performance. This is on basically a brand new 15" i9 Intel MBP.
I'm not the only one I've talked to that has random slow-downs like this. I've literally contemplated going back to Sublime Text 2 for my sanity - I just want things to work reliably. Oh, and if you accidentally click on one of your build files, enjoy the system lock-up!
I don't need new features every month in VS Code that I won't use. I just want better performance on the basics so I can get back to being in flow, writing code, solving problems.
It’s not an especially fair case, but I was surprised at how poorly VSCode ran on a Raspberry Pi 3 when I tried it awhile back. Running it with a remote connection to a beefier machine would make for an amazing thin client.
As mentioned in the release notes, this only works for web languages sadly. And no debugging. In a way, that's not really a complete IDE (though they are probably working on it).
> 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.
That's on Apple, because they only allow Safari (or reskinned variants of Safari) on iOS.
It actually loads way faster for me in Safari than the actual VSCode app. To be fair, Safari is already running when I try this versus a cold boot for VSCode.
There would be no performance difference (at least at the UI layer) between a web app running in the browser and the same web app running in Electron, so this doesn't really demonstrate anything new WRT performance
Geoff here from Gitpod. My primary development machine is an iPad after I bricked my M1 laptop. I’m currently out in the middle of no-where of Australia with my van so I’m all in. Even when I get my M1 fixed I’m likely to keep my thin client device for hipsters as my primary development machine.
Thanks for your link.
I can only imagine a future where remote dev work is the new norm. As the rest of society discovers the joys of working from anywhere, such browser-based coding innovations are helpful to on-board new curious developers. We no longer need costly setups/desktops to run very useful software like VSCode.
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.
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
It seems to be like Theia https://theia-ide.org/ which is based on vscode and runs in the browser. It's used by this project to give a full lab/workspace and ide in the cloud:https://www.eclipse.org/che/ (it's actually closer to vscode even though eclipse is in the name).
No theia has a nodejs server backing its web experience. This vscode.dev is an entirely client side JS application that runs in your browser--there's no backend server beyond something to serve a pile of static JS and html.
The blog post says it's using a brand new local file access API only in cutting edge browsers (edge and chrome) so you can access the files on your machine directly from the browser. There is no server upload of anything.
Yo. Last night Gitpod’s IDE architect (one of the key folks behind Theia) did a great blog post on the history of cloud IDE’s over at https://gitpod.io/blog/cloud-ide-history
>"Fast forward to today. Now when you go to https://vscode.dev, you'll be presented with a lightweight version of VS Code running fully in the browser."
Does that imply there is functionality missing from the online version of VS Code?
If you were to continue reading, you would be informed that many of the non-web languages don't have the same support in this version, since it can't run native language servers/any extensions that use OS-level APIs.
Mostly anything that relies on having a real system attached to it instead of the browser JS engine. Running code, or a terminal, or things that rely on the git binary. Lots of extensions are working to remove their dependencies on the local system though.
I've love to see this for open source, especially integrated into GitHub. A simple "click here to contribute" button could really lower the barrier to entry for first-timers.
I’m not sure if I am understanding your post correctly, but AFAIK you can just hit “.” from your browser on GitHub and it opens an editor (based on VSCode) for that repo.
Not sure if Git is fully integrated in there (although, it being based on VSCode, it should).
Yes, just hitting dot in Github opens up Github.dev which is very similar to this VSCode.dev. So similar that this VSCode.dev lets you get the same experience if you rewrite a Github.com repo URLs and prefix it with VSCode.dev. Today VSCode.dev also supports the same thing with Azure Repos if you prefix dev.azure.com repo URLs.
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.
I would love to be able to pop this open for prototyping simple python/js scripts, but the lack of "run" support makes that much less feasible. Curious to see where the next iterations go.
This is exactly what I've been looking for. There was another site (forget the name, something-something-cloud) that supposedly did this but it seems abandoned and didn't work on any browser that I used.
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.
Interesting they're using tree-sitter for syntax highlighting. Obviously they can't run LSPs in the browser so this must have been an alternative. I'd be curious to see this get into mainline desktop VS Code though (and I'm not alone: https://github.com/microsoft/vscode/issues/50140).
The article points out that the Typescript/Javascript and Python LSPs run in the browser providing "better" experience than the tree-sitter experiences for languages without browser capable LSPs today.
They don't use tree-sitter for syntax highlighting unless the extension you're using uses it. By default (and almost everything uses the default) VSCode uses the Textmate syntax highlighting system.
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.
It’ll be interesting to see how this evolves compared with other players in this space. (Stackblitz comes to mind. They added support for “WebContainers” recently, for in-browser hosting of server-side code: https://news.ycombinator.com/item?id=27223012)
FYI: You can't run/compile your code (yet), and by extension it means it won't show any error/warning (I tried deleting some lines). I'm guessing the next step is cloud build.
That was already the case a long time ago. We have now reached the stage where individual applications running in the browser can be an OS on their own – VS Code itself is a very good example.
I was hoping this would be the thing that makes coding on an iPad not awful. But any keyboard shortcuts are consumed by Safari, so it's a pain to use. However, I hope that this enables the VS Code team to make a native iOS/Android VS Code app that would essentially just be a web browser that uses this functionality.
You can do this right now on android. If you're using chrome/chromium based browser, just visit vscode.dev and then select add to home screen from the browser menu. A similar option exists in firefox on android too, I believe.
Once you open the shortcut created from the previous step, it will open the webapp without the browser's UI.
Do you mean vscode.dev itself hijacking right-clicks to display its context menu[0]? If so, there's this great extension I use to enable it on the myriad of websites that use it for non-alt-context-menu usage[1].
I absolutely do not want VS Code to be an iOS or Android app, since that means giving up all the massive progress they have made towards fully open web-based development and bowing down to the gated App Store model. If that means a less than perfect experience on iOS devices then so be it. VS Code as it exists today wouldn't even be allowed in the App Store under existing rules.
iOS at least has second-class support for PWAs via 'add to home screen', where it does take up the fullscreen like a regular app without any attestation to a central authority (besides the CA/B racket and Google safe browsing of course).
272 comments
[ 1170 ms ] story [ 2451 ms ] thread1 - 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.
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)
They claim Github integration as well (although I have not tried that yet).
This just... doesn't make sense other than browser differences and the resources of the server actually running Code.
Is the free trial of GitPod slow because it's running in a resource-constrained environment. Sure. (edit: let me be clear, GitPod is an amazing end-to-end experience and they have a very generous free tier for OSS projects/users, but it IS free unless you pay).
Is self-hosted GitPod or code-server slower than VSCode? Not enough that I can notice when they're side-by-side looking identical, I can't tell which is which. In fact, I would challenge a single person to show me a side-by-side version-to-version comparison that shows VSCode.dev or VSCode native being significantly faster than code-serevr given that they're virtually the exact same thing running in Chromium instead of ... Chromium/Electron.
(On an unrelated note, when even CloudFlare can switch to HCaptcha, and HN can't... well, I guess it's in line with the amount of technical care this place gets all-around.)
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.
Will it eventually be open sourced?
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.
Anyone know how to disable that in Chrome?
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!
It's a tool, you don't have to use it.
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"
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
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.
[1] https://github.com/cdr/code-server
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 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."
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.
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.
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.
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.
That sounds horrible.
The cloud + browser is back to the future.
[0] https://en.wikipedia.org/wiki/Multics
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.
https://multicians.org/myths.html
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.
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".
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.
Apparently current generation never worked in classical UNIX development environments.
> Your current browser doesn't support local file system access.
> You can either upload single files or open a remote repository.
Also, there's a new "Theme Preview Playground" which lets you write URLs to try theme extensions before you download them.
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.
Anything where I can just say "go to this website, start typing python/javascript, see cool stuff happen" is cool.
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.
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.
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.
The caveat of course is that this supports connecting to a remote host.
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.
Especially since many extensions are incompatible.
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.
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.
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.
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.
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
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.
This is why you get these anecdotes upvoted, this is why you get "options" on most "Show HN" threads.
"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".
That is what it looks like when people get together and talk to each other. Lots of us are here for that, and it seems like a pretty natural thing to do. The articles do a nice job of suggesting topics to talk about.
In any case I don't think the point of the articles is just to be a conversation starter.
It happens on twitter too apparently but then I would have to use twitter.
Otherwise, you might be the one that gets fired, probably like this guy.
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.
> 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
What a strange joke to include on Developer docs.
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].
I suspect the performance difference is trivial (or soon will be once teething problems are sorted out).
Have you ever used VSCode on the desktop? I have never experienced any issue with VSCode nor have I ever wished it performed better.
I have minimal plugins, but have once again removed some more that I thought were helpful, performance got a little bit better again. But we shall see how long it holds up, as I've done this a couple times now in an attempt to gain reliable performance. This is on basically a brand new 15" i9 Intel MBP.
I'm not the only one I've talked to that has random slow-downs like this. I've literally contemplated going back to Sublime Text 2 for my sanity - I just want things to work reliably. Oh, and if you accidentally click on one of your build files, enjoy the system lock-up!
I don't need new features every month in VS Code that I won't use. I just want better performance on the basics so I can get back to being in flow, writing code, solving problems.
That's on Apple, because they only allow Safari (or reskinned variants of Safari) on iOS.
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.
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
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?
Does that imply there is functionality missing from the online version of VS Code?
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.
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"
[0]: https://aws.amazon.com/cloud9/
https://developer.mozilla.org/en-US/docs/Web/API/File_System...
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
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.
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).
https://www.mightyapp.com/
Once you open the shortcut created from the previous step, it will open the webapp without the browser's UI.
0: https://i.judge.sh/thirsty/Flutter/chrome_w3SVLELGag.png
1: https://chrome.google.com/webstore/detail/enable-right-click...
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