chore(devcontainer): consolidate VS Code settings and remove deprecated options

Migrated all settings from .vscode/settings.json to devcontainer.json
for team-wide consistency. Removed .vscode/settings.json entirely.

Changes:
- Added python.analysis.exclude to prevent Pylance from analyzing
  .venv, .github, docs and other non-code directories (eliminates
  2000+ false errors)
- Added python.analysis.diagnosticMode: workspace for comprehensive
  analysis of integration code
- Added source.organizeImports.ruff for automatic import sorting
- Added markdown.wordWrap and disabled markdown link validation
- Removed deprecated python.linting.* settings (deprecated since 2023)
- Removed editor.formatOnPaste (conflicts with Copilot)
- Changed source.organizeImports to source.organizeImports.ruff
  (Ruff-specific, prevents conflicts with Pylance)
- Changed source.fixAll to source.fixAll.ruff (explicit Ruff action)

Impact: All developers get identical Copilot-friendly environment
without local overrides. No Pylance errors from .venv directories,
no markdown validation warnings, no conflicts between Copilot and
auto-formatting.
This commit is contained in:
Julian Pawlowski 2025-11-09 16:01:54 +00:00
parent 6ebcdc90c0
commit d81ba5e977

View file

@ -32,7 +32,6 @@
], ],
"settings": { "settings": {
"editor.tabSize": 4, "editor.tabSize": 4,
"editor.formatOnPaste": true,
"editor.formatOnSave": true, "editor.formatOnSave": true,
"editor.formatOnType": false, "editor.formatOnType": false,
"extensions.ignoreRecommendations": false, "extensions.ignoreRecommendations": false,
@ -40,13 +39,21 @@
"files.trimTrailingWhitespace": true, "files.trimTrailingWhitespace": true,
"python.analysis.typeCheckingMode": "basic", "python.analysis.typeCheckingMode": "basic",
"python.analysis.autoImportCompletions": true, "python.analysis.autoImportCompletions": true,
"python.analysis.diagnosticMode": "workspace",
"python.analysis.exclude": [
"**/.venv/**",
"**/venv/**",
"**/__pycache__/**",
"**/.git/**",
"**/.github/**",
"**/docs/**",
"**/node_modules/**"
],
"python.defaultInterpreterPath": "${workspaceFolder}/.venv/bin/python", "python.defaultInterpreterPath": "${workspaceFolder}/.venv/bin/python",
"python.analysis.extraPaths": [ "python.analysis.extraPaths": [
"${workspaceFolder}/.venv/lib/python3.13/site-packages" "${workspaceFolder}/.venv/lib/python3.13/site-packages"
], ],
"python.terminal.activateEnvironment": true, "python.terminal.activateEnvironment": true,
"python.linting.enabled": true,
"python.linting.ruffEnabled": true,
"python.terminal.activateEnvInCurrentTerminal": true, "python.terminal.activateEnvInCurrentTerminal": true,
"python.testing.pytestArgs": [ "python.testing.pytestArgs": [
"--no-cov" "--no-cov"
@ -55,18 +62,25 @@
"editor.defaultFormatter": "charliermarsh.ruff", "editor.defaultFormatter": "charliermarsh.ruff",
"editor.formatOnSave": true, "editor.formatOnSave": true,
"editor.codeActionsOnSave": { "editor.codeActionsOnSave": {
"source.fixAll": "explicit", "source.fixAll.ruff": "explicit",
"source.fixAll.ruff": "explicit" "source.organizeImports.ruff": "explicit"
} }
}, },
"[markdown]": {
"editor.wordWrap": "on"
},
"yaml.customTags": [ "yaml.customTags": [
"!input scalar",
"!secret scalar", "!secret scalar",
"!include_dir_named scalar", "!include scalar",
"!include_dir_list scalar", "!include_dir_list scalar",
"!include_dir_merge_list scalar", "!include_dir_merge_list scalar",
"!include_dir_merge_named scalar" "!include_dir_named scalar",
"!include_dir_merge_named scalar",
"!input scalar"
], ],
"markdown.validate.enabled": false,
"markdown.validate.fileLinks.enabled": "ignore",
"markdown.validate.fragmentLinks.enabled": "ignore",
"json.schemas": [ "json.schemas": [
{ {
"fileMatch": [ "fileMatch": [