Skip to content
| Marketplace
Sign in
Visual Studio Code>Programming Languages>Smart OutlineNew to Visual Studio Code? Get it now.
Smart Outline

Smart Outline

Suraj Shrestha

|
1 install
| (0) | Free
AI-enhanced Go to Symbol: a fuzzy-searchable symbol picker with one-line AI summaries, grouped and prioritized by kind.
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info

Smart Outline

An AI-enhanced Go to Symbol for VS Code. It lists the symbols in the current file in a native, fuzzy-searchable modal — like the built-in "Go to Symbol in Editor" — but each symbol also shows a one-line AI summary of what it does.

Smart Outline symbol picker showing classes, constructors, methods, and fields with one-line AI summaries

Features

  • Native modal picker — press Cmd+Shift+O (Ctrl+Shift+O on Windows/Linux) to open a centered QuickPick over the editor.
  • Flattened symbol list — classes, functions, methods, fields, etc. from the current file, with a breadcrumb path (e.g. MyClass › doThing) and line number.
  • Fuzzy search — type to filter; matching characters are highlighted. Search also matches the breadcrumb and the AI summary text.
  • One-line AI summaries — a short description of each symbol on the second line, generated lazily as you move through the list and cached per workspace.
  • Jump on select — press Enter to reveal the symbol and move the cursor there.

Symbols come from VS Code's own document symbol provider, so any language with a working language server (TypeScript, Python, Terraform, Go, …) is supported.

Requirements

The symbol picker, fuzzy search, grouping, and navigation work everywhere with no setup. The AI summaries need access to an Anthropic model, via one of two transports (auto-detected):

1. Public Anthropic API — for most users. Bring your own key:

  • Set smartOutline.anthropicApiKey (or the ANTHROPIC_API_KEY environment variable). Summaries then call https://api.anthropic.com/v1/messages.
  • Default model: claude-haiku-4-5 (override with smartOutline.summaryModel).

2. Internal Bedrock gateway — used automatically when an ANTHROPIC_BEDROCK_BASE_URL is configured (env or ~/.claude/settings.json), with a token from ANTHROPIC_AUTH_TOKEN / ANTHROPIC_API_KEY or the settings apiKeyHelper (minted, cached ~5 min, re-minted on 401/403). Model id must be one the gateway accepts (e.g. claude-haiku-4-5-20251001).

If neither transport is configured, the picker still works — summaries are simply omitted (fail-soft). Set smartOutline.enableSummaries to false to skip them entirely.

Your API key is only used to call the summary endpoint you configure; it is not sent anywhere else.

Extension Settings

Setting Default Description
smartOutline.enableSummaries true Generate one-line AI summaries for symbols.
smartOutline.anthropicApiKey "" Anthropic API key for the public API path. Falls back to ANTHROPIC_API_KEY.
smartOutline.anthropicBaseUrl "" Override base URL for the public Anthropic API (default https://api.anthropic.com).
smartOutline.summaryModel "" Model id override. Empty → a per-transport default (claude-haiku-4-5 public, claude-haiku-4-5-20251001 gateway).
smartOutline.maxConcurrentSummaries 4 Max concurrent summary requests.

Known Issues / Limitations

  • Summary line styling is fixed by VS Code. The QuickPick API gives no way to change the font size, italicize, or indent the detail line beyond leading spaces. This is a platform limitation, not a bug.
  • Current file only. Smart Outline lists symbols from the active editor, not the whole workspace.
  • If Node's TLS trust store rejects the gateway's certificate, set NODE_EXTRA_CA_CERTS to your corporate root CA when launching VS Code.

Development

pnpm install
pnpm run compile      # type-check + lint + esbuild bundle
pnpm run watch        # rebuild on change
pnpm test             # run the test suite (downloads a VS Code build)

Press F5 (config: Run Extension (no build task)) to launch an Extension Development Host, open a file, and press Cmd+Shift+O.

Packaging & installing the VSIX

Build a shareable .vsix (no Marketplace account needed):

npx @vscode/vsce package --no-dependencies \
  --baseImagesUrl "https://git.soma.salesforce.com/sshrestha/smart-outline/raw/main/"
# → smart-outline-<version>.vsix

The --baseImagesUrl flag is required here because vsce only auto-detects image paths for github.com / gitlab.com repos; this project is hosted on an internal GitHub Enterprise. Point it at any URL that serves the repo's raw files. (Omit the flag once the repo is on a recognized public host.)

Install it into VS Code or Cursor:

# from the command line
code   --install-extension smart-outline-<version>.vsix
cursor --install-extension smart-outline-<version>.vsix

# Cursor: install into a specific profile
cursor --profile "<ProfileName>" --install-extension smart-outline-<version>.vsix

Or via the UI: Extensions view → ⋯ menu → Install from VSIX…. Reload the window afterward (Developer: Reload Window).

Release Notes

0.0.1

Initial version: native QuickPick symbol picker with lazy AI summaries.

  • Contact us
  • Jobs
  • Privacy
  • Manage cookies
  • Terms of use
  • Trademarks
© 2026 Microsoft