Readit News logoReadit News
BiteCode_dev · 3 years ago
Cool tool in a pinch.

Use it when it makes sense, but make sure you never, ever, depend on it.

They will do everything in their power so you do.

They will make it very attractive. Very convenient. At some point it will require active efforts not to. People might pressure you to do so, like when everybody asked you to create a FB account.

But unlike facebook users, you have the technical know-how, so if you put your entire dev stack in the proprietary cloud, with microsoft services on top of that, nobody will cry for you when you ineluctably get bitten by it a few years from now.

Big companies are not your friends. They will abuse it. You will get locked in.

VyseofArcadia · 3 years ago
> Use it when it makes sense, but make sure you never, ever, depend on it.

> They will do everything in their power so you do.

It seems utterly insane to me that we put up with this. VSCode is a pretty simple tool. A recent iteration of a tool that we've had since the 60s. But they do their damndest to hook you and then keep you hooked.

It's like if a tool company put out a hammer with a comfortable handle and everyone bought one. Then to make sure sales stayed high, they started selling them with the handles secretly coated in cocaine to keep people buying.

makeitdouble · 3 years ago
To parent's point, depending on your org "VSCode" is less the editor part, and more the server component coupled with specific extensions, and probably container definitions for some esotheric projects.

We have a setup guide for beginners, and the VSCode route can be set in 15 min , where going for any other editor would probably require half a day.

Switching to something else could of course be done with enough effort, but it would take some crazy level sabotage from Microsoft to go these lengths.

paxys · 3 years ago
FYI – you can go to github.dev (or press "." while browsing any repository) to get the same VS Code online experience, additionally with the repo automatically loaded into it.

Something else I find very confusing is that vscode.dev & github.dev are both free and run the editor fully locally in your browser. Github Codespaces on the other hand provisions a VM behind the scenes so you can run containers, build tooling and whatever else alongside the editor. That one charges by the hour.

v7engine · 3 years ago
LPT: You can get Github Codespaces for free if you have a GitHub Student Developer Pack (which you can get one if you are a student)
jmhammond · 3 years ago
Another LPT: Also, you can get Github Codespaces for free if you're a teacher!
WorldMaker · 3 years ago
It's such an interesting benefit of VSCode being an Electron app. It runs as a true PWA on vscode.dev/github.dev.

Other fun tips:

- The '.' shortcut to github.dev works from Pull Requests too and puts you straight into a PR review mode.

- For those stuck in Azure Repos, GitHub's increasingly zombie cousin, the '.' shortcut also works from any Files view. (Though not PRs.) It uses vscode.dev directly rather than github.dev.

minimaxir · 3 years ago
github.dev now has a "Continue With..." call-to-action which spins up a Codespace, so that differentiates it a bit.
westurner · 3 years ago
From https://github.com/jupyterlite/jupyterlite/issues/1086#issue... :

vscode://vscode.git/clone?url=https%3A%2F%2Fgithub.com%2FMicrosoft%2Fvscode-vsce.git

vscode://file/path/to/file/file.ext:55:20

vscode://file/path/to/project/

  https://vscode.dev/github/organization/repo
https://vscode.dev/github/python/cpython

  https://vscode.dev/azurerepos/organization/project/repo
https://vscode.dev/azurerepos/organization/project/repo

swapball · 3 years ago
You do get something like 60 hours free a month with Codespaces (with lowest CPU/memory), which is fairly generous.

Also - we get that the difference between all these things can be confusing. Here's a post laying out the vision for vscode.dev and why it exists at all: https://code.visualstudio.com/blogs/2021/10/20/vscode-dev

dmix · 3 years ago
Can you share a VSCode profile across a team somehow?

We have a frontend with typescript + vue (volar) and it'd be great to have a 'standard' web VSCode interface we can share across the team as the baseline working version. So we don't have to worry about dependencies or someone seeing different error messages than others. ESlint is another one.

Our devs use 3 different IDEs so it'd be good for them to have one to compare to with having to screenshare.

coder543 · 3 years ago
Most VS Code settings can optionally be saved into the local working directory under a .vscode/ directory, which can be committed to a repo. When you open a workspace in VS Code, go to Settings. You'll see two tabs at the top: "User" and "Workspace". If you click on "Workspace", any settings you change will be saved into .vscode/ in the current directory.

You could also use a `devcontainer.json` to personalize the GitHub Workspace even further, so when people open up a Workspace, things are fully configured: https://docs.github.com/en/codespaces/setting-up-your-projec...

