Comment by CGamesPlay

Comment by CGamesPlay 3 days ago

45 replies

If you are a VSCode hater (like me), you can achieve the same thing using the open-source, Microsoft-built, official devcontainer CLI [0], which is exactly what VSCode uses under the hood. You don't get automatic port forwarding with this tool, which includes SSH Agent forwarding, so you'll likely want to pair this with installing SSH into your devcontainers, or using some other tool that does the job. I built a tool [1] to do the port forwarding part, which I'd like to be more magic like VSCode's but haven't put the effort into doing, since it works for my purposes.

Using these, I can SSH into my devserver, use the devcontainer CLI to open a tmux session with iTerm2 Tmux integration, and it feels just like a local window. Combine that with Neovide and remote Neovim over the same channel, and I have a native-feeling dev environment running on a remote devcontainer in a nearby data center.

[0] https://github.com/devcontainers/cli

[1] https://gitlab.com/CGamesPlay/qtm

3eb7988a1663 3 days ago

Not loving that the devcontainers CLI is node. The appeal of devcontainers is to limit the amount of code I have to trust on my host. Give me a small static binary I can deploy to new systems.

macrolime 3 days ago

I ssh into my server, then use the devcontainer cli tool to open a shell in the dev container. Found that easier than installing ssh in every container, especially when there's lots of them. I made a simple command line tool for helping the process, so I don't have to type out any long commands. If I run it it will list the running dev containers and I give them each a number to I don't have to use the full ID.

  • CGamesPlay 3 days ago

    Yeah, this works. Two drawbacks: you have to rebuild the container when the port forwarding configuration changes, and the port forwards have to be unique on the entire machine.

churchsor_ai 3 days ago

I like the CLI for commands, but would rather work with an agent chat interface for vibing, which unfortunately I’m becoming increasingly reliant on, even though it’s gotten me into trouble with larger projects.

I have many environments locally, some dependent on others, and some require local databases. I use containers in production, but not always locally.

It’s almost a hellscape situation for trying to setup a fully isolated dev environment. I might be able have have some future generation of Claude convert my existing dev setup to something isolated with k8s. But, I don’t have the power to run such an environment locally, with all of the apps and services. I’d need to set my dev environments up in the cloud, but I don’t have enough money to pay for that, and it wouldn’t even work in some circumstances, because some things must run locally.

So, instead I run Cursor AI with various MCP servers, I approve tool calls, I don’t have things isolated, and I know this will eventually bite me.

  • jon-wood 3 days ago

    > which unfortunately I’m becoming increasingly reliant on, even though it’s gotten me into trouble with larger projects

    You could… not do this. You know it causes you problems, you consider it unfortunate that you’re becoming more reliant on it, and yet for some reason you’re choosing to continue anyway. Why are you doing that?

    • joelmgallant 3 days ago

      In a similar situation here: it's "unfortunate" in one sense but "extremely fortunate" in another sense.

      It's unfortunate if you consider your primary craft to be writing code, as those skills can atrophy. It's obviously important to review and understand all material produced by these tools.

      It's fortunate if your primary organizational role is "fix problems, communicate technically, and make new things" because of the sheer power of these tools when applied properly.

      I've sunk many hours into attempting to "claude-ify" a complex set of applications and services and (IMO) that's a very useful activity.

      Why? So that I can use ai-tooling more effectively? Yes. Why also? So that services are more decoupled, more testable, more aligned with good development principles.

      It's difficult to inject these workflows in a useful way across multiple levels (code/devops/org) but when it works it's worth it.

      My key takeaway was something along the lines of: "if an agent can't understand and work with your codebase, you've got an onboarding problem" (we do).

      Disclaimer: mostly standard web tech across Java/Scala/React - aggressively complex k8s layer

    • misnome 3 days ago

      You might as well ask why people addicted to gambling don’t just stop.

      • [removed] 3 days ago
        [deleted]
shepherdjerred 3 days ago

devpod is quite nice for this

https://devpod.sh/

  • brabel 3 days ago

    Just tried it... and it says it's client-only, but when I try to run the SSH provider using my Rapberry Pi it says it needs `docker` to be installed on it :/. So it's not just client-only, is it?

    • [removed] 3 days ago
      [deleted]
    • adastra22 3 days ago

      Isn't that what client-only means?

      • CGamesPlay a day ago

        No, client-only means Devpod is contrasting itself to Coder, which requires a central server to orchestrate the containers it creates. Devpod does not. It does still have dependencies, though, among them Docker.

      • brabel 2 days ago

        Like, oh you need to install this extremely heavy tool on your server... but yeah it's still client-only, trust me?

Imustaskforhelp 2 days ago

