Executable Talk cover image

Executable Talk

Active TypeScriptVS Code ExtensionMarkdownPresentationsLive Coding

Overview

Executable Talk transforms your Markdown presentations into live coding demonstrations with full VS Code integration. Navigate slides with keyboard shortcuts, execute actions by clicking links, and deliver seamless live coding demos with undo/redo support.

Features

  • Navigate Slides: Use arrow keys to navigate between slides in a full-screen presentation view
  • Execute Actions: Click on action links to open files, highlight code, run terminal commands, or start debug sessions
  • Undo/Redo: Recover from demo failures by undoing IDE changes with Cmd+Z / Ctrl+Z
  • Zen Mode: Presentations automatically enter distraction-free Zen Mode
  • Presenter View: Open speaker notes and next slide preview on a secondary panel
  • Workspace Trust: Actions that execute code require Workspace Trust for security

Getting Started

Create a Presentation

Create a file with the .deck.md extension:

---
title: My First Presentation
author: Your Name
---

# Welcome to Executable Talk

This is your first slide!

---

## Opening a File

Click the action link to see it in action:

[Open Main File](action:file.open?path=src/main.ts)

---

## Highlighting Code

Draw attention to specific lines:

[Highlight the function](action:editor.highlight?path=src/main.ts&lines=5-10)

---
notes: Remember to explain the architecture diagram!
---

## Running Commands

Execute terminal commands during your demo:

[Install Dependencies](action:terminal.run?command=npm%20install)

---

## Debugging

Start a debug session:

[Launch Debugger](action:debug.start?config=Launch%20Program)

Start a Presentation

  1. Open a .deck.md file in VS Code
  2. Press Cmd+Shift+P (Mac) or Ctrl+Shift+P (Windows/Linux)
  3. Run Executable Talk: Start Presentation

Keyboard Shortcuts

KeyAction
or SpaceNext slide
or BackspacePrevious slide
HomeFirst slide
EndLast slide
Cmd+Z / Ctrl+ZUndo IDE changes
Cmd+Shift+Z / Ctrl+YRedo IDE changes
EscapeExit presentation

Commands

CommandDescription
Executable Talk: Start PresentationOpen the current .deck.md file as a presentation
Executable Talk: Stop PresentationClose the presentation and restore IDE state
Executable Talk: Reset PresentationReset to the first slide and clear all changes
Executable Talk: Next SlideNavigate to the next slide
Executable Talk: Previous SlideNavigate to the previous slide
Executable Talk: Open Presenter ViewShow speaker notes and next slide preview

Action Reference

file.open

Opens a file in the editor.

[Open File](action:file.open?file=path/to/file.ts)
ParameterDescriptionRequired
fileRelative path to the fileYes

editor.highlight

Highlights specific lines in a file.

[Highlight Code](action:editor.highlight?file=path/to/file.ts&lines=5-10)
ParameterDescriptionRequired
fileRelative path to the fileYes
linesLine range (e.g., 5-10 or 5)Yes

terminal.run

Runs a command in the integrated terminal. Requires Workspace Trust.

[Run Command](action:terminal.run?command=npm%20test)
ParameterDescriptionRequired
commandURL-encoded command to executeYes

debug.start

Starts a debug session. Requires Workspace Trust.

[Start Debugging](action:debug.start?config=Launch%20Program)
ParameterDescriptionRequired
configName of the launch configurationYes

sequence

Executes multiple actions in order.

[Demo Flow](action:sequence?actions=file.open%3Ffile%3Dsrc/main.ts,editor.highlight%3Ffile%3Dsrc/main.ts%26lines%3D1-5)
ParameterDescriptionRequired
actionsComma-separated list of URL-encoded actionsYes

Speaker Notes

Add speaker notes to any slide using the notes field in YAML frontmatter:

---
notes: |
  Key points to cover:
  - Explain the architecture
  - Show the demo
  - Answer questions
---

# Slide Title

Slide content goes here...

View speaker notes by running Executable Talk: Open Presenter View.

Workspace Trust

For security, actions that execute code (terminal.run and debug.start) require Workspace Trust. When opening a presentation with executable actions in an untrusted workspace:

  1. You’ll be prompted to confirm before proceeding
  2. Actions requiring trust will show as blocked
  3. You can still use file.open and editor.highlight actions

Requirements

  • VS Code 1.85.0 or higher
  • Workspace Trust enabled for terminal.run and debug.start actions

Extension Settings

This extension does not contribute any settings.

Known Issues

  • Multi-monitor presenter view requires manual command execution (no automatic detection)
  • Zen Mode state detection is approximate

Release Notes

See CHANGELOG.md for version history.

License

MIT


Made with ❤️ for live coding presentations