Skip to content
| Marketplace
Sign in
Visual Studio Code>Other>AIOS Markdown Auto-PreviewNew to Visual Studio Code? Get it now.
AIOS Markdown Auto-Preview

AIOS Markdown Auto-Preview

Kyle Dunne

|
1 install
| (0) | Free
When a Markdown file opens as source (e.g. from a Claude Code chat link), automatically reopen it as rendered preview.
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info

AIOS Markdown Auto-Preview

A deliberately tiny VS Code extension: when a Markdown file opens as source, automatically reopen it as rendered preview. Built for the one case settings can't fix — clicking a .md link inside the Claude Code chat panel, which force-opens source and ignores your editorAssociations.

It's the Markdown counterpart to AIOS HTML Auto-Preview: both make AI-generated artifacts open the way you actually want to read them.

Install

Search "AIOS Markdown Auto-Preview" in the Extensions view, or from a terminal:

# VS Code (Marketplace)
code --install-extension kyledunne.aios-markdown-auto-preview

# Cursor / VSCodium / Windsurf (Open VSX)
codium --install-extension kyledunne.aios-markdown-auto-preview

To opt a whole project in automatically, add it to the repo's .vscode/extensions.json recommendations:

{ "recommendations": ["kyledunne.aios-markdown-auto-preview"] }

The problem it solves

Setting "*.md": "vscode.markdown.preview.editor" makes Markdown open rendered for the Explorer, Quick Open, etc. — but the Claude Code chat panel is a closed webview that bypasses editorAssociations and force-opens source. No setting reaches it. The only lever left is to react after the file opens.

(HTML chat links have the same problem — caught by the sibling AIOS HTML Auto-Preview, which swaps them to its rendered webview the same way.)

How it works

It watches the editor tabs (window.tabGroups.onDidChangeTabs). When a Markdown file appears as a source (text) editor that it didn't expect, it closes that tab and reopens the same file with the built-in rendered preview editor (vscode.markdown.preview.editor). Net effect: click a link, it opens rendered. One click, no shortcuts, no menus. (Brief sub-100ms source flash.)

Editing source still works, because it distinguishes intent structurally rather than by timing:

  • A Markdown text editor for a file it has not just shown as preview = a forced-source open (chat link) → swap to preview.
  • A text editor for a file that was just preview = a deliberate downgrade ("Reopen as source file", or the command below) → leave as source.
  • It branches on new tab vs existing tab changing, so a just-closed tab's decision never blocks a fresh open.

Unlike the html-preview tool, this registers no custom editor — it leans on VS Code's own Markdown preview. So it works even without the *.md association; pairing the two just means Explorer opens skip straight to preview with no flash.

Pairing it with the association (recommended)

For the cleanest behavior, associate Markdown with the rendered preview editor:

{ "workbench.editorAssociations": { "*.md": "vscode.markdown.preview.editor" } }

Reading source when you want it

  • On a preview, click "Reopen as source file" — it sticks.
  • Command Palette → AIOS: Open This Markdown as Source.
  • Turn it off entirely: AIOS: Toggle Markdown Auto-Preview, or set markdownAutoPreview.enabled to false. (Worth doing if you edit .md source a lot; leave it on for read-mostly use.)

Known limits

  • Markdown only (see the HTML sibling above).
  • Brief source flash as the swap happens — unavoidable with a reactive swap.
  • Fights deliberate cold source opens. It can't tell "opened .md as source on purpose" from "chat forced source," so a cold source open swaps to preview. The escape hatches above cover it; toggle off for heavy source editing.
  • Reopen within ~300ms keeps source. Re-clicking a chat link within ~300ms of closing its preview lands on source — the brief recency window that lets "Reopen as source file" stick treats that close+open as the same deliberate downgrade. Effectively unreachable by hand; documented for completeness.

Troubleshooting

Set markdownAutoPreview.debug to true to log every tab event and swap decision to the "AIOS Markdown Auto-Preview" output channel.


Part of the AIOS starter pack.

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