Oh the gitlab link is really really really cool. I can't express in words how happy I am since I know about iroh and I always wanted to create such a tool myself too but never could figure out iroh.

Now the way I did port forwarding was really wild and really complicated and I think that it might demand a blog post if I am being honest, but yes this project is absolutely godsend. Thanks!!

unsupp0rted 3 days ago

> If you are a VSCode hater (like me)

What are some reasons to hate VSCode?

  • pxc 3 days ago

    It's proprietary software masquerading as open-source, for one, and intentionally fosters dependence on its vendor for the plugins that support the most popular languages as well as key features (remote editing, WSL support, integration with the mainline plugin repos), for one.

    • dymk 3 days ago

      But Cursor, a fork not developed by Microsoft, ships with remote editing, wsl support, etc

  • weberer 3 days ago

    Microsoft injects proprietary spyware into the official builds that you can't see from the source code. You can get unofficial builds of just the source code from the VsCodium project, but Microsoft blocks your ability to install a lot of extensions if you don't use the official build.

  • skydhash 3 days ago

    It’s clumsy as hell. It’s neither a good editor, which focus on being fast when doing things with text, nor a good IDE, which is more about the tooling and getting a project done. It’s trying to be both at the same time. And the result is bad at both.

    • lvl155 3 days ago

      I don’t know, others might be better out of the box. But once you start adding features they all become a mess. I rather just deal with a known mess and not waste time with tools.

      • 57473m3n7Fur7h3 3 days ago

        I have nothing against VSCode but I don’t use it.

        For small files and quick edits i use neovim with no customisation at all. Back when I first started using vim I had a pretty long config and some plugins installed and so on. But now that I no longer try to use it as an IDE, neovim is perfect for small edits.

        For development work I use JetBrains suite of tools. Very minimal amount of customisation there also, only a couple of extra plugins installed by me and a couple of changes in the settings. It works well enough that I don’t have any desire to spend time customising it a whole bunch.

      • skydhash 3 days ago

        I'd waste time with tools. I have my vim config, my git config, my emacs config, my bash config,... that I copy over to any development environment I have. And every now and then, I go into the manual or other people config to check if there's any new trick I can apply.

        Comfort is something invaluable when doing a task. I can accept discomfort when I'm in an unfamiliar environment, but not when it's going to be something I will be in for days.

        • daxfohl 3 days ago

          Perhaps the difference is that VSCode and plugins change too often and requires too much maintenance?

  • CGamesPlay 3 days ago

    Ultimately, they're about as trite as reasons to hate Vim or Emacs. It boils down to preference, and I'm outlining a path to using another editor and getting access to some of the same features.

  • __MatrixMan__ 3 days ago

    Each time I try to use it, I find myself distracted by the impulse to fix the bugs that I notice. There's always this moment when I find a comment from myself, several years earlier, in an issue that's still open because it's unclear whether it's a VSCode problem or a plugin problem, and it's like: "oh, here I am again, doing this instead of working".

    That's not to say it's especially buggy, it's just so large, there are a lot of places for bugs to hide.

    I get distracted by the impulse to contribute to other editors also, but those are contributions that I'm happy about. They don't always result in bugs fixed or features added, sometimes somebody says "no" but at least it resolves in some way. With VSCode it feels like I'm going in circles.

  • vovavili 3 days ago

    I personally feel some inner sense of dissonance when I use software written in Electron when alternatives are available. Software targeted to the technical audience has no valid reason not to aim higher in terms of performance and fundamentals.

  • princevegeta89 3 days ago

    I will give you one reason why I don't like it much:

    - The push to use Github Copilot and no option to disable that crap.

    I wish there was a fork of VSCode with all the telemetry and all of the proprietary crap disabled with 100% extension support...

  • timeon 3 days ago

    I do not hate it when others are using it (none of my business). But I do not like to use bloatware. Text editor that eats RAM (even excluding LSP) like 3d editing software.

  • 4gotunameagain 3 days ago

    Microsoft ?

    Through the use of amazing PR they have made people forget about their Embrace, extend, and extinguish strategy with open source.

    • adastra22 3 days ago

      GP went on to recommend Microsoft devcontainers, so I presume that's not the reason.

  • [removed] 3 days ago
    [deleted]
belter 3 days ago

VSCodium - Free/Libre Open Source Software Binaries of VS Code

https://vscodium.com/

  • CGamesPlay 3 days ago

    Just so you know, the devcontainer VSCode extensions are considered proprietary by Microsoft and therefore not allowed to be installed in VSCodium. There are some open-source container plugins, but they are all a bit janky for the container use-case in my experience.

lvl155 3 days ago

Thanks for this. I didn’t know they shipped something like this.