You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
This repository was archived by the owner on Nov 30, 2023. It is now read-only.
Copy file name to clipboardExpand all lines: README.md
+34-25Lines changed: 34 additions & 25 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,30 +1,43 @@
1
-
# Visual Studio Code Remote Development Container Definitions
1
+
# VS Code Remote Development Container Definitions
2
2
3
-
A **development container** is a running container that comes with a basic tool stack (Python, node, Go, etc.) and its prerequisites (e.g. `pylint` for Python). This container may be used to actually run an application or be focused exclusively on sandboxing tools, libraries, runtimes, or other utilities that need to be run against a codebase.
<tdstyle="width: 140px; text-align: center;"><ahref="https://aka.ms/vscode-remote/download/extension"><imgwidth="128px"src="https://microsoft.github.io/vscode-remote-release/images/remote-extensionpack.png"alt="Visual Studio Code logo"/></a></td>
5
+
<td>
6
+
<strong>Visual Studio Code Remote Development</strong><br />
7
+
<i>Open any folder in a container, on a remote machine, or in WSL and take advantage of VS Code's full feature set. <strong><ahref="https://aka.ms/vscode-remote">Learn more!</a></strong><br />
The Containers extension in the [Visual Studio Code Remote Development](https://aka.ms/vscode-remote/download/extension) extension pack allows you to open any folder inside (or mounted into) a dev container and take advantage of VS Code's full feature set. When using the capability, VS Code selectively runs certain extensions in the container to optimize your experience. The result is that VS Code can provide a local-quality development experience including full IntelliSense, debugging, and more regardless of where your code is hosted.
12
+
A **development container** is a running container that comes with a basic tool stack (Python, node, Go, etc.) and its prerequisites. The Remote - Containers extension in the [Remote Development](https://aka.ms/vscode-remote/download/extension) extension pack allows you to open any folder inside (or mounted into) a dev container and take advantage of VS Code's full feature set.
6
13
7
-
**[Learn more about the Visual Studio Code Remote - Containers extension](https://aka.ms/vscode-remote/containers)**.
14
+
This repository contains a set of **dev container definitions** to help get you up and running in a containerized environment. They describe the needed container image, any runtime arguments for starting the container, and any VS Code extensions that should be installed into it. They're can help you get started or be used as examples for adapting your own configuration to different situations.
8
15
9
-
This repository contains a set of **dev container definitions** made up of files like `devcontainer.json` to help get you up and running in a containerized environment. These definitions describe the needed container image, any runtime arguments for starting the container, and any VS Code extensions that should be installed into it. They're can be useful to help you get started or as samples for how to adapt your own configuration to different situations.
16
+
## Using a definition
10
17
11
-
## Trying a definition
18
+
To add a dev container definition in your project, you can either:
12
19
13
-
1. Click on one of the `containers` sub-folders to open it in your browser
14
-
2. Check out the README to see if there are any manual steps
15
-
3. Clone this repository or copy the contents of the folder to your machine
16
-
4. Run the **Remote-Containers: Open Folder in Container...** command in VS Code
17
-
5. Select the root of the definition folder in the "open" dialog (**not** the `test-project` folder if present)
20
+
- Add them using VS Code:
21
+
22
+
1. If this is your first time creating a dev container, follow the [getting started steps](https://aka.ms/vscode-remote/containers/getting-started) to configure your machine.
23
+
2. Start VS Code and open your project folder.
24
+
3. Press <kbd>F1</kbd>
25
+
and select either the **Remote-Containers: Create Container Configuration File...** or **Remote-Containers: Reopen Folder in Container** commands.
26
+
4. Follow the directions and pick a development container definition when the list appears.
18
27
19
-
Many definitions include a `test-project` with a sample and/or launch settings in the `.vscode` folder that you can use to see the dev container in action.
28
+
- Or manually copy the contents of one of folders in the `containers` directory into your project. Typically you can just copy the `.devcontainer` folder ignore everything else. See the definition's `README` for details.
20
29
21
-
## Using a definition
30
+
## Trying a definition
22
31
23
-
You can either:
32
+
If you want to try out a definition before choosing one:
24
33
25
-
- Open a folder in VS Code without a `devcontainer.json` file and run the **Remote-Containers: Create Container Configuration File...** or **Remote-Containers: Reopen Folder in Container** commands. You be prompted to pick a definition and any options and the appropriate files will then be added to your project.
34
+
1. If this is your first time creating a dev container, follow the [getting started steps](https://aka.ms/vscode-remote/containers/getting-started) to configure your machine.
35
+
2. Browse the contents of the `containers` folder in this repository and pick one. Check out the `README` to see if there are any manual setup steps you should be aware of before continuing.
36
+
3. Clone this repository locally.
37
+
4. Start VS Code, press <kbd>F1</kbd>, and run the **Remote-Containers: Open Folder in Container...** command.
38
+
5. Select the root of the definition folder from the cloned repository when prompted (**not** the `test-project` folder if present).
26
39
27
-
- Manually copy the contents of one of the `containers` sub-folders into your project. Typically you can just copy the `.devcontainer` folder into your project but the folder's README may mention additional files.
40
+
Many definitions include a `test-project` with a sample and/or launch settings in the `.vscode` folder that you can use to see the dev container in action. See the definition's `README` for details.
28
41
29
42
## Adding a definition to an existing public or private repo
30
43
@@ -38,19 +51,15 @@ Beyond the advantages of having your team use a consistent environment and tool-
38
51
-`container-templates` - Contains templates for creating your own container definitions for your project or to [contribute back](CONTRIBUTING.md#contributing-dev-container-definitions).
39
52
-`repository-containers` - Dev container definitions for working on a cloned copy of specific, public source code repository (rather than general purpose).
40
53
41
-
## Common Questions
42
-
43
-
### Can I just reuse an existing container image or Docker configuration?
44
-
45
-
Absolutely! If you want to use an existing Dockerfile as a starting point, run **Remote-Containers: Create Container Configuration File...** from the command pallette (Cmd/Ctrl+Shift+P). You'll be prompted to select a Dockerfile or you can opt to use a base image instead and customize from there.
54
+
### Common Questions
46
55
47
-
You can also check out the [existing Dockerfile](containers/docker-existing-dockerfile) and [existing Docker Compose](containers/docker-existing-docker-compose) definitions for an example `devcontainer.json` . If none of these options meet your needs, you can start up the container any way you see fit and [attach to it](https://aka.ms/vscode-remote/containers/attach) instead.
56
+
#### Can I just reuse an existing container image or Docker / Docker Compose configuration?
48
57
49
-
### What is the goal of `devcontainer.json`?
58
+
Yes! If you want to use an existing Dockerfile as a starting point, run **Remote-Containers: Create Container Configuration File...** from the command pallette (Cmd/Ctrl+Shift+P). You'll be prompted to select a Dockerfile or Docker Compose file and customize from there. If you prefer, you can also you can start up the container any way you see fit and [attach to it](https://aka.ms/vscode-remote/containers/attach) instead.
50
59
51
-
The intent of `devcontainer.json`is conceptually similar to VS Code's `launch.json` for debugging, but designed to launch (or attach to) your development container instead. At its simplest, all you need to do is add a `.devcontainer/devcontainer.json` file to your project and reference an image, `Dockerfile`, or `docker-compose.yml` and a few properties.
60
+
#### What is the goal of `devcontainer.json`?
52
61
53
-
Check out the `container-templates` folder for simple starter templates. The definitions in the `containers` folder can be used as-is or as samples for how to modify your existing config to support different scenarios. From there, you can [alter your configuration](https://aka.ms/vscode-remote/containers/folder-setup)to install additional tools like Git in the container, automatically install other extensions, expose additional ports, set runtime arguments, and more.
62
+
The intent of `devcontainer.json` is similar to `launch.json`for debugging, but designed to launch (or attach to) a development container instead. At its simplest, all you need to do is add a `.devcontainer/devcontainer.json` file to your project that references an image, `Dockerfile`, or `docker-compose.yml`, and a few properties. You can [adapt it for use](https://aka.ms/vscode-remote/containers/folder-setup) in a wide variety of situations.
Copy file name to clipboardExpand all lines: containers/plantuml/README.md
+6-20Lines changed: 6 additions & 20 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -2,7 +2,7 @@
2
2
3
3
## Summary
4
4
5
-
*Use PlantUML without installing all the dependencies locally. Includes Java, GraphViz, and the PlantUML extension.*
5
+
*Demonstrates using PlantUML local rendering without installing dependencies. Includes Java, GraphViz, and the PlantUML extension.*
6
6
7
7
| Metadata | Value |
8
8
|----------|-------|
@@ -12,27 +12,13 @@
12
12
13
13
## Usage
14
14
15
-
First, install the **[Visual Studio Code Remote Development](https://aka.ms/vscode-remote/download/extension)** extension pack if you have not already.
15
+
[See here for information on using this and other definitions in your project](../../README.md#using-a-definition). There are no addtional steps required.
16
16
17
-
To use the definition with your own project:
17
+
### Try it
18
18
19
-
1. Copy the `.devcontainer` folder into your project root.
20
-
2. Reopen the folder in the container (e.g. using the **Remote-Container: Reopen Folder in Container** command in VS Code) to use it unmodified.
21
-
22
-
If you prefer, you can look through the contents of the `.devcontainer` folder to understand how to make changes to your own project.
23
-
24
-
If you want to try out the test project instead, run **Remote-Container: Open Folder in Container...** in VS Code and select a cloned copy of the entire folder.
25
-
26
-
Check out the samples folder or just do a markdown preview on this file once you've opened this folder in the container!
27
-
28
-
```plantuml
29
-
@startuml
30
-
Brain -> Brain: Wait, VS Code can do that?
31
-
Brain -> Mouth: Say "Cool!"
32
-
Mouth -> Ear: Cool!
33
-
Ear -> Brain: Heard myself say Cool!
34
-
@enduml
35
-
````
19
+
1. Run **Remote-Container: Open Folder in Container...** in VS Code and select a cloned copy of this entire folder.
20
+
2. The container will build and VS Code will connect.
21
+
3. Open `sample.plantuml` in the `test-project` folder and hit Alt-D.
0 commit comments