The Remote - SSH extension lets you use any remote machine with a SSH server as your development environment. This can greatly simplify development and troubleshooting in a wide variety of situations. You can:
- Develop on the same operating system you deploy to or use larger, faster, or more specialized hardware than your local machine.
- Quickly swap between different, remote development environments and safely make updates without worrying about impacting your local machine.
- Access an existing development environment from multiple machines or locations.
- Debug an application running somewhere else such as a customer site or in the cloud.
Developing inside a Container. The Visual Studio Code Remote - Containers extension lets you use a Docker container as a full-featured development environment. It allows you to open any folder inside (or mounted into) a container and take advantage of Visual Studio Code's full feature set. Visual Studio Live Share lets you collaboratively edit and debug any codebase with others in real time—each person working in their own familiar, personalized environment.
Remote Desktop Windows 10
No source code needs to be on your local machine to gain these benefits since the extension runs commands and other extensions directly on the remote machine. You can open any folder on the remote machine and work with it just as you would if the folder were on your own machine.
SSH Host Requirements
You can connect to a running SSH server on the following platforms.
Supported:
- x86_64 Debian 8+, Ubuntu 16.04+, CentOS / RHEL 7+ Linux.
- ARMv7l (AArch32) Raspbian Stretch/9+ (32-bit).
- ARMv8l (AArch64) Ubuntu 18.04+ (64-bit).
- Windows 10 / Server 2016/2019 (1803+) using the official OpenSSH Server.
- macOS 10.14+ (Mojave) SSH hosts with Remote Login enabled.
Other glibc
based Linux distributions for x86_64, ARMv7l (AArch32), and ARMv8l (AArch64) should work if they have the needed prerequisites. See the Remote Development with Linux article for information prerequisites and tips for getting community supported distributions up and running.
While ARMv7l (AArch32) and ARMv8l (AArch64) support is available, some extensions installed on these devices may not work due to the use of x86 native code in the extension.
Installation
Install VS Code or VS Code - Insiders and this extension.
Install an OpenSSH compatible SSH client.
If you do not have a SSH host set up, follow the directions for Linux, Windows 10 / Server (1803+), or macOS or create a VM on Azure.
Getting started
Follow the step-by-step tutorial or if you have a simple SSH host setup, connect to it as follows:
- Press
F1
and run the Remote-SSH: Open SSH Host.. command. - Enter your user and host/IP in the following format in the input box that appears and press enter:
user@host-or-ip
oruser@domain@host-or-ip
- If prompted, enter your password (but we suggest setting up key based authentication).
- After you are connected, use File > Open Folder to open a folder on the host.
You can press F1
to bring up the Command Palette and type in Remote-SSH
for a full list of available commands.
You can also click on the Remote 'Quick Access' status bar item in the lower left corner to get a list of the most common commands.
For more information, please see the extension documentation.
Release Notes
While an optional install, this extension releases with VS Code. VS Code release notes include a summary of changes to all three Remote Development extensions with a link to detailed release notes.
As with VS Code itself, the extensions update during a development iteration with changes that are only available in VS Code Insiders Edition.
Questions, Feedback, Contributing
Have a question or feedback?
- See the documentation or the troubleshooting guide.
- Up-vote a feature or request a new one, search existing issues, or report a problem.
- Contribute to our documentation
- ..and more. See our CONTRIBUTING guide for details.
Or connect with the community..
Telemetry
Visual Studio Code Remote - SSH and related extensions collect telemetry data to help us build a better experience working remotely from VS Code. We only collect data on which commands are executed. We do not collect any information about image names, paths, etc. The extension respects the telemetry.enableTelemetry
setting which you can learn more about in the Visual Studio Code FAQ.
License
By downloading and using the Visual Studio Remote - SSH extension and its related components, you agree to the product license terms and privacy statement.
The Remote - Containers extension lets you use a Docker container as a full-featured development environment. Whether you deploy to containers or not, containers make a great development environment because you can:
- Develop with a consistent, easily reproducible toolchain on the same operating system you deploy to.
- Quickly swap between different, isolated development environments and safely make updates without worrying about impacting your local machine.
- Make it easy for new team members / contributors to get up and running in a consistent development environment.
- Try out new technologies or clone a copy of a code base without impacting your local setup.
The extension starts (or attaches to) a development container running a well defined tool and runtime stack. Workspace files can be mounted into the container from the local file system, or copied or cloned into it once the container is running. Extensions are installed and run inside the container where they have full access to the tools, platform, and file system.
You then work with VS Code as if everything were running locally on your machine, except now they are isolated inside a container.
System Requirements
Local:
Visual Studio Remote Desktop Windows 10
- Windows:Docker Desktop 2.0+ on Windows 10 Pro/Enterprise. Windows 10 Home (2004+) requires Docker Desktop 2.2+ and the WSL2 back-end. (Docker Toolbox is not supported.)
- macOS: Docker Desktop 2.0+.
- Linux: Docker CE/EE 18.06+ and Docker Compose 1.21+. (The Ubuntu snap package is not supported.)
Containers:
- x86_64 / ARMv7l (AArch32) / ARMv8l (AArch64) Debian 9+, Ubuntu 16.04+, CentOS / RHEL 7+
- x86_64 Alpine Linux 3.9+
Other glibc
based Linux containers may work if they have needed prerequisites.
While ARMv7l (AArch32), ARMv8l (AArch64), and musl
based Alpine Linux support is available, some extensions installed on these devices may not work due to the use of glibc
or x86
compiled native code in the extension. See the Remote Development with Linux article for details.
Note that while the Docker CLI is required, the Docker daemon/service does not need to be running locally if you are using a remote Docker host.
Installation
To get started, follow these steps:
Remote Desktop Download
Install VS Code or VS Code Insiders and this extension.
Install and configure Docker for your operating system.
Windows / macOS:
- Install Docker Desktop for Mac/Windows.
- If not using WSL2 on Windows, right-click on the Docker task bar item, select Settings / Preferences and update Resources > File Sharing with any locations your source code is kept. See tips and tricks for troubleshooting.
- To enable the Windows WSL2 back-end: Right-click on the Docker taskbar item and select Settings. Check Use the WSL2 based engine and verify your distribution is enabled under Resources > WSL Integration.
Linux:
- Follow the official install instructions for Docker CE/EE. If you use Docker Compose, follow the Docker Compose install directions.
- Add your user to the
docker
group by using a terminal to run:sudo usermod -aG docker $USER
Sign out and back in again so this setting takes effect.
Working with Git? Here are two tips to consider:
- If you are working with the same repository folder in a container and Windows, be sure to set up consistent line endings. See tips and tricks to learn how.
- If you clone using a Git credential manager, your container should already have access to your credentials! If you use SSH keys, you can also opt-in to sharing them. See Sharing Git credentials with your container for details.
Getting started
Follow the step-by-step tutorial or if you are comfortable with Docker, follow these four steps:
- Follow the installation steps above.
- Clone
https://github.com/Microsoft/vscode-remote-try-node
locally. - Start VS Code
- Run the Remote-Containers: Open Folder in Container.. command and select the local folder.
Check out the repository README for things to try. Next, learn how you can:
- Use a container as your full-time environment - Open an existing folder in a container for use as your full-time development environment in few easy steps. Works with both container and non-container deployed projects.
- Attach to a running container - Attach to a running container for quick edits, debugging, and triaging.
- Advanced: Use a remote Docker host - Once you know the basics, learn how to use a remote Docker host if needed.
Available commands
Another way to learn what you can do with the extension is to browse the commands it provides. Press F1
to bring up the Command Palette and type in Remote-Containers
for a full list of commands.
You can also click on the Remote 'Quick Access' status bar item to get a list of the most common commands.
For more information, please see the extension documentation.
Release Notes
While an optional install, this extension releases with VS Code. VS Code release notes include a summary of changes to all three Remote Development extensions with a link to detailed release notes.
As with VS Code itself, the extensions update during a development iteration with changes that are only available in VS Code Insiders Edition.
Questions, Feedback, Contributing
Have a question or feedback?
- See the documentation or the troubleshooting guide.
- Up-vote a feature or request a new one, search existing issues, or report a problem.
- Contribute a development container definition for others to use
- Contribute to our documentation
- ..and more. See our CONTRIBUTING guide for details.
Microsoft Remote Desktop
Or connect with the community..
Telemetry
Visual Studio Code Remote - Containers and related extensions collect telemetry data to help us build a better experience working remotely from VS Code. We only collect data on which commands are executed. We do not collect any information about image names, paths, etc. The extension respects the telemetry.enableTelemetry
There is a way download free. setting which you can learn more about in the Visual Studio Code FAQ.
License
By downloading and using the Visual Studio Remote - Containers extension and its related components, you agree to the product license terms and privacy statement.