In VS Code, once you have an extension installed, you can go to the Extensions tab, click the more options button on a particular extension, and click "add to devcontainer.json", which seems like it would ensure that it is part of the Workspace by default.

downvotetruth · 3 years ago
Does not appear to work in FF Edit: Just tried with 115 on an Ubuntu install and that does work with both normal & ESR 102.6. In console, get error: "No measure found in Performance API for "start.block: Bootstrap" and a 404 warning for assets.github.com/static/primer.css
easton · 3 years ago
I use it at work in FF. Maybe you have an extension installed that’s intercepting the “.”?
LatticeAnimal · 3 years ago
Works for me in FF 115.0.2 and has worked for many months on previous versions.
orangea · 3 years ago
You have to be logged in to github for it to work.
downvotetruth · 3 years ago
The issue is that when resistFingerprinting is set to true in about:config it results in the error and stopping the JS redirect to the login screen. Interestingly, this also appears to be why windy.com broke a few weeks ago.
jerpint · 3 years ago
Do you mean to say that changes I make from GitHub.dev are reflected on my local machine?
naikrovek · 3 years ago
if you commit those changes back to your repo, and pull them to your local machine, yes
thunderbong · 3 years ago
Only works of you're logged in.
mattigames · 3 years ago
Not really unexpected is it
amanzi · 3 years ago
I've known about this for a while, but have only just noticed a new (to me, at least) feature: Remote Tunnels

Docs: https://code.visualstudio.com/docs/remote/tunnels

This is super useful for me - this would let me easily connect back to my desktop PC at home while I'm away or connected to other networks.

OptoContrarian · 3 years ago
I use tunnels to access my entire dev environment within my Quest Pro.
yaysyu · 3 years ago
How often and for how long do you code like this? What has your experience been like? I always find the idea of coding in VR intriguing but am unsure of what the actual experience would be like.
EVa5I7bHFq9mnYK · 3 years ago
I use NordVPN meshnet tunnels to connect to everything. Even when VPN is blocked by DPI, meshnet tends to stay on.
cubefox · 3 years ago
Does developing like this for an extended period of time actually work?
cgijoe · 3 years ago
If you don't mind my asking, I am honestly curious about this. Is the QPro high enough resolution to do actual dev work inside it?
zmmmmm · 3 years ago
to clarify - are you saying you use the Quest browser to connect to the vscode.dev environment? Or do you use an app like Immersed with a desktop browser? Just curious if the Quest browser is powerful enough for it and works well enough.
ethanppl · 3 years ago
Port forwarding is also very useful: https://code.visualstudio.com/docs/remote/ssh

It allows me to rent a cheap cloud machine, build and test code there instead of upgrading my laptop.

watermelon0 · 3 years ago
> For instance, right now you can have 5 tunnels registered for your account. If you'd like to create a new tunnel and already have 5 others registered, the CLI will pick a random unused tunnel and delete it. Please note this limit is subject to change.

I have a feeling that this limit used to be 10 tunnels/user, did they decrease it?

r3dp0w3r · 3 years ago
I love Remote Tunnel and the Remote SSH feature. Super useful for developing on Linux on Raspberry Pi or a cloud VM when experiment with different Linux distros.
santiagobasulto · 3 years ago
What'd be the difference with the Remote-SSH option?
hfkwer · 3 years ago
You need an SSH server running and the remote machine to be accessible (through NAT, firewall) to connect there with SSH. With tunnels, it's inverted: the remote machine needs to be able to connect to the central server, which is typically much easier; then you can connect to it.
codeonline · 3 years ago
Not totally related to the above but I have to say I love the vscode dev containers experience.

I am working on a few projects in the clinical research field with complex combinations of languages ,stacks and dependencies and love that we can bundle a complete development environment into the repo along with infra declared via docker compose.

mbreese · 3 years ago
Specifically for clinical research, how do you deal with the cloud aspect? I’m a big fan of devcontainers, but can’t use cloud environments for security concerns — everything must be local. And setting up a local tunnel to vscode.dev is also not possible.

Do you have development in one environment and data in another?

explaininjs · 3 years ago
devcontainers has nothing to do with cloud per say. It’s an open spec you can run fully locally.
000ooo000 · 3 years ago
I wonder what kind of developers (i.e. demographics, place in career, tec preference etc) want to use a set up like this. I like my local development to be very local with as few links in the chain/surprises as possible, but maybe I'm just a crusty luddite.
TheCapeGreek · 3 years ago
For me, the value proposition is spending less on hardware for similar benefits.

