Skip to content

Commit 09b9ec4

Browse files
committed
2 parents 3b0d039 + 1fcc1d3 commit 09b9ec4

File tree

7 files changed

+77
-71
lines changed

7 files changed

+77
-71
lines changed

blogs/2019/05/02/remote-development.md

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
Order: 47
33
TOCTitle: Remote Development
44
PageTitle: Remote Development with Visual Studio Code
5-
MetaDescription: Remote Development with Visual Studio Code for SSH, WSL, and Containers
5+
MetaDescription: VS Code remote support for WSL, Containers, and SSH
66
MetaSocialImage: /assets/blogs/2019/05/02/social_remote.png
77
Date: 2019-05-02
88
ShortDescription: Remote Development with Visual Studio Code
@@ -57,14 +57,13 @@ But, it just wasn't right. It didn't make sense to do special work for every run
5757

5858
We convinced ourselves that what we needed was a way to run VS Code in two places at once, to run the developer tools locally and connect to a set of development services running remotely in the context of a physical or virtual machine (for example, a container or VM). This gives you a rich local development experience in the context of what is on the remote machine.
5959

60-
![Remote environment](remote-environment.png)
61-
60+
![Visual Studio Code connecting to remote environments](remote-environment.png)
6261

6362
## Introducing the VS Code Remote Extensions
6463

6564
Over the past few months, we've been working hard re-establishing proper boundaries between our code layers and eliminating assumptions about the local development environment. We've built three new extensions for working with remote workspaces running in WSL, Docker containers, or in physical and virtual machines over SSH.
6665

67-
![Remote extensions](remote-extensions.png)
66+
![Visual Studio Code Remote Extensions for WSL, Containers, and SSH](remote-extensions.png)
6867

