settings.json
1 { 2 // Python Configuration 3 "[python]": { 4 "editor.defaultFormatter": "charliermarsh.ruff", 5 "editor.formatOnSave": true, 6 "editor.codeActionsOnSave": { 7 "source.fixAll.ruff": "explicit", 8 "source.organizeImports.ruff": "explicit" 9 } 10 }, 11 12 // Ruff configuration (uses pyproject.toml automatically) 13 // The Ruff extension will automatically detect and use the pyproject.toml settings 14 15 // Disable mypy completely (repo only checks dev/clint files) 16 // The mypy extension doesn't support per-file filtering, so we disable it entirely 17 // to avoid false positives on files the repo doesn't check 18 "mypy-type-checker.enabled": false, 19 20 // Python analysis 21 "python.analysis.typeCheckingMode": "off", // Disable Pylance strict checking 22 "python.analysis.exclude": [ 23 // Default paths to exclude 24 "**/node_modules", 25 "**/__pycache__", 26 "**/.*", 27 // Extra paths to exclude 28 "libs/**" 29 ], 30 31 // TypeScript/JavaScript Configuration 32 "[typescript]": { 33 "editor.defaultFormatter": "esbenp.prettier-vscode", 34 "editor.formatOnSave": true, 35 "editor.codeActionsOnSave": { 36 "source.fixAll.eslint": "explicit" 37 } 38 }, 39 "[typescriptreact]": { 40 "editor.defaultFormatter": "esbenp.prettier-vscode", 41 "editor.formatOnSave": true, 42 "editor.codeActionsOnSave": { 43 "source.fixAll.eslint": "explicit" 44 } 45 }, 46 "[javascript]": { 47 "editor.defaultFormatter": "esbenp.prettier-vscode", 48 "editor.formatOnSave": true, 49 "editor.codeActionsOnSave": { 50 "source.fixAll.eslint": "explicit" 51 } 52 }, 53 "[javascriptreact]": { 54 "editor.defaultFormatter": "esbenp.prettier-vscode", 55 "editor.formatOnSave": true, 56 "editor.codeActionsOnSave": { 57 "source.fixAll.eslint": "explicit" 58 } 59 }, 60 61 // ESLint configuration 62 "eslint.workingDirectories": ["./mlflow/server/js"], 63 "eslint.validate": ["javascript", "javascriptreact", "typescript", "typescriptreact"], 64 65 // TypeScript configuration 66 "typescript.tsdk": "./mlflow/server/js/node_modules/typescript/lib", 67 "typescript.enablePromptUseWorkspaceTsdk": true, 68 69 // JSON formatting 70 "[json]": { 71 "editor.defaultFormatter": "esbenp.prettier-vscode", 72 "editor.formatOnSave": true 73 }, 74 "[jsonc]": { 75 "editor.defaultFormatter": "esbenp.prettier-vscode", 76 "editor.formatOnSave": true 77 }, 78 79 // YAML formatting 80 "[yaml]": { 81 "editor.defaultFormatter": "esbenp.prettier-vscode", 82 "editor.formatOnSave": true 83 }, 84 85 // GitHub Actions workflow formatting 86 "[github-actions-workflow]": { 87 "editor.defaultFormatter": "esbenp.prettier-vscode", 88 "editor.formatOnSave": true 89 }, 90 91 // Markdown formatting 92 "[markdown]": { 93 "editor.defaultFormatter": "esbenp.prettier-vscode", 94 "editor.formatOnSave": true 95 }, 96 97 // `.prompt.md` files in `.github/prompts` 98 "[prompt]": { 99 "editor.defaultFormatter": "esbenp.prettier-vscode", 100 "editor.formatOnSave": true 101 }, 102 103 // Files to exclude from explorer 104 "files.exclude": { 105 "**/__pycache__": true, 106 "**/.pytest_cache": true, 107 "**/*.pyc": true, 108 "**/.mypy_cache": true, 109 "**/.ruff_cache": true, 110 "**/node_modules": true 111 }, 112 113 // Search exclusions 114 "search.exclude": { 115 "**/node_modules": true, 116 "**/__pycache__": true, 117 "**/.pytest_cache": true, 118 "**/build": true, 119 "**/dist": true, 120 "mlflow/server/js/build": true 121 }, 122 123 // Prevent VS Code from following symlinks during searches 124 // This avoids duplicate results from symlinks in libs/ directory 125 "search.followSymlinks": false, 126 127 // Editor settings 128 "editor.rulers": [100], // Show ruler at 100 chars for Python 129 130 // Python specific settings 131 "python.terminal.activateEnvironment": false, 132 133 // File associations 134 "files.associations": { 135 "*.mdx": "markdown", 136 "*.ipynb": "jupyter" 137 }, 138 "python.testing.pytestArgs": ["tests"], 139 "python.testing.unittestEnabled": false, 140 "python.testing.pytestEnabled": true 141 }