settings.jsonβ’1.48 kB
{
// Python configuration
"python.defaultInterpreterPath": "${workspaceFolder}/.venv/bin/python",
"python.envFile": "${workspaceFolder}/.env",
// Ruff - linting and formatting
"[python]": {
"editor.defaultFormatter": "charliermarsh.ruff",
"editor.formatOnSave": true,
"editor.codeActionsOnSave": {
"source.organizeImports": "explicit",
"source.fixAll": "explicit"
}
},
"ruff.lineLength": 100,
"ruff.lint.args": [
"--config=${workspaceFolder}/pyproject.toml"
],
// MyPy type checking
"mypy-type-checker.args": [
"--config-file=${workspaceFolder}/pyproject.toml"
],
"mypy-type-checker.importStrategy": "fromEnvironment",
// Python testing
"python.testing.pytestEnabled": true,
"python.testing.unittestEnabled": false,
"python.testing.pytestArgs": [
"tests"
],
// Editor settings
"editor.rulers": [100],
"editor.trimAutoWhitespace": true,
"files.trimTrailingWhitespace": true,
"files.insertFinalNewline": true,
"files.eol": "\n",
// File associations
"files.associations": {
"*.envrc": "shellscript",
".env.example": "dotenv"
},
// Files to exclude from explorer
"files.exclude": {
"**/__pycache__": true,
"**/*.pyc": true,
"**/.pytest_cache": true,
"**/.mypy_cache": true,
"**/.ruff_cache": true,
"**/*.egg-info": true
},
// Search exclusions
"search.exclude": {
"**/.venv": true,
"**/htmlcov": true,
"**/.coverage": true
}
}