Development Container
U-Scope ships with a dev container configuration for a consistent Linux build environment, including Qt, CMake, and all formatting/linting tools preinstalled.
Requirements
- Docker (or a compatible container runtime)
- VS Code with the Dev Containers extension
Opening the project
- Clone the repository.
- Open the folder in VS Code.
- When prompted, select Reopen in Container (or run Dev Containers: Reopen in Container from the command palette).
VS Code will build the container image from .devcontainer/Dockerfile.dev, which extends the base U-Scope image with sudo, gdb, and ssh for a more complete development setup.
Building inside the container
Once the container is running, build using the CMake Tools extension bundled with the TheQtCompany.qt-cpp-pack pack:
- Open the Command Palette and run CMake: Configure (or click Configure in the CMake Tools status bar). This generates the build directory using the project’s
CMakeLists.txt. - Select a kit if prompted - the container’s Qt installation should be picked up automatically.
- Run CMake: Build (or use the build button in the status bar, or
F7) to build theu-scopetarget.
CMake Tools also drives debugging, target selection, and test execution from the same status bar, so it’s the recommended workflow over invoking cmake directly from the terminal inside the container.
Notes
- The container sets
LIBGL_ALWAYS_SOFTWARE=1andQT_QPA_PLATFORM=xcbso the Qt Quick UI renders without requiring GPU passthrough - useful for remote or headless dev setups, though slower than hardware-accelerated rendering. - The default user is
ubuntu, with passwordlesssudoenabled inside the container. - Recommended VS Code extensions are installed automatically via
devcontainer.json.