In this walkthrough, I set up a VS Code Dev Container, beginning with my use of Remote-SSH on homelab LXCs and my goal of running AI coding agents like Claude Code in an isolated, easily recreated environment. I cover writing a Dockerfile and devcontainer.json, how the extension automatically handles the VS Code server and workspace bind mounts, and the difference between UI and workspace extensions, including declaring them in the config for reproducible setups. I leave handling SSH keys for pushing code to a future post...
I walk through using VS Code’s Remote-SSH extension to edit files on a remote server with a full editor instead of terminal tools like nano or vim. I explain that the plugin works by installing VS Code Server on the remote machine and connecting over SSH, then I cover setup: installing the extension, adding a host via the Remote Explorer, saving the SSH config, and connecting in a new window...
How I silence linter warnings that VS Code raises for the minified pico.min.css file from the Pico CSS library: I exclude the file with a files.exclude entry in .vscode/settings.json, which stops it appearing in the file view and being processed by extensions. I also cover committing workspace settings to the repository and leaving a note in .gitignore so the hidden file isn’t confusing later...
I share a quick tip on running JavaScript in VS Code: install Node.js, and the editor will offer it as the runtime the first time you execute a JS file. I also note that the Live Server dev server is accessible to other devices on my network via my machine’s IP address, which is handy for previewing layouts on phones...
Emmet is a Visual Studio Code feature that expands short abbreviations into full HTML, using CSS selector syntax. I describe how I discovered it and demonstrate the basics: creating elements with classes and ids, nesting child elements, inserting text, and repeating items such as list entries...