6968
The **[Remote - WSL](https://marketplace.visualstudio.com/items?itemName=ms-vscode-remote.remote-wsl)** extension lets you use the [Windows Subsystem for Linux (WSL)](https://docs.microsoft.com/en-us/windows/wsl) as a full development environment, right from VS Code. This new, optimized support lets you:
7069

@@ -100,7 +99,7 @@ For more information, please see the [Developing using SSH](https://aka.ms/vscod
10099

101100
---
102101

103-
The **[Remote - Containers](https://marketplace.visualstudio.com/items?itemName=ms-vscode-remote.remote-containers)** extension lets you use a [Docker container](https://docker.com) as your [development container](https://aka.ms/vscode-remote/containers/folder-setup). Containers make a great development environments because:
102+
The **[Remote - Containers](https://marketplace.visualstudio.com/items?itemName=ms-vscode-remote.remote-containers)** extension lets you use a [Docker container](https://docker.com) as your [development container](https://aka.ms/vscode-remote/containers/folder-setup). Containers make great development environments because:
104103

105104
* You can develop with a consistent and easily reproducible tool chain, on the same operating system you are deploying to.
106105
* Containers are isolated, meaning you can quickly swap between different development environments without impacting your local machine.

blogs/2019/05/02/social-remote.png

Lines changed: 2 additions & 2 deletions
Loading

docs/remote/faq.md

Lines changed: 22 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ This article covers frequently asked questions for each of the Visual Studio Cod
1515

1616
### What is Visual Studio Code Remote Development?
1717

18-
The Visual Studio Code Remote Development extension pack allows you to open any folder in a container, on a remote machine (via SSH), or in the Windows Subsystem for Linux and take advantage of VS Code's full feature set. This means that VS Code can provide a local-quality development experience — including full IntelliSense (completions), debugging, and more — regardless of where your code is located or hosted.
18+
The Visual Studio Code [Remote Development](https://aka.ms/vscode-remote/download/extension) extension pack allows you to open any folder in a container, on a remote machine (via SSH), or in the Windows Subsystem for Linux and take advantage of VS Code's full feature set. This means that VS Code can provide a local-quality development experience — including full IntelliSense (completions), debugging, and more — regardless of where your code is located or hosted.
1919

2020
### What advantages does VS Code Remote Development provide over local editing?
2121

@@ -31,33 +31,33 @@ Compared to using a network share or synchronizing files, VS Code Remote Develop
3131

3232
### How do the Remote Development extensions work?
3333

34-
Visual Studio Code Remote Development allows your local VS Code installation to transparently interact with code and runtime environments sitting on other machines (whether virtual or physical) by moving the execution of certain commands to a "remote server". This "VS Code Server" is quickly installed by VS Code when you connect to a remote endpoint and can host extensions that interact directly with the remote workspace, machine, and file system.
34+
Visual Studio Code Remote Development allows your local VS Code installation to transparently interact with source code and runtime environments on other machines (whether virtual or physical) by moving the execution of certain commands to a "remote server". The **VS Code Server** is quickly installed by VS Code when you connect to a remote endpoint and can host extensions that interact directly with the remote workspace, machine, and file system.
3535

3636
![Architecture summary](images/troubleshooting/architecture.png)
3737

38-
See [Supporting Remote Development](/api/advanced-topics/remote-extensions.md) for additional details.
38+
See [Supporting Remote Development](/api/advanced-topics/remote-extensions.md) for additional details about extensions.
3939

40-
### How do the Remote Development extensions secure access to a remote machine / VM / container?
40+
### How do the Remote Development extensions secure access to a remote machine, VM, or container?
4141

4242
Visual Studio Code Remote Development uses existing, well known transports like [secure shell](https://en.wikipedia.org/wiki/Secure_Shell) to authenticate and secure traffic. No ports need to be publicly opened beyond those used by these well-known, secure transports.
4343

44-
The VS Code Server that is injected runs as the same user you used to sign into the machine, ensuring that VS Code and its extensions are not given improper elevated access without permission. The server is started and stopped by VS Code and is not wired into any user / global login or startup scripts. VS Code manages its lifecycle so you do not need to worry about whether or not it is running.
44+
The VS Code Server that is injected runs as the same user you used to sign into the machine, ensuring that VS Code and its extensions are not given improper elevated access without permission. The server is started and stopped by VS Code and is not wired into any user or global login or startup scripts. VS Code manages the server's lifecycle so you do not need to worry about whether or not it is running.
4545

4646
### Can the VS Code Server be installed or used on its own?
4747

4848
No. The VS Code Server is a component of the Remote Development extensions and is managed by a VS Code client. It is installed and updated automatically by VS Code when it connects to an endpoint and is not intended or [licensed](https://go.microsoft.com/fwlink/?linkid=2077057) for use by other clients.
4949

5050
### What are the connectivity requirements for VS Code Server?
5151

52-
The VS Code Server requires outbound HTTPS (port 443) connectivity to `update.code.visualstudio.com` and `marketplace.visualstudio.com`. All other communication between the server and the VS Code client is accomplished through...
52+
The VS Code Server requires outbound HTTPS (port 443) connectivity to `update.code.visualstudio.com` and `marketplace.visualstudio.com`. All other communication between the server and the VS Code client is accomplished through the following transport channels depending on the extension:
5353

5454
* SSH: An authenticated, secure SSH tunnel.
5555
* Containers: An authenticated, random port automatically exposed via the Docker CLI.
5656
* WSL: An authenticated, random local TCP port.
5757

58-
### What Linux packages / libraries need to be installed on host to use Remote Development?
58+
### What Linux packages or libraries need to be installed on a host to use Remote Development?
5959

60-
Most Linux distributions will not require additional dependency installation steps. For SSH, Linux hosts need to have Bash (`/bin/bash`), `tar`, and either `curl` or `wget` installed which could be missing from certain stripped down distributions. However, [Alpine Linux](https://alpinelinux.org) is currently not supported.
60+
Most Linux distributions will not require additional dependency installation steps. For SSH, Linux hosts need to have Bash (`/bin/bash`), `tar`, and either `curl` or `wget` installed and those utilities could be missing from certain stripped down distributions. [Alpine Linux](https://alpinelinux.org) is currently not supported.
6161

6262
### Can the Docker extension run as a remote "workspace" extension?
6363

@@ -71,25 +71,25 @@ The Docker extension is configured to run as a local "UI" extension by default.
7171

7272
### Can I install individual extensions instead of the extension pack?
7373

74-
Yes. The extension pack provides a convenient way for you to access all of the latest remote capabilities as they are released. However, you can opt to install the individual extensions instead from the marketplace or VS Code extension panel.
74+
Yes. The [Remote Development](https://aka.ms/vscode-remote/download/extension) extension pack provides a convenient way for you to access all of the latest remote capabilities as they are released. However, you can always install the individual extensions from the Marketplace or VS Code Extensions view.
7575

7676
* [Remote - SSH](https://aka.ms/vscode-remote/download/ssh)
7777
* [Remote - Containers](https://aka.ms/vscode-remote/download/containers)
7878
* [Remote - WSL](https://aka.ms/vscode-remote/download/containers)
7979

8080
## Remote - Containers
8181

82-
### Are "dev container definitions" supposed to define how an application is deployed?
82+
### Do "dev container definitions" define how an application is deployed?
8383

84-
No. A development container defines an environment in which you develop your application even before you are ready to build or deploy. While deployment and development containers may resemble one another, you often will not include tools in a deployment image that you will want during development.
84+
No. A development container defines an environment in which you develop your application before you are ready to deploy. While deployment and development containers may resemble one another, you may not want to include tools in a deployment image that you use during development.
8585

86-
The [vscode-dev-containers repo](https://aka.ms/vscode-dev-containers) includes a set of dev container definitions for some common development environments. You can also [attach to a running container](/docs/remote/containers.md#attaching-to-running-containers) without setting up a dev container definition if you prefer to use an alternate container build or deployment workflow.
86+
The [vscode-dev-containers repo](https://aka.ms/vscode-dev-containers) includes a set of dev container definitions for some common development environments. You can also [attach to a running container](/docs/remote/containers.md#attaching-to-running-containers) without setting up a dev container definition, if you prefer to use an alternate container build or deployment workflow.
8787

88-
### Are "dev containers definitions" intended to define how an application is built? Like Buildpacks?
88+
### Do "dev containers definitions" define how an application is built? Like Buildpacks?
8989

90-
No. The [Buildpack](https://buildpacks.io/) concept focuses on taking source code and generating deployable container images through a series of defined steps. A dev container is an environment you can use to develop your application even before you are ready to build. They are therefore complementary concepts.
90+
No. The [Buildpacks](https://buildpacks.io/) concept focuses on taking source code and generating deployable container images through a series of defined steps. A dev container is an environment in which you can develop your application before you are ready to build. They are therefore complementary concepts.
9191

92-
### Why do some commands invoked from the Docker Extension fail?
92+
### Why do some commands invoked from the Docker extension fail?
9393

9494
Using the Docker extension from a VS Code window opened in a container has some limitations. Most containers do not have the Docker command line installed. Therefore commands invoked from the Docker extension that rely on the Docker command line, for example **Docker: Show Logs**, fail. If you need to execute these commands, open a new local window and use the Docker extension from this VS Code window or [set up Docker inside your container](https://aka.ms/vscode-remote/samples/docker-in-docker).
9595

@@ -99,27 +99,27 @@ Using the Docker extension from a VS Code window opened in a container has some
9999

100100
The VS Code extension API abstracts away local/remote details so most extensions will work without modification. However, given extensions can use any node module or runtime they want, there are situations where adjustments may need to be made. We recommend you should test your extension (particularly in a container) to be sure that no updates are required. See [Supporting Remote Development](/api/advanced-topics/remote-extensions.md) for details.
101101

102-
### Can I give an extension access to local resources or APIs when a user is connected remotely?
102+
### Can an extension access local resources or APIs when a user is connected remotely?
103103

104-
When VS Code connects to a remote environment, extensions are classified as either **UI** or **Workspace** extensions. UI Extensions run in a "local extension host", can contribute UI or personalization features (for example themes), and have access to local files or APIs. Workspace extensions run in a **remote extension host** with the workspace and have full access to the code, remote filesystem, and remote APIs. While they do not focus on personalization, they can contribute explorers, views, and other UI elements as well.
104+
When VS Code connects to a remote environment, extensions are classified as either **UI** or **Workspace** extensions. UI Extensions run in a **local extension host**, can contribute UI or personalization features (for example themes), and have access to local files or APIs. Workspace extensions run in a **remote extension host** with the workspace and have full access to the source code, remote filesystem, and remote APIs. While Workspace extensions do not focus on UI customization, they can contribute explorers, views, and other UI elements as well.
105105

106-
When a user installs an extension, VS Code attempts to infer the correct location and install it based on its type. Extensions that do not need to run remotely like themes and other personalization are automatically installed on the UI side. All others are treated as Workspace extensions since they are the most full-featured. However, extension authors can also override this location with an `extensionKind` property in `package.json`.
106+
When a user installs an extension, VS Code attempts to infer the correct location and install it based on its type. Extensions that do not need to run remotely like themes and other UI customizations are automatically installed on the UI side. All others are treated as Workspace extensions since they are the most full-featured. However, extension authors can also override this location with an `extensionKind` property in `package.json`.
107107

108108
See [Supporting Remote Development](/api/advanced-topics/remote-extensions.md)for additional details.
109109

110110
## License and privacy
111111

112112
### Location
113113

114-
You can find the licenses for the VS Code Remote Extensions here:
114+
You can find the licenses for the VS Code Remote Development extensions here:
115115

116116
* [Remote-SSH License](https://marketplace.visualstudio.com/items/ms-vscode-remote.remote-ssh/license)
117117
* [Remote-WSL License](https://marketplace.visualstudio.com/items/ms-vscode-remote.remote-wsl/license)
118118
* [Remote-Containers License](https://marketplace.visualstudio.com/items/ms-vscode-remote.remote-containers/license)
119119

120-
### Why aren't the Remote Extensions using the MIT License?
120+
### Why aren't the Remote Development extensions using the MIT License?
121121

122-
The VS Code Remote Extensions are available under Microsoft pre-release licenses, similar to other service-based extensions such as [Visual Studio IntelliCode](https://marketplace.visualstudio.com/items/VisualStudioExptTeam.vscodeintellicode/license) and [Visual Studio Live Share](https://marketplace.visualstudio.com/items/MS-vsliveshare.vsliveshare-pack/license). A Microsoft license (instead of MIT, for example) makes it easier for us to license certain features of the product, such as access to the Visual Studio Marketplace (section 1.d), the re-licensing of third-party components (section 1.c), and telemetry data (section 4).
122+
The VS Code Remote Development extensions are available under Microsoft pre-release licenses, similar to other service-based extensions such as [Visual Studio IntelliCode](https://marketplace.visualstudio.com/items/VisualStudioExptTeam.vscodeintellicode/license) and [Visual Studio Live Share](https://marketplace.visualstudio.com/items/MS-vsliveshare.vsliveshare-pack/license). A Microsoft license (instead of MIT, for example) makes it easier for us to license certain features of the product, such as access to the Visual Studio Marketplace (section 1.d), the re-licensing of third-party components (section 1.c), and telemetry data (section 4).
123123

124124
### Why aren't the Remote Development extensions or their components open source?
125125

@@ -131,7 +131,7 @@ No, they will remain free of charge. In the future, we may provide "premium" dev
131131

132132
### Can I host the VS Code Server in my Service?
133133

134-
No. The extensions will automatically install the proper version of the server in the host (based on commit) so you cannot pre-install the server as they would quickly become out of sync with the extensions. Furthermore, the license states that you may not "provide the software as a stand-alone or integrated offering or combine it with any of your applications for others to use" which means you are not permitted to use the Remote Extensions with a hosted development offering. You are free to use the Remote Extensions with personal or work computers, internally hosted Virtual Machines, or Container instances as long as you do not expose the services as a publicly available development offering.
134+
No. The extensions will automatically install the proper version of the server in the host (based on commit) so you cannot pre-install the server as it would quickly become out of sync with the extensions. Furthermore, the license states that you may not "provide the software as a stand-alone or integrated offering or combine it with any of your applications for others to use" which means you are not permitted to use the Remote Development extensions with a hosted development offering. You are free to use the Remote Development extensions with personal or work computers, internally hosted Virtual Machines, or Container instances as long as you do not expose the services as a publicly available development offering.
135135

136136
### GDPR and VS Code Remote Development
137137

Lines changed: 2 additions & 2 deletions
Loading
Lines changed: 2 additions & 2 deletions
Loading
Lines changed: 2 additions & 2 deletions
Loading

0 commit comments

Comments
 (0)