Skip to content
| Marketplace
Sign in
Visual Studio Code>Visualization>PowerPoint Viewer SidekickNew to Visual Studio Code? Get it now.
PowerPoint Viewer Sidekick

PowerPoint Viewer Sidekick

PrasertKana

|
1,295 installs
| (2) | Free
A read-only PowerPoint viewer for local and remote Visual Studio Code workspaces
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info

PowerPoint Viewer Sidekick

A read-only PowerPoint viewer for Visual Studio Code with the same compact, native-feeling workflow as PDF Viewer Sidekick. It opens presentations from local folders, Remote SSH, WSL, Dev Containers, virtual workspaces, and other VS Code filesystem providers without copying them to a local path or uploading them to a service.

Current features

  • Default read-only editor for .pptx, .pptm, .ppsx, .ppsm, and .potx
  • Folder gallery of first-slide previews: click or Space to view, Ctrl/Cmd+click to view beside, double-click or Enter to open in PowerPoint
  • Continuous slide scrolling with windowed rendering near the viewport
  • PowerPoint-style slide overview with resizable, lazy previews and keyboard navigation
  • PowerPoint-style slideshow mode: one slide per screen, VS Code chrome hidden, and slide transitions
  • Presenter laser pointer, pen, and highlighter, with ink kept per slide
  • Slide tone cycling between normal, inverted, and dimmed for dark themes
  • Save the current slide as a PNG image
  • Previous, next, direct-slide, Home, End, Page Up, and Page Down navigation
  • Full-presentation text search with snippets, match-case and whole-word modes
  • Active search-result highlighting on the rendered slide
  • Lazy slide thumbnails and an automatically derived slide-title outline
  • Fit-slide, fit-width, preset, custom, Ctrl/Cmd+wheel, and double-click zoom
  • Clockwise rotation
  • Selectable rendered text
  • Embedded SVG pictures, including PowerPoint's newer asvg:svgBlip format
  • Animated slides shown at their final static stage: entrances are visible, exits are hidden, and supported motion, rotation, and scale effects use their endpoints
  • Local-font detection with a missing-font indicator and automatic Aptos/Calibri/Arial-compatible fallback stacks
  • In-presentation and external hyperlinks
  • Per-URI slide, zoom, rotation, sidebar, and overview restoration
  • External-change notification and reload
  • Light, dark, and high-contrast VS Code theme integration
  • File-size confirmation and bounded ZIP parsing for untrusted presentations
  • Local and virtual/remote filesystem support

Presentation contents are parsed and rendered locally in the VS Code webview. The extension does not make network requests, execute VBA macros, or collect telemetry. Font diagnostics check only family names requested by the current presentation; the extension does not enumerate or copy installed fonts.

Commands

  • PowerPoint Viewer Sidekick: Open PowerPoint Presentation
  • PowerPoint Viewer Sidekick: Open Current Presentation in Viewer
  • PowerPoint Viewer Sidekick: Go to Slide
  • PowerPoint Viewer Sidekick: Find in Presentation
  • PowerPoint Viewer Sidekick: Toggle Navigation Sidebar
  • PowerPoint Viewer Sidekick: Toggle Slide Overview
  • PowerPoint Viewer Sidekick: Zoom In
  • PowerPoint Viewer Sidekick: Zoom Out
  • PowerPoint Viewer Sidekick: Rotate Clockwise
  • PowerPoint Viewer Sidekick: Reload Presentation
  • PowerPoint Viewer Sidekick: Cycle Slide Tone (Normal, Invert, Dim)
  • PowerPoint Viewer Sidekick: Save Slide as Image
  • PowerPoint Viewer Sidekick: Start Slideshow
  • PowerPoint Viewer Sidekick: Exit Slideshow
  • PowerPoint Viewer Sidekick: Open in Desktop (PowerPoint)
  • PowerPoint Viewer Sidekick: Browse PowerPoint Files in Folder

Folder gallery

PowerPoint Viewer Sidekick: Browse PowerPoint Files in Folder opens a grid of first-slide previews for every presentation in one folder. The same command sits on the explorer context menu for folders and presentations, and on the viewer toolbar, where it browses the folder holding the open presentation.

