VS Code Extension
Overview
Section titled “Overview”The figdeck VS Code extension enhances your Markdown editing experience with syntax highlighting, snippets, diagnostics, and integrated CLI commands.
Install from VS Code Marketplace
Installation
Section titled “Installation”- Open VS Code
- Go to Extensions (Ctrl+Shift+X / Cmd+Shift+X)
- Search for “figdeck”
- Click Install
Or use Quick Open (Ctrl+P / Cmd+P):
ext install figdeck.figdeck-vscodeFeatures
Section titled “Features”Snippets
Section titled “Snippets”Quick insertion of figdeck-specific syntax. Type the prefix and press Tab:
| Prefix | Description |
|---|---|
figdeck-global | Global frontmatter with background, color, align, valign |
figdeck-slide | New slide with separator |
figdeck-transition | Slide with transition animation |
:::columns2 | 2-column layout |
:::columns3 | 3-column layout |
:::columns4 | 4-column layout |
:::figma | Figma link block |
figdeck-gradient | Gradient background |
Syntax Highlighting
Section titled “Syntax Highlighting”Enhanced highlighting for figdeck-specific syntax:
:::columns/:::column/:::figmadirectiveskey=valueattributes (link, gap, width, x, y, hideLink, text.*)- Image size/position specs (
w:,h:,x:,y:)
Slide Outline
Section titled “Slide Outline”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 Slidefigdeck: Go to Previous Slide
Diagnostics
Section titled “Diagnostics”Real-time validation of figdeck Markdown:
- Unclosed frontmatter blocks
- Unsupported image formats
- Invalid image size/position values
- Missing
link=in:::figmablocks - Invalid Figma URLs
- Column count validation
- Gap/width parameter validation
Quick Fixes
Section titled “Quick Fixes”CodeActions to fix common issues:
- Add
link=property to figma blocks - Clamp gap to maximum value
CLI Integration
Section titled “CLI Integration”Run figdeck commands directly from VS Code:
| Command | Description |
|---|---|
figdeck: Init slides.md | Create new slides file |
figdeck: Build JSON (current file) | Build to JSON |
figdeck: Start Serve | Start WebSocket server |
figdeck: Stop Serve | Stop WebSocket server |
figdeck: Restart Serve | Restart WebSocket server |
figdeck: Show Output | Show output channel |
Status bar shows serve status and port.
Settings
Section titled “Settings”Configure the extension in VS Code settings:
| Setting | Default | Description |
|---|---|---|
figdeck.cli.command | null | Custom CLI command (e.g., ["bunx", "figdeck"]) |
figdeck.serve.host | "127.0.0.1" | Host for serve command |
figdeck.serve.port | 4141 | Port for serve command |
figdeck.serve.allowRemote | false | Allow remote connections |
figdeck.serve.secret | "" | Secret for authentication |
figdeck.serve.noAuth | false | Disable authentication |
figdeck.serve.noWatch | false | Disable file watching |
figdeck.diagnostics.enabled | true | Enable diagnostics |
figdeck.diagnostics.debounceMs | 300 | Debounce time for diagnostics |
figdeck.images.maxSizeMb | 5 | Maximum image file size in MB |
CLI Detection
Section titled “CLI Detection”The extension looks for figdeck CLI in this order:
node_modules/.bin/figdeckin workspacefigdeckin PATHfigdeck.cli.commandsetting
If not found, you’ll be prompted to install or configure it.
Workflow
Section titled “Workflow”- Create a new slides file: Use
figdeck: Init slides.mdcommand - Edit your Markdown: Use snippets and syntax highlighting
- Start the server: Use
figdeck: Start Servecommand - Connect Figma Plugin: Open the figdeck plugin in Figma Slides
- Live preview: Your slides are generated automatically
The extension watches for file changes and updates the Figma plugin in real-time.