It's a lot easier to work with 8GB of RAM when your IDE uses 1GB to be a thin client instead of 4GB (this was roughly my experience using Jetbrains Gateway vs native PHPStorm).

worksonmine · 3 years ago
Another solution is to use an editor that doesn't rely on the browser or electron (which is just another browser). That's the main reason I switched to vim, all my tools were electron and the fan was constantly spinning. No regrets, highly recommend.
realharo · 3 years ago
RAM is really cheap when you're not buying it from Apple.
orangea · 3 years ago
My guesses:

- People who don't own a computer, e.g. university students who only use the school's computers (or K-12 students even), but who still want their editor settings to be automatically saved and used, and who don't want to deal with installing things on the computers they use (or can't install things).

- People who own multiple computers and who don't want to deal with syncing configuration such as installed tools, editor settings, etc.

mbreese · 3 years ago
Or people who don’t want their dev environment to interfere with their primary system. Or who have multiple projects with different requirements/dependencies.

Onboarding with a remote setup like this can be very quick. Or really — the same tech (devcontainers) can be used locally just as easily with many of the same benefits. The onboarding/dev setup is reduced to building a few containers and getting the code. You don’t have to locally install packages or worry about incompatible versions of tools.

The remote aspect is available because it’s very easy for Microsoft to do with VSCode as an Electron app. Sadly, they are making it more difficult for anyone outside of vscode.dev to have a remote install without using their “tunnel”.

Nanana909 · 3 years ago
Third option:

People who own a computer but prefer the iPad form factor, (taller aspect ratio is nice for code), and like having a portable 120Hz whiteboard, and arent afraid of operating said computer remotely via the iPad.

WorldMaker · 3 years ago
It's a tiny thing, but I love vscode.dev's Theme Tester Playground. It's the fastest way to suggest people try a VS Code Theme. For instance, I've been using LaserWave for a while now and you can see it in action here:

https://vscode.dev/theme/jaredkent.laserwave

It gives you a workspace with a handful of sample files to see various syntax highlighting bits. You can just about put any Theme extension ID in the marketplace after /theme/.

If you've got Settings Sync on, you get the see the theme in the context of your usual window layouts and some other things that interact with themes.

No install, no download, no need to switch back after you are done previewing it, just a quick easy URL to link.

flohofwoe · 3 years ago
On Github (just press '.') it's quite nice for exploring repositories instead of using the regular Github UI. I don't use it for making changes though.
OmegaMetor · 3 years ago
I've been using this for a while. It lets me have a single simple dev environment that I can access from any machine that I can use a web browser on, which as a student with a school owned laptop, has been very helpful. It gives me a lot more time to work on my projects as long as it doesn't have a gui, which I have to use my personal laptop for only at home. Also useful for managing dev environments for other devs in some settings, so you could give them Chromebooks or similar low power low cost devices. I also set this up for programming for our schools robotics team, works great.
makeitdouble · 3 years ago
I'm sure for a set of people this is the main setup (this is totally viable, and probably opens the door to development on many alternative OSes, like on an iPad or android tablet), but I see it used a lot for "hit and run" changes on repository that are only auxiliary or seldom used.

For instance changing configuration files on a infra oriented repo, tweaking SQL on an ETL service, updating a internal library etc.

If those changes can be done in a quick and compact way, with the CI dealing with running the test, staging and release process, an online editor is the fastest approach.

pletnes · 3 years ago
Documentation or other «static site» content can easily be edited like this, too.
jauntywundrkind · 3 years ago
> with as few links in the chain/surprises as possible

This is the hinge. You're in the world of people who see this as opposition technology, as something opposed to your control.

But what about everyone else? How many different chaotic absurd onboarding tech systems do various companies have? We never had a good onboarding at my last job, my current job has two or three various onboarding paths - mine is a fairly fully featured Ansible and it works great but most existing devs piss upon automating our 30+ services & make their newbies go do everything by hand, including asking for .env files over slack again and again and again.

I think there's a general intransience-ness, a stuckness, that many devs have. They see cloud and automation as an enemy of what they know. But they are just stuck, unwilling to grasp for power, unwilling to figure out how to scale themselves & their world wider. It's not that manual slow systems afford better control, it's just that there's a colossal bias against getting better & newness that most people - including devs, those who should fight for mightierness - should be grasping for.

