VSCode Dev Container Setup
If you don’t use the correct Ubuntu version this setup is probably the way to go. It should work with most other Linux distributions. Windows users might need to delete the home directory mount from .devcontainer/devcontainer.json and are not officially supported. Also make sure docker is installed and setup.
Install Docker
To install docker visit https://docs.docker.com/engine/install/ and follow the instructions for your OS.
Install VSCode
To install VSCode visit https://code.visualstudio.com/ and follow the instructions for your OS.
Setup VSCode Dev Container
Clone the repository: git clone git@github.com:bit-bots/bitbots_main.git or git clone https://github.com/bit-bots/bitbots_main.git && git remote set-url origin git@github.com:bit-bots/bitbots_main.git if you don’t have an SSH key setup yet.
Open the repository in VSCode
Install the “Remote - Containers” extension
Click on the green icon in the bottom left corner of the window and select “Reopen in Container”
Wait for the container to build and start
Open a terminal in VSCode, you should see a number of instructions on how to setup the container. Follow them.
Install recommended extensions for the repository
You should now have a fully working development environment (IntelliSense, Build, …) for the repository. You can source the workspace by running sa. Now all the commands should be available to you.
Known issues
Rebuilding the container results in all modifications to the container being lost. This does not include the repository, which itself is persisted in the container.
Sometimes make install results in an mktemp: failed to create file via template ‘/tmp/tmp.XXXXXXXXXX’: Permission denied. I spend some time trying to fix this but couldn’t find a solution. The workaround is to run make install again. This time it should work.
I did everything as stated, but my python IntelliSense does not pick up bit-bots related packages. To solve this open the command palette (Ctrl+Shift+P) and run ROS: Update Python Path. This should fix the issue.
GUI applications do not start. Run xhost local:root on the host machine to fix this.
I can not find my files in the home directory. The home directory is mounted at /srv/host_home in the container. You can find your files there.