Skip to content

VS Code Extension

The figdeck VS Code extension enhances your Markdown editing experience with syntax highlighting, snippets, diagnostics, and integrated CLI commands.

Install from VS Code Marketplace

  1. Open VS Code
  2. Go to Extensions (Ctrl+Shift+X / Cmd+Shift+X)
  3. Search for “figdeck”
  4. Click Install

Or use Quick Open (Ctrl+P / Cmd+P):

ext install figdeck.figdeck-vscode

Quick insertion of figdeck-specific syntax. Type the prefix and press Tab:

PrefixDescription
figdeck-globalGlobal frontmatter with background, color, align, valign
figdeck-slideNew slide with separator
figdeck-transitionSlide with transition animation
:::columns22-column layout
:::columns33-column layout
:::columns44-column layout
:::figmaFigma link block
figdeck-gradientGradient background

Enhanced highlighting for figdeck-specific syntax:

  • :::columns / :::column / :::figma directives
  • key=value attributes (link, gap, width, x, y, hideLink, text.*)
  • Image size/position specs (w:, h:, x:, y:)

Tree view in the Explorer sidebar showing all slides:

  • Click to jump to slide
  • Shows slide number and title
  • Updates automatically on document changes

Navigate between slides with commands:

  • figdeck: Go to Next Slide
  • figdeck: Go to Previous Slide

Real-time validation of figdeck Markdown:

  • Unclosed frontmatter blocks
  • Unsupported image formats
  • Invalid image size/position values
  • Missing link= in :::figma blocks
  • Invalid Figma URLs
  • Column count validation
  • Gap/width parameter validation

CodeActions to fix common issues:

  • Add link= property to figma blocks
  • Clamp gap to maximum value

Run figdeck commands directly from VS Code:

CommandDescription
figdeck: Init slides.mdCreate new slides file
figdeck: Build JSON (current file)Build to JSON
figdeck: Start ServeStart WebSocket server
figdeck: Stop ServeStop WebSocket server
figdeck: Restart ServeRestart WebSocket server
figdeck: Show OutputShow output channel

Status bar shows serve status and port.

Configure the extension in VS Code settings:

SettingDefaultDescription
figdeck.cli.commandnullCustom CLI command (e.g., ["bunx", "figdeck"])
figdeck.serve.host"127.0.0.1"Host for serve command
figdeck.serve.port4141Port for serve command
figdeck.serve.allowRemotefalseAllow remote connections
figdeck.serve.secret""Secret for authentication
figdeck.serve.noAuthfalseDisable authentication
figdeck.serve.noWatchfalseDisable file watching
figdeck.diagnostics.enabledtrueEnable diagnostics
figdeck.diagnostics.debounceMs300Debounce time for diagnostics
figdeck.images.maxSizeMb5Maximum image file size in MB

The extension looks for figdeck CLI in this order:

  1. node_modules/.bin/figdeck in workspace
  2. figdeck in PATH
  3. figdeck.cli.command setting

If not found, you’ll be prompted to install or configure it.

  1. Create a new slides file: Use figdeck: Init slides.md command
  2. Edit your Markdown: Use snippets and syntax highlighting
  3. Start the server: Use figdeck: Start Serve command
  4. Connect Figma Plugin: Open the figdeck plugin in Figma Slides
  5. Live preview: Your slides are generated automatically

The extension watches for file changes and updates the Figma plugin in real-time.