Devcontainer
Overview
Devcontainer is a recommended way to setup development environment for this project. It is a Docker container with all the required tools and dependencies.
With a seamless integration with VSCode, it provides a consistent development environment for all developers.
For CLion users there is an alternative approach described in CLion development environment.
Prerequisites
- Docker
- VSCode or any other IDE/workspace that supports Devcontainer
- Remote - Containers extension for VSCode
Getting Started with VSCode
- Open repository in VSCode.
- Reopen in Container. (VSCode should ask for it automatically, but if not, you can do it manually)
- Click on the green icon in the bottom left corner of the VSCode window.
- Select
Reopen in Container
. - Wait for the container to build.
- VSCode will reopen in the container.
- Enjoy your development environment.
Detailed
Devcontainer comes up with some containers configured with Docker Compose:
workspace
- main container with all the tools and dependencies and mounted workspacexserver
- container with X server and VNC server for GUI applicationsgroot
- container with groot, a GUI for BehaviourTree.CPP. It does not start by default. See GRoot for more details.
All containers share the same X server socket, so GUI applications can be run from the workspace
container and displayed in the xserver
container. VNC server in xserver
runs a web server on port 12345
with a VNC client. You can access it by opening http://localhost:12345
in your browser.