VS Codeο
Three variants are available:
Variant |
Port Forwarding |
Extensions |
Best For |
|---|---|---|---|
|
Required |
Open VSX only |
Open-source alternative, no Microsoft account |
|
Required |
All (Copilot, Pylance) |
Full VS Code, direct connection |
|
Not required |
All (Copilot, Pylance) |
When port forwarding is difficult |
condatainer helper -u
condatainer helper code-server -w # open-source
condatainer helper vscode-server -w # full VS Code
condatainer helper vscode-tunnel -w # no port forwarding
See Helper Scripts for SSH port forwarding setup, resource flags, configuration, and reuse mode.
code-serverο
Open-source VS Code served in the browser. Does not support Microsoft-proprietary extensions (Copilot, Pylance). Use vscode-server if you need those.
Flagsο
condatainer helper code-server --help
Flag |
Description |
Default |
|---|---|---|
|
Browser password (empty = no auth) |
(empty) |
See Helper Scripts for resource and overlay flags.
vscode-serverο
Uses the official VS Code CLI (code) to serve a full VS Code instance in your browser. All extensions β including Microsoft-proprietary ones (Copilot, Pylance, Remote, etc.) β are available.
Flagsο
condatainer helper vscode-server --help
Flag |
Description |
Default |
|---|---|---|
|
Connection token for the web UI |
(auto-generated) |
See Helper Scripts for resource and overlay flags.
vscode-tunnelο
Uses Microsoftβs relay service β no SSH port forwarding needed. Authenticate once with GitHub or Microsoft, then connect your local VS Code by tunnel name.
Local VS Code ββ Microsoft relay ββ Compute node
Note
vscode-tunnel is a singleton helper β only one instance can run at a time (tunnel names must be unique per account).
Flagsο
condatainer helper vscode-tunnel --help
Flag |
Description |
Default |
|---|---|---|
|
Auth provider: |
|
|
Tunnel machine name |
|
See Helper Scripts for resource and overlay flags.
Authenticationο
On first run (or after token expiry):
To sign in, use a web browser to open the page https://microsoft.com/devicelogin
and enter the code FE2G6WJQK to authenticate.
Authentication times out after 10 minutes β run again if it expires.
The access URL is https://vscode.dev/tunnel/<name>/... β connect via the VS Code Remote - Tunnels extension or open it in a browser.
Common Issuesο
Inode quota issuesο
VS Code stores data under $HOME by default, which can exhaust the HOME inode quota on HPC systems. Redirect to high-inode storage (SCRATCH, VAST, or similar) with symlinks β set this up once on the login node:
# Replace /path/to/high-inode-storage with your SCRATCH, VAST, etc.
HIGH_INODE=/path/to/high-inode-storage
# code-server: extensions
mkdir -p "$HIGH_INODE/.local/share/code-server"
ln -sfn "$HIGH_INODE/.local/share/code-server" "$HOME/.local/share/code-server"
# vscode-server and vscode-tunnel: CLI runtime
mkdir -p "$HIGH_INODE/.vscode"
ln -sfn "$HIGH_INODE/.vscode" "$HOME/.vscode"
# vscode-server: extensions
mkdir -p "$HIGH_INODE/.vscode-server"
ln -sfn "$HIGH_INODE/.vscode-server" "$HOME/.vscode-server"
Connection token issues (vscode-server)ο
The token is embedded in the URL as tkn=<token>. Copy the full URL from the output.
Machine name already taken (vscode-tunnel)ο
condatainer helper vscode-tunnel config set MACHINE_NAME my-unique-name