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:

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