This reference catalogs the extensions the Causeway paved path ships. Every ID is real and resolvable on the Visual Studio Marketplace as of 2026. For each extension: what it does, the settings that matter, and the sharp edges that trip teams up.
Language support
ms-python.python — Python
The foundation extension. Auto-installs Pylance and debugpy. Handles:
- Interpreter selection.
- Test discovery for pytest, unittest.
- Debugger integration.
- Environment activation in terminals.
Key settings:
"python.defaultInterpreterPath": "${workspaceFolder}/.venv/bin/python",
"python.terminal.activateEnvironment": true,
"python.testing.pytestEnabled": true,
"python.testing.pytestArgs": ["tests"]
Sharp edge: the extension remembers interpreter selections in user state, not workspace state. A new clone of the same repo picks the wrong interpreter until you re-select.
ms-python.vscode-pylance — Pylance
Type checking, IntelliSense, Go-to-Definition. The March 2026 release ships a Rust-based parallel parser that runs ~10× faster on large repos.
Key settings:
"python.analysis.typeCheckingMode": "basic",
"python.analysis.autoImportCompletions": true,
"python.analysis.diagnosticMode": "workspace",
"python.analysis.indexing": true,
"python.analysis.stubPath": "./stubs"
Sharp edge: typeCheckingMode of strict surfaces genuine bugs but also generates noise on any codebase that isn't already fully typed. basic is the right default.
charliermarsh.ruff — Ruff
Linting, formatting, and import sorting. Replaces Black, Flake8, and isort. Formats in milliseconds.
Key settings:
"[python]": {
"editor.defaultFormatter": "charliermarsh.ruff",
"editor.formatOnSave": true,
"editor.codeActionsOnSave": {
"source.organizeImports": "explicit",
"source.fixAll": "explicit"
}
}
Sharp edge: Ruff reads config from pyproject.toml under [tool.ruff]. If CI uses a different version of Ruff than the editor, rules drift. Pin the version in both places.
ms-python.debugpy — Python Debugger
Bundled with the Python extension. Step-through debugging, conditional breakpoints, remote debugging.
No extra config needed beyond launch configs. See the debugging guide for launch.json recipes.
ms-toolsai.jupyter — Jupyter
Opens .ipynb and runs inline notebook cells from # %%-marked .py files. Backing runtime for the Databricks extension's remote notebook execution.
Key settings:
"jupyter.interactiveWindow.creationMode": "perFile",
"jupyter.askForKernelRestart": false
Sharp edge: the Jupyter extension's Variables view is powerful but loads large DataFrames eagerly. A df of a million rows opens slowly; a df.limit(100) opens instantly.
SQL and dbt
dbtLabsInc.dbt — dbt (official)
The official dbt Labs extension. Fusion-engine only. LSP for live CTE previews, hover info, error highlighting.
Key settings:
"dbt.fusion.enabled": true,
"dbt.runOnSave": false,
"dbt.profilesDir": "${env:HOME}/.dbt"
Sharp edge: requires dbt Fusion. Teams on dbt Core 1.x should use dbt Power User instead.
innoverio.vscode-dbt-power-user — dbt Power User
Community extension from Altimate. Works with dbt Core. Adds column-level lineage, AI documentation generation, cost estimation, and an embedded MCP server.
Key settings:
"dbt.listModelsDisabled": false,
"dbt.altimateInstanceName": "",
"dbt.altimateAiKey": "",
"dbt.enableNewLineagePanel": true
Sharp edge: some features require an Altimate API key. Column-level lineage and the embedded MCP server work locally without one; AI features do not.
dorzey.vscode-sqlfluff — SQLFluff
SQL linting with Jinja templating support. Reads the same config file as CI.
Key settings:
"sqlfluff.config": "${workspaceFolder}/.sqlfluff",
"sqlfluff.format.enabled": true,
"[sql]": {
"editor.defaultFormatter": "dorzey.vscode-sqlfluff"
}
Sharp edge: SQLFluff format can be destructive. Always review changes; never blindly accept a format-on-save diff on a model with subtle formatting the author intended.
samuelcolvin.jinjahtml — Better Jinja
Proper syntax highlighting for {{ ref() }}, {% if %}, and dbt macros. Without it, dbt SQL looks like noise.
No config needed.
Data platforms
databricks.databricks — Databricks
Official Databricks extension. OAuth authentication, cluster/serverless selection, local execution via Databricks Connect, remote notebook cell execution.
Key settings:
"databricks.clusters.onlyShowAccessibleClusters": true,
"databricks.bundle.enableLegacyDeploymentMode": false,
"databricks.logs.maxFieldLength": 100
Sharp edge: Databricks Connect version must match the cluster's DBR version. A mismatch produces cryptic Py4J errors. See the quickstart.
HashiCorp.terraform — Terraform
Syntax, formatting, LSP for Terraform files. Useful for reading the platform team's infra.
Key settings:
"[terraform]": {
"editor.defaultFormatter": "HashiCorp.terraform",
"editor.formatOnSave": true
}
Files, config, and docs
redhat.vscode-yaml — YAML
Schema validation for any YAML. Auto-discovers schemas for well-known filenames (.github/workflows/, docker-compose.yml) and honors # yaml-language-server: $schema=... headers.
Key settings:
"yaml.schemas": {
"https://json.schemastore.org/github-workflow.json": ".github/workflows/*.{yml,yaml}",
"https://json.schemastore.org/dbt_yml.json": "**/schema.yml"
},
"yaml.format.enable": true,
"yaml.validate": true
Sharp edge: schema validation requires outbound HTTP to pull the schemas. Corporate proxies often break this. Mirror schemas locally or disable validation if the proxy is the blocker.
tamasfe.even-better-toml — TOML
Syntax and schema support for pyproject.toml, Cargo.toml, devbox configs.
Key settings:
"evenBetterToml.formatter.alignEntries": true,
"evenBetterToml.formatter.reorderKeys": false
Sharp edge: reorderKeys: true is tempting and catastrophic. TOML key order often matters to the consumer (pyproject, Cargo); do not reorder.
mikestead.dotenv — dotenv
Syntax for .env files with value masking on display.
No config needed.
yzhang.markdown-all-in-one — Markdown All in One
Table of contents, table formatting, keyboard shortcuts for lists and headers.
Key settings:
"markdown.extension.toc.levels": "2..4",
"markdown.extension.toc.updateOnSave": true,
"markdown.extension.list.indentationSize": "adaptive"
bierner.markdown-mermaid — Mermaid Preview
Renders Mermaid diagrams inside Markdown preview.
No config needed. The preview uses VS Code's native markdown preview pipeline.
terrastruct.d2 — D2
Diagrams-as-code with a better layout engine than Mermaid. Renders to SVG.
Key settings:
"d2.renderLayout": "elk",
"d2.pathToExecutable": "/usr/local/bin/d2"
Sharp edge: D2 is a separate binary you install outside VS Code. The extension shells out to it.
Git and collaboration
eamodio.gitlens — GitLens
Inline blame, file history, commit graph, PR awareness.
Key settings:
"gitlens.codeLens.enabled": false,
"gitlens.currentLine.enabled": true,
"gitlens.hovers.currentLine.over": "line",
"gitlens.views.repositories.branches.layout": "tree"
Sharp edge: GitLens's defaults enable a lot of UI (code lenses, current-line annotations). On a laptop with a small screen, this clutters fast. Turn off what you do not use.
GitHub.vscode-pull-request-github — GitHub Pull Requests
Review PRs inline. Mark conversations resolved, approve, request changes.
Key settings:
"githubPullRequests.fileListLayout": "tree",
"githubPullRequests.pullBranch": "prompt",
"githubPullRequests.queries": [
{ "label": "Assigned to me", "query": "is:open review-requested:@me" },
{ "label": "Created by me", "query": "is:open author:@me" }
]
Reproducible environments
ms-vscode-remote.remote-containers — Dev Containers
Opens repos inside containers defined by .devcontainer/devcontainer.json.
Key settings:
"dev.containers.defaultExtensions": [],
"dev.containers.dockerPath": "docker",
"dev.containers.mountWaylandSocket": false
Sharp edge: on macOS, Docker Desktop's file-sharing is slow for large repos. Use Colima or OrbStack. See devcontainers.
ms-vscode-remote.remote-ssh — Remote-SSH
Edit code on remote VMs as if it were local.
Key settings:
"remote.SSH.defaultExtensions": [
"ms-python.python",
"charliermarsh.ruff"
],
"remote.SSH.connectTimeout": 30
Exploration extensions (recommended, not required)
mechatroner.rainbow-csv — Rainbow CSV
Column-highlighted CSV/TSV viewing plus an embedded SQL query engine (RBQL) for ad-hoc filtering.
dvirtz.parquet-viewer — Parquet Viewer
Opens .parquet files as tabular views. Essential for debugging S3 landing zones.
ms-toolsai.datawrangler — Data Wrangler
Pandas/Polars GUI for exploring DataFrames without writing plotting code.
usernamehw.errorlens — Error Lens
Inline diagnostics at the end of the offending line.
Key settings:
"errorLens.enabledDiagnosticLevels": ["error", "warning"],
"errorLens.delay": 500
oderwat.indent-rainbow — indent-rainbow
Colored indentation guides. Helpful in deeply nested YAML.
Gruntfuggly.todo-tree — Todo Tree
Collects # TODO and # FIXME comments into a browsable tree.
AI agent extensions
github.copilot — GitHub Copilot
Autocomplete, chat, and (2025+) the issue-to-PR coding agent.
Key settings:
"github.copilot.enable": {
"*": true,
"yaml": true,
"plaintext": false
},
"github.copilot.chat.localeOverride": "en"
github.copilot-chat — Copilot Chat
The chat side of Copilot. Bundled but a separate extension ID.
continue.continue — Continue.dev
BYOM-compatible open-source agent. Configure via .continue/config.json.
saoudrizwan.claude-dev — Cline
Open-source autonomous agent.
Extension pack glue
The paved path ships an Extension Pack with the extensionPack field pointing at every ID above. Installing the pack installs the list. See workspace standards for the governance.
See also
- The extension ecosystem — why each extension earns its slot.
- Settings reference — the full
settings.jsonrecipes. - Workspace standards — the rules a workspace must satisfy.