{ "folders": [ { "path": "/home/appdaemon/ad-lola" }, { "path": "/conf/lola" }, { "path": "/home/appdaemon/ad-nix" }, { "path": "/home/appdaemon/ad-test" }, ], "settings": { // Python "[python]": { "editor.autoClosingDelete": "always", "editor.autoClosingBrackets": "always", "editor.defaultFormatter": "charliermarsh.ruff", // "editor.formatOnSave": true, "editor.codeActionsOnSave": { "source.organizeImports.ruff": "explicit", // "source.fixAll": "explicit" } }, "python.defaultInterpreterPath": "${workspaceFolder}/.devenv/state/venv/bin/python3", "python.autoComplete.extraPaths": ["~/ad-lola", "${fileWorkspaceFolder}/apps/room_control/src"], "python.analysis.extraPaths": [ "~/ad-lola", "${workspaceFolder:conf}/lola/apps/room_control/src", "${workspaceFolder:conf}/lola/apps/lola-parking/src" ], "python.analysis.autoFormatStrings": true, "python.analysis.completeFunctionParens": true, "python.analysis.autoImportCompletions": true, "python.analysis.importFormat": "relative", "python.analysis.autoIndent": true, "python.analysis.useLibraryCodeForTypes": true, "python.analysis.languageServerMode": "full", "python.analysis.typeEvaluation.enableReachabilityAnalysis": true, "python.languageServer": "Pylance", "python.terminal.shellIntegration.enabled": true, // Ruff settings "ruff.enable": true, "ruff.organizeImports": true, "ruff.importStrategy": "fromEnvironment", "ruff.nativeServer": true, "ruff.configurationPreference": "filesystemFirst", "ruff.configuration": "${workspaceFolder}/pyproject.toml", "ruff.fixAll": true, "ruff.lint.enable": true, // https://docs.astral.sh/ruff/rules/ "ruff.lint.extendSelect": [ "F", "W", "I", "E1", "E2", "E3", "E4", "E5", "E7", "E9" ], // Notebooks // "jupyter.askForKernelRestart": false, "notebook.defaultFormatter": "charliermarsh.ruff", "notebook.formatOnSave.enabled": true, "notebook.codeActionsOnSave": { "notebook.source.fixAll": "explicit", "notebook.source.organizeImports": "explicit" }, "editor.rulers": [120], "editor.wordWrap": "on", "editor.wordWrapColumn": 120, // https://docs.astral.sh/ruff/rules/#pycodestyle-e-w // https://pycodestyle.pycqa.org/en/latest/intro.html#error-codes } }