code-server/.devcontainer
Joe Previte be3e823608 Squashed 'lib/vscode/' content from commit e5a624b788
git-subtree-dir: lib/vscode
git-subtree-split: e5a624b788d92b8d34d1392e4c4d9789406efe8f
2020-12-15 15:52:33 -07:00
..
cache Squashed 'lib/vscode/' content from commit e5a624b788 2020-12-15 15:52:33 -07:00
README.md Squashed 'lib/vscode/' content from commit e5a624b788 2020-12-15 15:52:33 -07:00
devcontainer.json Squashed 'lib/vscode/' content from commit e5a624b788 2020-12-15 15:52:33 -07:00
prepare.sh Squashed 'lib/vscode/' content from commit e5a624b788 2020-12-15 15:52:33 -07:00

README.md

Code - OSS Development Container

This repository includes configuration for a development container for working with Code - OSS in an isolated local container or using GitHub Codespaces.

Tip: The default VNC password is vscode. The VNC server runs on port 5901 with a web client at 6080. For better performance, we recommend using a VNC Viewer. Applications like the macOS Screen Sharing app will not perform as well.

Quick start - local

  1. Install Docker Desktop or Docker for Linux on your local machine. (See docs for additional details.)

  2. 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.

  3. Install Visual Studio Code Stable or Insiders and the Remote - Containers extension.

    Image of Remote - Containers extension

    Note that the Remote - Containers extension requires the Visual Studio Code distribution of Code - OSS. See the FAQ for details.

  4. Press Ctrl/Cmd + Shift + P and select Remote-Containers: Clone Repository in Container Volume....

    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 "clone repository in container" approach instead since it uses "named volume" rather than the local filesystem.

  5. Type https://github.com/microsoft/vscode (or a branch or PR URL) in the input box and press Enter.

  6. 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 enter vscode as the password.

Anything you start in VS Code or the integrated terminal will appear here.

Next: Try it out!

Quick start - GitHub Codespaces

IMPORTANT: The current free user beta for GitHub Codespaces uses a "Basic" sized codespace which does not have enough RAM to run a full build of VS Code and will be considerably slower during codespace start and running VS Code. You'll soon be able to use a "Standard" sized codespace (4-core, 8GB) that will be better suited for this purpose (along with even larger sizes should you need it).

  1. From the microsoft/vscode GitHub repository, click on the Code dropdown, select Open with Codespaces, and the New codespace

    Note that you will not see these options if you are not in the beta yet.

  2. After the codespace is up and running in your browser, press Ctrl/Cmd + Shift + P and select View: Show Remote Explorer.

  3. You should see port 6080 under Forwarded Ports. Select the line and click on the globe icon to open it in a browser tab.

    If you do not see port 6080, press Ctrl/Cmd + Shift + P, select Forward a Port and enter port 6080.

  4. In the new tab, you should see noVNC. Click Connect and enter vscode as the password.

Anything you start in VS Code or the integrated terminal will appear here.

Next: Try it out!

Using VS Code with GitHub Codespaces

You will likely see better performance when accessing the codespace you created from VS Code since you can use aVNC Viewer. Here's how to do it.

  1. Create a codespace if you have not already.

  2. Set up VS Code for use with GitHub Codespaces

  3. After the VS Code is up and running, press Ctrl/Cmd + Shift + P, choose Codespaces: Connect to Codespace, and select the codespace you created.

  4. After you've connected to the codespace, use a VNC Viewer to connect to localhost:5901 and enter vscode as the password.

  5. Anything you start in VS Code or the integrated terminal will appear here.

Next: Try it out!

Try it!

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:

  1. In your local VS Code, open a terminal (Ctrl/Cmd + Shift + `) and type the following commands:

    yarn install
    bash scripts/code.sh
    

    Note that a previous run of yarn install will already be cached, so this step should simply pick up any recent differences.

  2. After the build is complete, open a web browser or a VNC Viewer to the desktop environnement as described in the quick start and enter vscode as the password.

  3. You should now see Code - OSS!

Next, let's try debugging.

  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.

  2. 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, running scripts/code.sh first will set up Electron which will usually solve timeout issues.

  3. After a bit, Code - OSS will appear with the debugger attached!

Enjoy!