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
.pdffiles - 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 PDFPDF viewer sidekick: Open Current PDF in ViewerPDF viewer sidekick: Go to PagePDF viewer sidekick: Find in PDFPDF viewer sidekick: Toggle Navigation SidebarPDF viewer sidekick: Toggle Page OverviewPDF viewer sidekick: Zoom InPDF viewer sidekick: Zoom OutPDF viewer sidekick: Rotate ClockwisePDF viewer sidekick: Reload PDF
Settings
pk.defaultZoompk.rememberViewStatepk.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.