diff --git a/.vscode/extensions.json b/.vscode/extensions.json new file mode 100644 index 0000000..1e4b24d --- /dev/null +++ b/.vscode/extensions.json @@ -0,0 +1,3 @@ +{ + "recommendations": ["ms-vscode-remote.remote-containers"] +} diff --git a/.vscode/settings.json b/.vscode/settings.json new file mode 100644 index 0000000..0deb176 --- /dev/null +++ b/.vscode/settings.json @@ -0,0 +1,109 @@ +{ + // ================================ + // LANGUAGE FORMATTING + // ================================ + + "files.insertFinalNewline": true, + + "[dockerfile]": { + "editor.defaultFormatter": "ms-azuretools.vscode-containers", + "editor.formatOnSave": true + }, + "[xml]": { + "editor.defaultFormatter": "DotJoshJohnson.xml", + "editor.formatOnSave": true + }, + "[python]": { + "editor.defaultFormatter": "charliermarsh.ruff", + "editor.formatOnSave": true, + "editor.formatOnType": true, + "editor.wordBasedSuggestions": "off", + "editor.defaultColorDecorators": "never", + "diffEditor.ignoreTrimWhitespace": false + }, + "[shellscript]": { + "editor.defaultFormatter": "mkhl.shfmt", + "editor.formatOnSave": true, + "editor.formatOnPaste": true + }, + "[astro]": { + "editor.defaultFormatter": "astro-build.astro-vscode", + "editor.formatOnSave": true, + "editor.formatOnPaste": true + }, + "[javascript]": { + "editor.defaultFormatter": "esbenp.prettier-vscode", + "editor.formatOnSave": true, + "editor.formatOnPaste": true + }, + "[typescript]": { + "editor.defaultFormatter": "esbenp.prettier-vscode", + "editor.formatOnSave": true, + "editor.formatOnPaste": true + }, + "[json]": { + "editor.defaultFormatter": "esbenp.prettier-vscode", + "editor.formatOnSave": true, + "editor.formatOnPaste": true + }, + "[jsonc]": { + "editor.defaultFormatter": "esbenp.prettier-vscode", + "editor.formatOnSave": true, + "editor.formatOnPaste": true + }, + "json.format.keepLines": true, + "json.format.enable": true, + "prettier.tabWidth": 4, + "prettier.trailingComma": "none", + + // ================================ + // GENERAL VSCODE BEHAVIOR + // ================================ + + "editor.rulers": [100], + "files.exclude": { + // General + "**/.git": true, + "**/.DS_Store": true, + + // Python + "**/.ruff_cache": true, + "**/.mypy_cache": true, + "**/__pycache__": true, + "**/*.egg-info": true, + + // Astro website + "docs/.astro": true, + "docs/node_modules": true, + "docs/dist": true + }, + + // ================================ + // PYTHON SETTINGS + // ================================ + + "python.terminal.activateEnvironment": false, + "python.analysis.extraPaths": [ + "/opt/ros/jazzy/lib/python3.12/site-packages", + "/opt/ros/jazzy/local/lib/python3.12/dist-packages" + ], + "python.autoComplete.extraPaths": [ + "/opt/ros/jazzy/lib/python3.12/site-packages", + "/opt/ros/jazzy/local/lib/python3.12/dist-packages" + ], + "python.analysis.exclude": [ + "./build", + "./install", + "./log", + "**/node_modules", + "**/__pycache__", + "**/.*" + ], + "python.defaultInterpreterPath": "python3", + "editor.codeActionsOnSave": { + "source.organizeImports": "explicit" + }, + "python.analysis.diagnosticSeverityOverrides": { + "reportMissingModuleSource": "none" + } +}