patmorgan23 · 3 years ago
Devs being opposed (or not embracing) automation is wild to me. Like that's literally your entire job, to write software that does stuff automatically, reducing the amount of tedious/manual task that have to be done.

I'm also of the belief that every on-boarding is a great opportunity to improve the process, update documentation, etc. You have this person that knows absolutely nothing about your processes/environment. They're going to ask lots of questions, those should be written down and placed in your KB so your not relying on tribal knowledge as much.

Deleted Comment

jwrallie · 3 years ago
I used a similar system while doing training before, really neat as people could guarantee more or less that all the development environment was the same across different computers even with BYOD (bring your own device) and people would focus on the training content instead of lose time configuring their PCs. I can see its applications on education.

The most annoying thing in their setup (which may differ from this one) was that some shortcuts would be captured by the browser, so I closed the whole thing multiple times with Ctrl + W while relying on muscle memory.

pletnes · 3 years ago
Local development on enterprise managed win10 can be fairly confusing. Having a cloud vm/container with linux and local admin can be less troublesome, depending on what you’re doing of course.
000ooo000 · 3 years ago
My personal machine is Win10 with a local arch linux VM for all things dev. I was nearly set up with the ability to boot Arch as a VM as well as 'natively' but I got distracted and the VM is good enough, so I never got there. My current employer is OTT WRT security so I can't even install reputable tools, which pains me, so I definitely agree with your closing sentence.
nonethewiser · 3 years ago
I dont use it but I suppose the benefits are the same as anything else in the cloud. Your dev environment is totally decoupled from your machine. You can access it from anywhere. That's a real benefit.
pjmlp · 3 years ago
For me, it basically represents going back to the days of telnet and X Windows with a development server shared by the whole team, only with another set of tools for the same purpose.
rbut · 3 years ago
If you dont like the idea of having your dev environment in the cloud, coder have a self-hostable vscode docker image:

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

realharo · 3 years ago
You can just use the devcontainers feature in normal local VS Code (https://code.visualstudio.com/docs/devcontainers/containers)

Even the next version of IntelliJ will have partial support for them (https://blog.jetbrains.com/idea/2023/06/intellij-idea-2023-2...)

orangea · 3 years ago
Also see https://devpod.sh/ which has had quite a lot of exposure on HN recently.
mynameisvlad · 3 years ago
This loads files off your local device, hence the "local development" part of the title.

The extensions might do things with your code (same as with Coder, albeit with a different marketplace) but the code doesn't live in the cloud a la GitHub/VS Codespaces.

aitchnyu · 3 years ago
Do these allow the IDE to navigate code, ie will an npm install hide away the node_modules inside the container and the IDE doesn't know about it?
low_tech_punk · 3 years ago
Top on my wish list is a solution for the Ctrl/Cmd + W key binding conflict with the browser tabbing system. Definitely a hard design problem when you put browser technology inside browser technology >_<
cdcarter · 3 years ago
If you're in an environment where you're able to use Chrome, you can go to the kebab menu and select "Install Visual Studio Code", which will install and open the workspace as a "Progressive Web App". It will have its own dock/menu bar icon, you can ctrl/cmd-tab to it, and all keyboard shortcuts work natively.

Unfortunately, at least on Mac OS, you can't exit Chrome entirely or the PWA will exit too.

coder543 · 3 years ago
vscode.dev appears to default to Ctrl+F4... which is a solution for almost no one. I can't remember the last time I had a keyboard with fn-keys that weren't remapped to a bunch of other useful stuff.
blackoil · 3 years ago
That's a default for Windows along with Alt+F4.
mcemilg · 3 years ago
I was using vscode tunnel to work on HPC resources. In the beginning it was like a magic, as time passed it turned into a headache.

- I remember suddenly, we couldn't be able to connect because of a bug in a new release. Tunnel extension was updating itself automatically. I lost a working day to solve it, before realizing the issue.

- Interestingly its getting slower after working some hours, works ok after reset.

- Working on projects with 100+ files was slow, even opening a folder was very laggy.

- I use jupyter notebooks daily but heavy, its turning out to impossible to work with heavy notebooks.

Maybe most of the issues are fixed now, I don't know the current situation. If the problems will be solved, it's definitely a tool that I will use for my all dev stack.