Click a preview, or press Space, to view that presentation in the viewer; Ctrl+click (Cmd+click on macOS) views it beside the gallery and keeps focus in the gallery. Double-click, or press Enter, to open it in desktop PowerPoint. The arrow keys, Home, and End move the selection. Each tile also carries buttons to open the presentation in the viewer, open it in desktop PowerPoint, and reveal it in the explorer.

The toolbar filters by name, sorts by name, date modified, or file size, sets the preview size, and toggles subfolders. Sort order, preview size, and the subfolder choice are remembered for the next gallery; the filter always starts empty.

Previews are rendered only while a tile is near the viewport and are released again once it scrolls away, so a folder of large decks does not hold every presentation in memory. Only the first slide of each presentation is parsed in detail, at most two at a time. Presentations above powerpointSidekick.gallery.previewSizeLimitMB are listed without a preview, and the gallery reloads itself when presentations in the folder are added, changed, or removed.

Slideshow

Press the play button in the viewer toolbar (or run PowerPoint Viewer Sidekick: Start Slideshow) to present the presentation one slide per screen. The slideshow starts on the current slide, so selecting a thumbnail in Slide Overview first — or pressing Shift+Enter on it — presents from there.

Key Action
Space, Enter, →, ↓, Page Down Next slide
Backspace, ←, ↑, Page Up Previous slide
Home, End First or last slide
B Blank the screen to black; any key resumes
W Blank the screen to white; any key resumes
L Toggle the laser pointer
Shift+L Toggle the laser pointer with a fading tail
L L (double-tap) Switch the laser pointer's fading tail on or off
P Toggle the pen
Shift+P Toggle the fading pen
P P (double-tap) Switch the pen between permanent and fading ink
H Toggle the highlighter
Shift+H Toggle the fading highlighter
H H (double-tap) Switch the highlighter between permanent and fading ink
E Erase the ink on this slide
Other letters, with the laser, pen, or highlighter armed Pick that tool's color (see below)
Shift + a color letter Pick the complement of that letter's color
Escape Put the laser, pen, or highlighter away, then end the slideshow

Clicking a slide advances it, right-clicking goes back, and the mouse wheel moves one slide per gesture. A control bar and slide counter fade in when the pointer moves and fade out again while it is still. Each control-bar button with a letter shortcut shows that letter in its corner.

Pen strokes are stored per slide in slide-relative coordinates, so going back to an annotated slide shows the ink again, and it stays anchored to the same spot on the slide when the window is resized. Ink lives only for the duration of the slideshow and is never written to the presentation. While the pen or highlighter is armed, clicking draws instead of advancing. Highlighter strokes are translucent and sit beneath pen ink, so text under them stays readable. Hold Shift while dragging to draw a straight line from where Shift was pressed; release it to carry on freehand. Hold Alt while dragging to draw a rectangle from where Alt was pressed to the pointer; release it to keep the rectangle and carry on freehand. E erases both.

Fading ink, armed with Shift+P or Shift+H (or a Shift-click on the pen or highlighter button), is for pointing something out without leaving a mark: each stroke stays for two seconds after you lift the pointer, then fades out over one more. Double-tapping P or H switches that tool between permanent and fading ink and leaves it armed: from a permanent pen (or a put-away one) to a fading pen, and from a fading pen back to a permanent one. While fading ink is armed, its button's fill fades too. With reduced motion turned on, strokes vanish at three seconds instead of fading.

The laser pointer has no tail by default. Double-tap L (or press Shift+L, or Shift-click its button) for a tail that follows the pointer and fades out within half a second; double-tap L again to switch it off. While the tail is on, the laser button's fill fades, as it does for fading ink.

Press and hold the laser, pen, or highlighter button in the control bar (or right-click it) to open that tool's palette. Its top row picks a color from the eight color-blind-safe Okabe–Ito colors: black, orange, sky blue, bluish green, yellow, blue, vermillion, and reddish purple. Its bottom row picks one of four sizes: the laser pointer's diameter, or the pen's or highlighter's stroke width. Each tool keeps its own color and size until the viewer is closed. Until one is picked, the laser and pen use the penColor setting, the pen uses penWidth, the laser is medium, and the highlighter is a medium yellow. Ink already drawn keeps the color and width it was drawn in.

