{ "name": "obsidian-metadata", "build": { "dockerfile": "Dockerfile", "context": "..", "args": { // Update 'VARIANT' to pick a Python version: 3, 3.10, 3.9, 3.8, 3.7, 3.6 // Append -bullseye or -buster to pin to an OS version. // Use -bullseye variants on local on arm64/Apple Silicon. "VARIANT": "3.10-bullseye", "POETRY_VERSION": "1.2.2" } }, // Set *default* container specific settings.json values on container create. "settings": { "autoDocstring.startOnNewLine": true, "coverage-gutters.coverageFileNames": ["reports/coverage.xml"], "coverage-gutters.showGutterCoverage": false, "coverage-gutters.showLineCoverage": true, "coverage-gutters.showRulerCoverage": true, "editor.formatOnSave": true, "editor.codeActionsOnSave": { "source.fixAll": true, "source.organizeImports": true }, "editor.rulers": [100], "python.analysis.completeFunctionParens": true, "python.formatting.provider": "black", "python.linting.enabled": true, "python.linting.mypyEnabled": true, "python.linting.mypyPath": "mypy", "python.linting.pylintEnabled": false, "python.terminal.activateEnvInCurrentTerminal": true, "python.terminal.activateEnvironment": false, "python.testing.pytestEnabled": true, "python.linting.mypyArgs": [ "--config-file", "pyproject.toml", "--exclude", "'tests/'" ], "python.linting.ignorePatterns": [".vscode/**/*.py", ".venv/**/*.py"], "python.venvFolders": ["/home/vscode/.cache/pypoetry/virtualenvs"], "ruff.importStrategy": "fromEnvironment", "shellformat.path": "/home/vscode/.local/bin/shfmt", "terminal.integrated.defaultProfile.linux": "zsh", "terminal.integrated.profiles.linux": { "zsh": { "path": "/usr/bin/zsh" } } }, // Add the IDs of extensions you want installed when the container is created. "extensions": [ "ms-python.python", "bierner.markdown-preview-github-styles", "charliermarsh.ruff", "donjayamanne.githistory", "eamodio.gitlens", "fcrespo82.markdown-table-formatter", "foxundermoon.shell-format", "GitHub.copilot", "Gruntfuggly.todo-tree", "GrapeCity.gc-excelviewer", "mhutchie.git-graph", "njpwerner.autodocstring", "oderwat.indent-rainbow", "redhat.vscode-yaml", "ryanluker.vscode-coverage-gutters", "samuelcolvin.jinjahtml", "shardulm94.trailing-spaces", "streetsidesoftware.code-spell-checker", "tamasfe.even-better-toml", "timonwong.shellcheck", "Tyriar.sort-lines", "visualstudioexptteam.vscodeintellicode", "Chouzz.vscode-better-align", "yzhang.markdown-all-in-one" ], "features": { "ghcr.io/devcontainers/features/common-utils:1": {}, "ghcr.io/devcontainers/features/git:1": {}, "ghcr.io/devcontainers/features/github-cli:1": {}, "ghcr.io/devcontainers-contrib/features/yamllint:1": {}, "ghcr.io/stuartleeks/dev-container-features/shell-history:0": {} }, "remoteUser": "vscode", "postCreateCommand": "bash ./.devcontainer/post-install.sh", "mounts": [ // "source=${localEnv:HOME}/.git_stop_words,target=/home/vscode/.git_stop_words,type=bind,consistency=cached", // "source=${localEnv:HOME}/.gitconfig.local,target=/home/vscode/.gitconfig.local,type=bind,consistency=cached", // "source=${localEnv:HOME}/tmp,target=/home/vscode/tmp,type=bind" ] // Use 'forwardPorts' to make a list of ports inside the container available locally. // "forwardPorts": [], }