PDF viewer sidekick
A read-only PDF viewer for Visual Studio Code. It opens PDFs from local
folders, Remote SSH, WSL, Dev Containers, virtual workspaces, and other
filesystem providers without copying them to a local path.
Current features
- Default read-only editor for
.pdf files
- Continuous page scrolling with virtualized rendering near the viewport
- Read-only PowerPoint-style page overview with resizable, virtualized
thumbnails and keyboard navigation
- Previous, next, and direct page navigation
- Full-document text search with snippets, active-result highlighting,
match-case and whole-word modes, progress, and cancellation
- Lazy page thumbnails and PDF outline navigation in a resizable sidebar
- Fit-width, fit-page, preset, and custom zoom
- Ctrl+wheel zoom with pointer anchoring (Cmd+wheel on macOS)
- Double-click page zoom and Ctrl+0/Ctrl+1 zoom shortcuts
- Clockwise rotation
- Selectable PDF text
- External and in-document links
- Existing PDF annotation appearances
- Password-protected documents
- Per-URI page, zoom, rotation, and sidebar restoration
- External-change notification and reload
- Light, dark, and high-contrast VS Code themes
- VS Code-native icons, page-loading skeletons, and flicker-free rerendering
PDF contents are processed locally by the bundled PDF.js runtime. The extension
does not make network requests or collect telemetry.
Commands
PDF viewer sidekick: Open PDF
PDF viewer sidekick: Open Current PDF in Viewer
PDF viewer sidekick: Go to Page
PDF viewer sidekick: Find in PDF
PDF viewer sidekick: Toggle Navigation Sidebar
PDF viewer sidekick: Toggle Page Overview
PDF viewer sidekick: Zoom In
PDF viewer sidekick: Zoom Out
PDF viewer sidekick: Rotate Clockwise
PDF viewer sidekick: Reload PDF
Settings
pk.defaultZoom
pk.rememberViewState
pk.fileSizeWarningMB
Limitations
Attachments, printing, Save As, bookmarks, and annotation editing are not
implemented. Page Overview is for navigation only and does not reorder pages.
PDFs are never modified in place.
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 package to produce a VSIX.
PDF rendering is provided by Mozilla PDF.js under the Apache-2.0 license. Its
license is included in packaged builds as dist/PDFJS-LICENSE.