While the laser, pen, or highlighter is armed, a letter key switches it to a color, the same palette as KPen. Hold Shift with the letter for that color's complement (the opposite hue, at the same saturation and lightness; grays stay as they are). B and W pick blue and white while a tool is armed, so blank the screen with . and , then; E still erases, and H, L, and P still arm the tools. With no tool armed, letters do what the table above says.

Slideshow letter keys, and . and ,, also work with a keyboard layout that doesn't type Latin letters, such as Thai: the key in the letter's position on a US keyboard does the same thing, so there is no need to switch layouts.

Q W R T Y U I O
#777777 #ffffff #d81b60 #00a6a6 #ffcc00 #d45087 #3b5bdb #ff9900
A S D F G J K
#e69f00 #56b4e9 #009e73 #f0e442 #89f336 #d55e00 #000000
Z X C V B N M
#d7b7e8 #8fc9f5 #00ffff #bfe7b2 #0072b2 #f6c38b #ff00ff

A slideshow hides the window chrome with VS Code's Zen Mode, which also takes the window full screen unless zenMode.fullScreen is turned off. VS Code exposes no way to read the current Zen Mode state, so starting a slideshow while Zen Mode is already on leaves it, and exiting turns it back on; set powerpointSidekick.slideshow.enterZenMode to false to leave the window chrome alone. The slideshow is not part of the saved view state, so it never resumes on its own when a presentation is reopened, and it ends when its editor tab is hidden or closed.

Slide tone and slide images

The slide tone button cycles the rendered slide between normal, inverted, and dimmed, which makes a white slide bearable inside a dark theme. The tone is remembered per presentation alongside slide, zoom, and rotation, and it applies to thumbnails and Slide Overview too.

The camera button saves the current slide as a PNG next to the presentation. The export renders a detached copy of the slide, so the saved image carries the presentation's real colors no matter which slide tone is on screen, and it is written through the workspace filesystem so it works over Remote SSH and in virtual workspaces.

Settings

  • powerpointSidekick.defaultZoom
  • powerpointSidekick.rememberViewState
  • powerpointSidekick.fileSizeWarningMB
  • powerpointSidekick.slideshow.transition
  • powerpointSidekick.slideshow.showSlideCounter
  • powerpointSidekick.slideshow.advanceOnClick
  • powerpointSidekick.slideshow.wheelAdvance
  • powerpointSidekick.slideshow.controlsIdleTimeoutMs
  • powerpointSidekick.slideshow.enterZenMode
  • powerpointSidekick.slideshow.penColor
  • powerpointSidekick.slideshow.penWidth
  • powerpointSidekick.gallery.thumbnailWidth
  • powerpointSidekick.gallery.sortBy
  • powerpointSidekick.gallery.includeSubfolders
  • powerpointSidekick.gallery.previewSizeLimitMB
  • powerpointSidekick.gallery.maxFiles

Format support and limitations

The viewer supports PowerPoint Open XML packages. Legacy binary .ppt files are intentionally not registered. Macro-enabled packages can be viewed, but macros are never executed.

PowerPoint's format is extensive, so some content may be approximated or omitted. Animations do not play: the viewer resolves entrance/exit visibility, paragraph exits, motion, rotation, and scale to a final static stage. Emphasis/color effects, media commands, and complex timing may be approximated or ignored, and slide transitions do not play. Other current renderer limitations include 3D effects and true 3D charts, equations, slide notes, embedded OLE objects, and full EMF/WMF vector rendering. Password-protected presentations are not supported. Editing, printing, and slide reordering are not implemented; source files are never modified.

Development

npm install
npm run typecheck
npm test
npm run build

Press F5 in VS Code to launch an Extension Development Host. Run npm run test:integration for the VS Code smoke test and npm run package to produce a VSIX.

PowerPoint rendering is provided by @aiden0z/pptx-renderer under the Apache-2.0 license. Its license is included in packaged builds.

  • Contact us
  • Jobs
  • Privacy
  • Manage cookies
  • Terms of use
  • Trademarks
  • Your Privacy Choices
  • Consumer Health Privacy
© 2026 Microsoft