Skip to content

Settings

By using the Demo Time: Settings command, you can quickly access and modify the settings of the Demo Time extension.

Demo Time settings view with the setting categories, search and the General settings

The settings view groups the settings in categories, like Presenting, Highlight & zoom, Slides and Export:

  • Use the category list to jump to a group, or search the settings by name, description or key (Cmd+F / Ctrl+F).
  • Modified only shows the settings that differ from their default. A modified setting has a Reset to default link, and a setting you changed but didn’t save yet is marked Unsaved.
  • Select Save (or press Cmd+S / Ctrl+S) to store your changes, or Discard to undo them.
  • The highlight colors have a Theme color, Custom and None option, and a preview of the highlight with the colors of your current theme. See customizing the highlight.

The settings are stored in the .vscode/settings.json file of your workspace. A setting you reset to its default is removed from that file. The demoTime.videoExport.command and demoTime.videoExport.extension settings are stored in your user settings, as Demo Time only reads them from there. The EngageTime API key is stored in the VS Code secret storage.

Overview

Here is a list of all the settings available in Demo Time.

SettingDescriptionDefault
demoTime.previousEnabledEnable the previous command when in presentation mode.false
demoTime.presentationViewTogglesWhich UI areas to hide when toggling presentation view. Allowed values: statusBar, tabs, activityBar, sideBar, secondarySideBar, panel.["statusBar", "tabs", "activityBar", "sideBar", "secondarySideBar", "panel"]
demoTime.highlightBackgroundThe background color of the highlighted code: a VS Code theme color (var(--vscode-...)), a CSS color, or transparent.var(--vscode-editor-selectionBackground)
demoTime.highlightBorderColorThe border color of the highlighted code: a VS Code theme color (var(--vscode-...)), a CSS color, or transparent.rgba(255,0,0,0.5)
demoTime.highlightBlurBlur effect on the text which is not highlighted.0
demoTime.highlightOpacityThe opacity of the text which is not highlighted. Number between 0 and 1.1
demoTime.zoomThe number of steps the zoomIn and zoomOut actions zoom the VS Code window.1
demoTime.highlightZoomEnabledEnable zooming when highlighting code.false | number (zoom level)
demoTime.nextActionBehaviourDefines how the next action/step behaves.

lastExecuted (default): The “Next” action always advances from the furthest step you have executed, even if you go back and view previous steps. This is the current behavior.

currentPosition: The “Next” action advances from your current position, regardless of how far you have previously gone. If you go back and then press “Next”, it moves forward from where you are.
lastExecuted
demoTime.showClockShow a clock in the status bar.true
demoTime.timerCount down timer for how long the session should last. If not set, it will not count down. The value is the number of minutes.null
demoTime.nextSceneButtonTextThe text of the next scene button in the status bar, like Next. Use a fixed text to keep the button the same width for every scene. You can use codicons, like $(arrow-right) Next. Leave empty to show the title of the next scene. See next scene button.""
demoTime.insertTypingModeThe typing mode for inserting text. Options are: instant, line-by-line, character-by-character, or hacker-typerinstant
demoTime.insertTypingSpeedThe speed in milliseconds for inserting text.50
demoTime.insertTypingSpeedRandomnessAdds a semi-random variation to the character-by-character typing speed so it feels less robotic. The value is the maximum percentage (0-100) of extra delay added on top of demoTime.insertTypingSpeed for each character. Set to 0 to disable.0
demoTime.hackerTyperChunkSizeNumber of characters to insert per ‘keystroke’ in hacker-typer mode3
demoTime.terminalCommandBoundaryDelayDelay (in milliseconds) between sequential terminal commands to prevent character bleed. Increase this if commands overlap or if you use custom shell prompts (Oh My Posh, Starship, Powerlevel10k) which can cause VS Code shell integration to be unreliable. See VS Code issue #242897.200
demoTime.api.enabledEnable the API to control the extension.false
demoTime.api.portThe port on which the API should run.3710
demoTime.hideEditorActionsHide the editor actions (add new demo and toggle highlight).false
demoTime.customWebComponentsCustom web components to be used in the slides. Provide the relative paths to the JS file(s).[]
demoTime.customThemeCustom CSS file to be used in the slides. Provide the relative path to the CSS file.“
demoTime.defaultFileTypeThe default file type for new act files. Options: json (default), yaml.json
demoTime.slideHeaderTemplateRelative path to an HTML file with the template for the slide header. See the placeholders you can use.
demoTime.slideFooterTemplateRelative path to an HTML file with the template for the slide footer.
demoTime.slideProgressBarShow a progress bar on the slides. Options: none, top, bottom. Use the progress front matter property to change it for a slide.none
demoTime.presentationTitleThe title for the {{presentationTitle}} placeholder in slide header and footer templates. When empty, the name of the workspace folder is used.“
demoTime.slidePreviewSyncSync the slide preview with the markdown editor: the preview shows the slide under the cursor, and double-clicking a slide moves the cursor to its source. Never applies in presentation mode.true
demoTime.slideReducedMotionReduce motion on the slides: slide transitions become a short crossfade, and animations show their end state. Options: auto (follow the workbench.reduceMotion setting of VS Code and your OS), on, off.auto
demoTime.pdfExport.includeHiddenSlidesInclude hidden slides (hide: true) when exporting the slides to PDF.false
demoTime.pdfExport.notesAdd the speaker notes of the slides to the PDF export. Options: none, below (below each slide), page (on a separate page after each slide).none
demoTime.debugEnable debug mode for Demo Time.false
demoTime.openInConfigEditorOpen the act file in the act editor GUI.true
demoTime.remote.showScreenshotEnable remote screenshot functionality.true
demoTime.remote.showNotesEnable remote notes functionality.true
demoTime.redaction.enabledEnable redaction mode to automatically mask sensitive data (API keys, tokens, passwords, emails) during presentation mode.false
demoTime.redaction.customPatternsAdditional regex patterns to redact sensitive data. Each pattern should be a valid JavaScript regular expression string.[]
demoTime.recording.captureSavesWhen recording a demo, capture file saves as save moves.true
demoTime.analytics.enabledTrack timing, navigation and performance while presenting, for the analytics dashboard.true
demoTime.videoExport.commandThe command that runs the video export CLI. Only read from your user settings.npx --yes @demotime/video@latest
demoTime.videoExport.extensionThe Demo Time build to record the video export with: a Marketplace id (with @version) or a path to a VSIX. Empty uses the version you are running. Only read from your user settings.“

Act file Format Examples

Demo Time supports both JSON and YAML formats for act files. You can configure the default format with the demoTime.defaultFileType setting.

{
"$schema": "https://demotime.show/demo-time.schema.json",
"title": "My Demo",
"description": "A sample demo",
"version": 3,
"scenes": [
{
"title": "Step 1",
"moves": [
{
"action": "create",
"path": "test.txt",
"content": "Hello World"
}
]
}
]
}