This repository includes configuration for a development container for working with Code - OSS in an isolated local container or using Visual Studio Codespaces.
Tip: The default VNC password is
vscode
. The VNC server runs on port5901
with a web client at6080
. For better performance, we recommend using a VNC Viewer. Applications like the macOS Screen Sharing app will not perform as well. Chicken is a good macOS alternative.
-
Install Docker Desktop or Docker for Linux on your local machine. (See docs for additional details.)
-
Important: Docker needs at least 4 Cores and 6 GB of RAM (8 GB recommended) to run full build. If you on macOS, or using the old Hyper-V engine for Windows, update these values for Docker Desktop by right-clicking on the Docker status bar item, going to Preferences/Settings > Resources > Advanced.
Note: The Resource Monitor extension is included in the container so you can keep an eye on CPU/Memory in the status bar.
-
Install Visual Studio Code Stable or Insiders and the Remote - Containers extension.
Note that the Remote - Containers extension requires the Visual Studio Code distribution of Code - OSS. See the FAQ for details.
-
Press Ctrl/Cmd + Shift + P and select Remote - Containers: Open Repository in Container....
Tip: While you can use your local source tree instead, operations like
yarn install
can be slow on macOS or using the Hyper-V engine on Windows. We recommend the "open repository" approach instead since it uses "named volume" rather than the local filesystem. -
Type
https://github.com/microsoft/vscode
(or a branch or PR URL) in the input box and press Enter. -
After the container is running, open a web browser and go to http://localhost:6080 or use a VNC Viewer to connect to
localhost:5901
and entervscode
as the password.
Anything you start in VS Code or the integrated terminal will appear here.
Next: Try it out!
Note that the Codespaces browser-based editor cannot currently access the desktop environment in this container (due to a missing feature). We recommend using Visual Studio Code from the desktop to connect instead in the near term.
-
Install Visual Studio Code Stable or Insiders and the Visual Studio Codespaces extension.
Note that the Visual Studio Codespaces extension requires the Visual Studio Code distribution of Code - OSS.
-
Sign in by pressing Ctrl/Cmd + Shift + P and selecting Codespaces: Sign In. You may also need to use the Codespaces: Create Plan if you do not have a plan. See the Codespaces docs for details.
-
Press Ctrl/Cmd + Shift + P and select Codespaces: Create New Codespace.
-
Use default settings (which should include Standard 4 core, 8 GB RAM Codespace), select a plan, and then enter the repository URL
https://github.com/microsoft/vscode
(or a branch or PR URL) in the input box when prompted. -
After the container is running, open a web browser and go to http://localhost:6080 or use a VNC Viewer to connect to
localhost:5901
and entervscode
as the password. -
Anything you start in VS Code or the integrated terminal will appear here.
This container uses the Fluxbox 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.
Note you can also set the resolution from the command line by typing set-resolution
.
To start working with Code - OSS, follow these steps:
-
In your local VS Code, open a terminal (Ctrl/Cmd + Shift + `) and type the following commands:
yarn install bash scripts/code.sh
-
After the build is complete, open a web browser and go to http://localhost:6080 or use a VNC Viewer to connect to
localhost:5901
and entervscode
as the password. -
You should now see Code - OSS!
Next, let's try debugging.
-
Shut down Code - OSS by clicking the box in the upper right corner of the Code - OSS window through your browser or VNC viewer.
-
Go to your local VS Code client, and use Run / Debug view to launch the VS Code configuration. (Typically the default, so you can likely just press F5).
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. However, runningscripts/code.sh
first will set up Electron which will usually solve timeout issues. -
After a bit, Code - OSS will appear with the debugger attached!
Enjoy!