Sanity Check VS Code Servers
Clone this wiki locally
Note that for the servers, you do not need to manually download any server bits.
Linux Platforms
Note that you only need to use VS Code with the Remote-Containers extension and Docker to verify the servers. You do not need to manually install or run qemu.
- Install VS Code at the exact version (commit) that needs sanity checking.
- Install the Remote-Containers extension.
- Run the following commands. They register the QEMU hardware emulator and start 4 kinds of containers:
docker run --rm --privileged hypriot/qemu-register
docker run -d ubuntu sleep infinity
docker run -d arm32v7/ubuntu /bin/sh -c 'apt update && apt install -y libatomic1 && sleep infinity'
docker run -d arm64v8/ubuntu sleep infinity
docker run -d alpine sleep infinity
docker run -d arm64v8/alpine sleep infinity
- Check that you can connect to each of the containers from the Remote Explorer.
- Check which platform you are on by running
uname -mfrom the integrated terminal. (Expect:x86_64,armv7landaarch64) - Alpine Linux runs on
x86_64andaarch64, checkcat /etc/os-releaseshows Alpine as the distro.
- Check which platform you are on by running
- Use the Remote Explorer to remove the containers. (Note that the current window's container cannot be removed, use a new window instead.)
Windows
Use the Remote-SSH extension to connect from any client platform to a Windows remote. Some ways to do this:
- You can use the test VM from this issue.
- Connect to localhost on your own Windows machine. You'll need to set up and start OpenSSH services, such as the OpenSSH SSH Server service and the OpenSSH Authentication Agent service.
Note: if you are an AAD user on your Windows machine, you may have to apply this workaround.
Here is an example localhost config that can be added to your SSH config file:
Host localhost
HostName localhost
User <username>@microsoft.com
Where <username> can be found by running whoami /user on cmd.exe.
macOS
Use the Remote-SSH extension to connect from any client platform to a macOS remote (connecting to localhost is ok). To start the SSH server, you just have to enable Remote Login as described here.

