Skip to content
| Marketplace
Sign in
Visual Studio Code>Other>PreviewurNew to Visual Studio Code? Get it now.
Previewur

Previewur

Jurgen Braam

| (0) | Free
Open previews instead of editors for configured file types
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info

Previewur

Open previews instead of editors for configured file types and extensions with a preview command.

Features

  • Auto-open preview — Opens preview when you open a supported file
  • Auto-close preview — Closes the preview tab when the source tab closes
  • Preview-only mode — Reader mode: preview only, one file at a time
  • Diff-aware — Skips previews in git diff views (configurable)
  • Configurable types — previewur.languageIdsEnabled or command Previewur: Choose Preview File Types
  • Robust state tracking — Self-healing preview detection; reopens after manual close
  • Format-agnostic — Handles varied preview label formats ("Preview: file", "Preview file")

Installation

From a VSIX or development host; Marketplace id follows publisher.name (see package.json).

Commands

Command Keybinding Description
Toggle Previewur Ctrl+Shift+Alt+M Enable/disable
Toggle Preview-Only Mode Ctrl+Shift+Alt+P Reader mode
Choose Preview File Types — Multi-select picker
Configure Language Overrides — Set per-language behavior overrides

On Mac, use Cmd instead of Ctrl

Configuration

Language IDs, commands, and file extensions are auto-detected from installed extensions. When you first open a supported file type, Previewur automatically enables it and shows a notification with a link to customize settings.

{
  "previewur.active": true,
  "previewur.doNotEnableNewLanguages": false,
  "previewur.languageIdsEnabled": ["markdown", "asciidoc", "ansi"],
  "previewur.defaultOpenPreviewToSide": true,
  "previewur.defaultAutoClosePreview": true,
  "previewur.defaultOpenOnGitDiff": false,
  "previewur.defaultPreviewOnlyMode": false,
  "previewur.defaultPreserveEditorColumn": true,
  "previewur.languageIdsConfig": [
    {
      "languageId": "markdown",
      "label": "Markdown",
      "previewCommand": "markdown.showPreview",
      "previewToSideCommand": "markdown.showPreviewToSide",
      "fileExtensions": [".md", ".markdown"],
      "seen": "first-time",
      "openPreviewToSide": true,
      "autoClosePreview": true,
      "openOnGitDiff": false,
      "previewOnlyMode": false
    },
    {
      "languageId": "asciidoc",
      "label": "AsciiDoc",
      "previewCommand": "asciidoc.showPreview",
      "previewToSideCommand": "asciidoc.showPreviewToSide",
      "fileExtensions": [".adoc", ".asciidoc"],
      "seen": "first-time",
      "openPreviewToSide": false,
      "autoClosePreview": true,
      "openOnGitDiff": false,
      "previewOnlyMode": false
    },
    {
      "languageId": "ansi",
      "label": "ANSI Text",
      "previewCommand": "HNRobert.ansi-viewer.showPreview",
      "previewToSideCommand": "HNRobert.ansi-viewer.showPreviewToSide",
      "fileExtensions": [".ans", ".ansi"],
      "seen": "first-time",
      "openPreviewToSide": false,
      "autoClosePreview": false,
      "openOnGitDiff": false,
      "previewOnlyMode": true,
      "preserveEditorColumn": true
    }
  ]
}

Configuration Notes

  • Auto-detection: Extensions are scanned on startup; languages with preview commands are detected automatically
  • First-time notification: When opening a new file type for the first time, Previewur shows a notification with a settings link
  • Opt-out: Set doNotEnableNewLanguages: true to prevent auto-enabling new detected languages
  • Customization: Languages are added to languageIdsConfig automatically with seen: "first-time" marker
  • Minimal config: Only specify fields you want to override; defaults are used for omitted fields

Use the command Previewur: Configure Language Overrides to manage per-language settings via UI.

Setting Default Description
previewur.active true Master switch
previewur.doNotEnableNewLanguages (omitted => false) Prevent auto-enabling newly detected languages
previewur.languageIdsEnabled [] Which language IDs get auto-preview (auto-populated)
previewur.languageIdsConfig [] Per-language configuration (auto-populated from scanned extensions)
previewur.defaultOpenPreviewToSide true Preview beside source (overridable via languageIdsConfig)
previewur.defaultAutoClosePreview true Close preview when source closes (overridable; ignored when defaultPreviewOnlyMode)
previewur.defaultOpenOnGitDiff false Open preview in git diff (overridable)
previewur.defaultPreviewOnlyMode false Preview-only reader mode — overrides defaultPreserveEditorColumn and defaultAutoClosePreview (overridable)
previewur.defaultPreserveEditorColumn true Keep focus on source column after preview opens — prevents other files from opening in the preview column (overridable; ignored when defaultPreviewOnlyMode)

languageIdsConfig Structure

Each entry in languageIdsConfig supports:

Field Required Description
languageId Yes VS Code language identifier
label No Display name (defaults to languageId)
previewCommand No Command for same-group preview
previewToSideCommand No Command for side-by-side preview
fileExtensions No File extensions for this language
seen No Internal marker for first-time notification (auto-set)
openPreviewToSide No Override default placement
autoClosePreview No Override auto-close behavior (ignored when previewOnlyMode)
openOnGitDiff No Override git diff behavior
previewOnlyMode No Override reader mode
preserveEditorColumn No Override source-column focus behavior (ignored when previewOnlyMode)

Technical Implementation

Preview State Management

Previewur maintains robust tracking of opened previews with self-healing validation:

  • Stale detection — Validates preview existence before blocking reopens; auto-clears stale entries
  • Multiple entry points — Handles onDidOpenTextDocument, onDidChangeActiveTextEditor, and tab events
  • Preview-only mode support — Correctly reopens in reader mode after manual close
  • Webview tab tracking — Monitors preview tab closures to maintain accurate state
  • Flexible label matching — Supports multiple preview label formats from different extensions

Extension Detection

Dynamically scans installed extensions for preview commands:

  • Auto-detects showPreview and showPreviewToSide commands
  • Extracts language IDs and file extensions from package.json contributions
  • Maps extensions to language IDs for accurate preview triggering

Acknowledgements

https://github.com/hnw/vscode-auto-open-markdown-preview

License

MIT

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