I successfully configured a development environment on Windows 10 by connecting to a remote Linux machine via SSH, using only Visual Studio Code for editing. This approach avoids WSL and eliminates concerns about VMs and Docker container management on Windows.

Visual Studio Code on Windows connected over Remote SSH, editing a MoonScript project with the remote zsh terminal open below

Infrastructure

  • 1GB RAM VPS from BuyVM ($3.5/month)
  • 20GB SSD storage with optional 1TB block storage add-on
  • Cloudflare subdomain setup for convenient access

Local Setup

  • Visual Studio Code with Remote SSH extension
  • SSH key authentication configured

Server Configuration

Standard hardening: created a non-root sudo user, installed zsh with oh-my-zsh, disabled root login and password authentication, and installed Docker.

Workflow Benefits

The setup provides a "local development" experience with remote execution. You can access the terminal within Code for git operations, Docker commands, and file editing via remote commands like code ~/.zshrc.

Windows SSH Agent Solution

Initial challenge: Windows lacked a keychain agent. Resolution required running PowerShell commands to enable the SSH agent service automatically, eliminating repeated passphrase prompts.

For equivalent functionality within the remote VM, I recommend installing the keychain Apt package.

Current Use Case

I develop moon-http (a Lua/MoonScript project) on the gaming desktop while runtime environments exist entirely on the remote VPS. For file sharing, I also set up a free personal file host using IBM Cloud Object Storage with a command-line workflow.