{ "name": "Rust Dev Environment", "build": { "dockerfile": "Dockerfile" }, // Features to add to the dev container. More info: https://containers.dev/features. "features": { "ghcr.io/devcontainers/features/common-utils:1": { "installZsh": true, "configureZshOhMyZsh": true, "upgradePackages": true, "userExperienceCustomizations": true }, "ghcr.io/devcontainers/features/git:1": "latest" }, // Use 'forwardPorts' to make a list of ports inside the container available locally. // "forwardPorts": [8000], // Use 'postCreateCommand' to run commands after the container is created. "postCreateCommand": "rustup component add rust-analyzer rustfmt clippy && cargo install cargo-watch cargo-edit cargo-expand cargo-audit cargo-nextest cargo-tarpaulin", // Configure tool-specific properties. "customizations": { // Configure properties specific to VS Code. "vscode": { // Add the IDs of extensions you want installed when the container is created. "extensions": [ "rust-lang.rust-analyzer", "tamasfe.even-better-toml", "serayuzgur.crates", "vadimcn.vscode-lldb", "mutantdino.resourcemonitor", "fill-labs.dependi" ], "settings": { "rust-analyzer.check.command": "clippy", "rust-analyzer.cargo.buildScripts.enable": true, "rust-analyzer.procMacro.enable": true, "editor.formatOnSave": true, "[rust]": { "editor.defaultFormatter": "rust-lang.rust-analyzer" } } } }, // Use 'remoteUser' to connect as a non-root user. More info: https://aka.ms/vscode-remote/containers/non-root. "remoteUser": "vscode" }