.devcontainer/devcontainer.json
{
"build": {
"dockerfile": "Dockerfile",
"context": ".."
},
"extensions": [
"ms-python.python",
"eamodio.gitlens",
"ryanluker.vscode-coverage-gutters",
"bungcip.better-toml",
"mikestead.dotenv",
"lextudio.restructuredtext",
],
"mounts": [
"source=${localWorkspaceFolder}/../sxm-client,target=/workspaces/sxm-client,type=bind,consistency=cached",
"source=${localWorkspaceFolder}/../sxm-player,target=/workspaces/sxm-player,type=bind,consistency=cached"
],
"settings": {
"editor.formatOnSave": true,
"editor.formatOnSaveTimeout": 3000,
"editor.insertSpaces": true,
"files.insertFinalNewline": true,
"files.trimTrailingWhitespace": true,
"python.envFile": "${workspaceFolder}/.env",
"python.defaultInterpreterPath": "/usr/local/bin/python",
"python.formatting.blackArgs": [
"--line-length",
"88"
],
"python.formatting.provider": "black",
"python.linting.banditEnabled": true,
"python.linting.banditArgs": [
"-c ${workspaceFolder}/.bandit.yml"
],
"python.linting.enabled": true,
"python.linting.flake8Enabled": true,
"python.linting.flake8Path": "pflake8",
"python.linting.mypyEnabled": true,
"python.linting.pylintEnabled": true,
"python.linting.pylamaEnabled": false,
"python.sortImports.args": [
"--settings-path=${workspaceFolder}/pyproject.toml"
],
"python.testing.promptToConfigure": false,
"restructuredtext.confPath": "${workspaceFolder}/docs",
"coverage-gutters.xmlname": "coverage.xml",
"coverage-gutters.customizable.status-bar-toggler-watchCoverageAndVisibleEditors-enabled": true,
"coverage-gutters.showLineCoverage": true,
"python.testing.pytestEnabled": true,
"python.testing.unittestEnabled": false,
"python.testing.nosetestsEnabled": false,
"python.testing.pytestArgs": [
"--cov-report=xml",
"--color=no",
],
},
"forwardPorts": [
9999
],
// "postCreateCommand": "cd /workspaces/sxm-client && flit install --symlink && cd /workspaces/sxm-player && flit install --symlink && cd /workspaces/sxm-discord && flit install --symlink"
}