MCPcopy Index your code
hub / github.com/estruyf/vscode-demo-time

github.com/estruyf/vscode-demo-time @v2.2.0

Chat with this repo
repository ↗ · DeepWiki ↗ · release v2.2.0 ↗ · + Follow
2,501 symbols 6,308 edges 466 files 392 documented · 16%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

Demo Time

Demo Time empowers you to script flawless coding demonstrations and present slides seamlessly within Visual Studio Code. Eliminate typos and missteps, ensuring engaging and stress-free presentations.

Visual Studio Marketplace

Number of installs

Sponsor the project

Documentation 👉 demotime.show

Demo Time

Features

  • Scripted Demos: Automate your coding demonstrations to maintain a perfect flow.​
  • Code Highlighting: Emphasize specific code segments to draw audience attention.​
  • Integrated Slides: Present slides directly within VS Code for a cohesive experience.​
  • Customizable Actions: Execute various VS Code commands and tasks as part of your demo.
  • PowerPoint Integration: Seamlessly move from slides to code using the PowerPoint integration.

Getting Started

  1. Installation: Install the extension.​
  2. Initialization: After installation, initialize the extension in your project by opening the Explorer panel in VS Code. Locate the Demo Time view and click on the "Initialize" button. This action creates a .demo folder in your workspace containing either a demo.json or demo.yaml file, depending on your chosen format.​
  3. Creating Demos: Populate the act file with your actions, defining each step and action as required.​ More information about the available actions can be found in the supported actions documentation section.

Documentation

For detailed instructions, advanced configurations, and best practices, please refer to the comprehensive documentation available at https://demotime.show. This resource offers in-depth guides and examples to help you maximize the extension's capabilities.

Example act file

Here is an example demo:

{
  "$schema": "https://demotime.show/demo-time.schema.json",
  "title": "Sample demo",
  "description": "This is a sample demo configuration to show the capabilities of the extension.",
  "demos": [
    {
      "title": "Step 1",
      "description": "This is step 1",
      "steps": [
        {
          "action": "create",
          "path": "sample.json",
          "content": "{\n  \"firstName\": \"Elio\",\n  \"lastName\": \"Struyf\"\n}"
        },
        {
          "action": "open",
          "path": "sample.json"
        },
        {
          "action": "highlight",
          "path": "sample.json",
          "position": "2:3"
        }
      ]
    },
    {
      "title": "Step 2",
      "description": "This is step 2",
      "steps": [
        {
          "action": "snippet",
          "contentPath": "./snippets/insert_and_highlight.json",
          "args": {
            "MAIN_FILE": "sample.json",
            "CONTENT_PATH": "content.txt",
            "CONTENT_POSITION": "3",
            "HIGHLIGHT_POSITION": "4"
          }
        }
      ]
    }
  ]
}

You can also explore a comprehensive example in the following GitHub Repositories:

Testing

Run linting and unit tests with:

npm run lint
npm test

Tests use Jest with built-in coverage. New tests are located in the tests/ directory.

Support

If you enjoy my work and find them useful, consider sponsor me and the ecosystem to help Open Source sustainable. Thank you!

License

This project is licensed under the Apache License 2.0 - see the LICENSE file for details.

Sponsor @estruyf

Demo Time visitors

Struyf Consulting Logo

Extension points exported contracts — how you extend this code

Subscription (Interface)
(no doc) [2 implementers]
apps/vscode-extension/src/models/Subscription.ts
ServiceWorkerGlobalScope (Interface)
* The **`ServiceWorkerGlobalScope`** interface of the Service Worker API represents the global execution context of a se
docs/functions/types.d.ts
Poll (Interface)
(no doc)
packages/common/src/models/EngageTimePoll.ts
DemoStep (Interface)
(no doc)
apps/pwa/src/types/api.ts
StatusMessageProps (Interface)
(no doc)
apps/powerpoint-addin/src/components/StatusMessage.tsx
SVGElementNode (Interface)
(no doc)
apps/webviews/src/types/svg.ts
IGitHubProps (Interface)
(no doc)
docs/src/components/GitHub.tsx
SnippetFileInfo (Interface)
(no doc)
apps/vscode-extension/src/utils/listSnippetFiles.ts

Core symbols most depended-on inside this repo

n
called by 548
apps/vscode-extension/assets/slides/tailwind.js
x
called by 516
apps/vscode-extension/assets/slides/tailwind.js
error
called by 209
docs/functions/types.d.ts
r
called by 173
apps/vscode-extension/assets/slides/tailwind.js
get
called by 156
docs/functions/types.d.ts
getInstance
called by 145
apps/vscode-extension/src/services/Logger.ts
replace
called by 129
docs/functions/types.d.ts
Ve
called by 123
apps/vscode-extension/assets/slides/tailwind.js

Shape

Method 855
Function 773
Interface 611
Class 256
Enum 6

Languages

TypeScript100%

Modules by API surface

docs/functions/types.d.ts632 symbols
apps/vscode-extension/assets/slides/tailwind.js190 symbols
apps/vscode-extension/src/services/DemoRunner.ts31 symbols
apps/vscode-extension/src/services/TextTypingService.ts30 symbols
apps/vscode-extension/src/services/DemoStatusBar.ts28 symbols
apps/vscode-extension/src/services/analytics/AnalyticsService.ts27 symbols
apps/vscode-extension/src/providers/ConfigEditorProvider.ts25 symbols
apps/webviews/src/components/demo/DemoBuilder.tsx22 symbols
packages/common/src/models/Demos.ts21 symbols
apps/webviews/src/utils/theme-builder/generateCss.ts21 symbols
packages/common/src/models/Analytics.ts20 symbols
apps/vscode-extension/src/preview/Preview.ts20 symbols

For agents

$ claude mcp add vscode-demo-time \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact

Ask about this repo answers extend the page