vscode/.devcontainer/README.md

106 lines
7.2 KiB
Markdown
Raw Normal View History

2020-06-02 03:46:08 +00:00
# Code - OSS Development Container
2022-09-26 16:43:54 +00:00
[![Open in Dev Containers](https://img.shields.io/static/v1?label=Dev%20Containers&message=Open&color=blue&logo=visualstudiocode)](https://vscode.dev/redirect?url=vscode://ms-vscode-remote.remote-containers/cloneInVolume?url=https://github.com/microsoft/vscode)
2021-05-28 23:58:44 +00:00
This repository includes configuration for a development container for working with Code - OSS in a local container or using [GitHub Codespaces](https://github.com/features/codespaces).
2020-06-02 03:46:08 +00:00
2021-05-28 23:58:44 +00:00
> **Tip:** The default VNC password is `vscode`. The VNC server runs on port `5901` and a web client is available on port `6080`.
2020-06-02 03:46:08 +00:00
## Quick start - local
2022-09-26 16:43:54 +00:00
If you already have VS Code and Docker installed, you can click the badge above or [here](https://vscode.dev/redirect?url=vscode://ms-vscode-remote.remote-containers/cloneInVolume?url=https://github.com/microsoft/vscode) to get started. Clicking these links will cause VS Code to automatically install the Dev Containers extension if needed, clone the source code into a container volume, and spin up a dev container for use.
1. Install Docker Desktop or Docker for Linux on your local machine. (See [docs](https://aka.ms/vscode-remote/containers/getting-started) for additional details.)
2020-06-02 03:46:08 +00:00
2. **Important**: Docker needs at least **4 Cores and 8 GB of RAM** to run a full build with **9 GB of RAM** being recommended. If you are on macOS, or are using the old Hyper-V engine for Windows, update these values for Docker Desktop by right-clicking on the Docker status bar item and going to **Preferences/Settings > Resources > Advanced**.
2020-06-02 03:46:08 +00:00
> **Note:** The [Resource Monitor](https://marketplace.visualstudio.com/items?itemName=mutantdino.resourcemonitor) extension is included in the container so you can keep an eye on CPU/Memory in the status bar.
2020-06-03 15:25:35 +00:00
2022-09-26 16:43:54 +00:00
3. Install [Visual Studio Code Stable](https://code.visualstudio.com/) or [Insiders](https://code.visualstudio.com/insiders/) and the [Dev Containers](https://aka.ms/vscode-remote/download/containers) extension.
2020-06-02 03:46:08 +00:00
![Image of Dev Containers extension](https://microsoft.github.io/vscode-remote-release/images/dev-containers-extn.png)
2020-06-02 03:46:08 +00:00
2022-09-26 16:43:54 +00:00
> **Note:** The Dev Containers extension requires the Visual Studio Code distribution of Code - OSS. See the [FAQ](https://aka.ms/vscode-remote/faq/license) for details.
2020-06-02 03:46:08 +00:00
2022-09-26 16:43:54 +00:00
4. Press <kbd>Ctrl/Cmd</kbd> + <kbd>Shift</kbd> + <kbd>P</kbd> or <kbd>F1</kbd> and select **Dev Containers: Clone Repository in Container Volume...**.
2020-06-02 03:46:08 +00:00
2021-05-28 23:58:44 +00:00
> **Tip:** While you can use your local source tree instead, operations like `yarn install` can be slow on macOS or when using the Hyper-V engine on Windows. We recommend the "clone repository in container" approach instead since it uses "named volume" rather than the local filesystem.
2020-06-02 03:46:08 +00:00
5. Type `https://github.com/microsoft/vscode` (or a branch or PR URL) in the input box and press <kbd>Enter</kbd>.
2021-05-28 23:58:44 +00:00
6. After the container is running, open a web browser and go to [http://localhost:6080](http://localhost:6080), or use a [VNC Viewer](https://www.realvnc.com/en/connect/download/viewer/) to connect to `localhost:5901` and enter `vscode` as the password.
2020-06-02 03:46:08 +00:00
2021-05-28 23:58:44 +00:00
Anything you start in VS Code, or the integrated terminal, will appear here.
2020-06-02 03:46:08 +00:00
2020-06-03 14:19:43 +00:00
Next: **[Try it out!](#try-it)**
2020-06-02 03:46:08 +00:00
## Quick start - GitHub Codespaces
2020-06-02 03:46:08 +00:00
2021-05-28 23:58:44 +00:00
1. From the [microsoft/vscode GitHub repository](https://github.com/microsoft/vscode), click on the **Code** dropdown, select **Open with Codespaces**, and then click on **New codespace**. If prompted, select the **Standard** machine size (which is also the default).
2020-06-02 03:46:08 +00:00
2021-05-28 23:58:44 +00:00
> **Note:** You will not see these options within GitHub if you are not in the Codespaces beta.
2020-06-02 03:46:08 +00:00
2021-05-28 23:27:15 +00:00
2. After the codespace is up and running in your browser, press <kbd>Ctrl/Cmd</kbd> + <kbd>Shift</kbd> + <kbd>P</kbd> or <kbd>F1</kbd> and select **Ports: Focus on Ports View**.
2020-06-02 03:46:08 +00:00
2021-05-28 23:27:15 +00:00
3. You should see **VNC web client (6080)** under in the list of ports. Select the line and click on the globe icon to open it in a browser tab.
2020-06-02 03:46:08 +00:00
2021-05-28 23:27:15 +00:00
> **Tip:** If you do not see the port, <kbd>Ctrl/Cmd</kbd> + <kbd>Shift</kbd> + <kbd>P</kbd> or <kbd>F1</kbd>, select **Forward a Port** and enter port `6080`.
2020-06-02 03:46:08 +00:00
4. In the new tab, you should see noVNC. Click **Connect** and enter `vscode` as the password.
2020-06-02 03:46:08 +00:00
2021-05-28 23:58:44 +00:00
Anything you start in VS Code, or the integrated terminal, will appear here.
Next: **[Try it out!](#try-it)**
### Using VS Code with GitHub Codespaces
2021-05-28 23:58:44 +00:00
You may see improved VNC responsiveness when accessing a codespace from VS Code client since you can use a [VNC Viewer](https://www.realvnc.com/en/connect/download/viewer/). Here's how to do it.
2021-05-28 23:27:15 +00:00
1. Install [Visual Studio Code Stable](https://code.visualstudio.com/) or [Insiders](https://code.visualstudio.com/insiders/) and the the [GitHub Codespaces extension](https://marketplace.visualstudio.com/items?itemName=GitHub.codespaces).
2021-05-28 23:27:15 +00:00
> **Note:** The GitHub Codespaces extension requires the Visual Studio Code distribution of Code - OSS.
2020-06-02 03:46:08 +00:00
2021-05-28 23:27:15 +00:00
2. After the VS Code is up and running, press <kbd>Ctrl/Cmd</kbd> + <kbd>Shift</kbd> + <kbd>P</kbd> or <kbd>F1</kbd>, choose **Codespaces: Create New Codespace**, and use the following settings:
- `microsoft/vscode` for the repository.
2021-11-01 15:51:25 +00:00
- Select any branch (e.g. **main**) - you can select a different one later.
2021-05-28 23:27:15 +00:00
- Choose **Standard** (4-core, 8GB) as the size.
2021-05-28 23:58:44 +00:00
4. After you have connected to the codespace, you can use a [VNC Viewer](https://www.realvnc.com/en/connect/download/viewer/) to connect to `localhost:5901` and enter `vscode` as the password.
> **Tip:** You may also need change your VNC client's **Picture Quality** setting to **High** to get a full color desktop.
2021-05-28 23:58:44 +00:00
5. Anything you start in VS Code, or the integrated terminal, will appear here.
Next: **[Try it out!](#try-it)**
2020-06-02 03:46:08 +00:00
2020-06-03 14:19:43 +00:00
## Try it!
2020-06-02 03:46:08 +00:00
2020-06-03 14:19:43 +00:00
This container uses the [Fluxbox](http://fluxbox.org/) window manager to keep things lean. **Right-click on the desktop** to see menu options. It works with GNOME and GTK applications, so other tools can be installed if needed.
2020-06-02 03:46:08 +00:00
2021-05-28 23:58:44 +00:00
> **Note:** You can also set the resolution from the command line by typing `set-resolution`.
2020-06-02 03:46:08 +00:00
2020-06-03 14:19:43 +00:00
To start working with Code - OSS, follow these steps:
2020-06-02 03:46:08 +00:00
2021-05-28 23:58:44 +00:00
1. In your local VS Code client, open a terminal (<kbd>Ctrl/Cmd</kbd> + <kbd>Shift</kbd> + <kbd>\`</kbd>) and type the following commands:
2020-06-02 03:46:08 +00:00
```bash
yarn install
2020-06-23 02:16:41 +00:00
bash scripts/code.sh
2020-06-02 03:46:08 +00:00
```
2021-05-28 23:58:44 +00:00
2. After the build is complete, open a web browser or a [VNC Viewer](https://www.realvnc.com/en/connect/download/viewer/) to connect to the desktop environment as described in the quick start and enter `vscode` as the password.
2020-06-02 03:46:08 +00:00
3. You should now see Code - OSS!
Next, let's try debugging.
2020-06-03 14:19:43 +00:00
1. Shut down Code - OSS by clicking the box in the upper right corner of the Code - OSS window through your browser or VNC viewer.
2020-06-02 03:46:08 +00:00
2021-05-28 23:58:44 +00:00
2. Go to your local VS Code client, and use the **Run / Debug** view to launch the **VS Code** configuration. (Typically the default, so you can likely just press <kbd>F5</kbd>).
2020-06-02 03:46:08 +00:00
2020-06-03 14:19:43 +00:00
> **Note:** If launching times out, you can increase the value of `timeout` in the "VS Code", "Attach Main Process", "Attach Extension Host", and "Attach to Shared Process" configurations in [launch.json](../.vscode/launch.json). However, running `scripts/code.sh` first will set up Electron which will usually solve timeout issues.
2020-06-02 03:46:08 +00:00
3. After a bit, Code - OSS will appear with the debugger attached!
Enjoy!