|
| 1 | +# Code - OSS Development Container |
| 2 | + |
| 3 | +This dev container includes configuration for a development container for working with Code - OSS in a local container. For using [GitHub Codespaces](https://github.com/features/codespaces) follow the [prebuilt setup](prebuilt/README.md) which installs VNC for displaying the application window. |
| 4 | + |
| 5 | +> **Note:** You will need X11's `DISPLAY` or Wayland's `WAYLAND_DISPLAY` environment variable set locally to allow for the Code - OSS window to display. See [Running GUI app on WSL](https://learn.microsoft.com/en-us/windows/wsl/tutorials/gui-apps) for Windows and [Quartz](https://www.xquartz.org) for Mac. |
| 6 | +
|
| 7 | +## Quick start |
| 8 | + |
| 9 | +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.) |
| 10 | + |
| 11 | +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**. |
| 12 | + |
| 13 | + > **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. |
| 14 | +
|
| 15 | +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. |
| 16 | + |
| 17 | +  |
| 18 | + |
| 19 | + > **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. |
| 20 | +
|
| 21 | +4. Due to the size of the repository we strongly recommend cloning it on a Linux filesystem for better bind mount performance. On macOS we recommend using a Docker volume (press <kbd>F1</kbd> and select **Dev Containers: Clone Repository in Container Volume...**) and on Windows we recommend using a WSL folder: |
| 22 | + |
| 23 | +- Make sure you are running a recent WSL version to get X11 and Wayland support. |
| 24 | +- Use the WSL extension for VS Code to open the cloned folder in WSL. |
| 25 | +- Press <kbd>F1</kbd> and select **Dev Containers: Reopen in Container**. |
| 26 | + |
| 27 | +Next: **[Try it out!](#try-it)** |
| 28 | + |
| 29 | +## Try it |
| 30 | + |
| 31 | +To start working with Code - OSS, follow these steps: |
| 32 | + |
| 33 | +1. In your local VS Code client, open a terminal (<kbd>Ctrl/Cmd</kbd> + <kbd>Shift</kbd> + <kbd>\`</kbd>) and type the following commands: |
| 34 | + |
| 35 | + ```bash |
| 36 | + yarn install |
| 37 | + bash scripts/code.sh |
| 38 | + ``` |
| 39 | + |
| 40 | +2. You should now see Code - OSS! |
| 41 | + |
| 42 | +Next, let's try debugging. |
| 43 | +
|
| 44 | +1. Shut down Code - OSS by clicking the box in the upper right corner of the Code - OSS window. |
| 45 | +
|
| 46 | +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>). |
| 47 | +
|
| 48 | + > **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. |
| 49 | +
|
| 50 | +3. After a bit, Code - OSS will appear with the debugger attached! |
| 51 | +
|
| 52 | +Enjoy! |
| 53 | +
|
| 54 | +## Notes |
| 55 | +
|
| 56 | +The container comes with VS Code Insiders installed. To run it from an Integrated Terminal use `VSCODE_IPC_HOOK_CLI= /usr/bin/code-insiders .`. |
0 commit comments