Read-only viewer for Microsoft Office files inside VS Code. Double-click a
.docx, .xlsx or .pptx file and it renders right in the editor — no
Microsoft Office, no external services.
Features
Word (.docx) — high-fidelity rendering with pages, headers/footers,
footnotes and embedded images (powered by docx-preview).
Excel (.xlsx) — multi-sheet workbooks with bottom sheet tabs (lazily
rendered), merged cells (rowspan/colspan), sticky column/row headers, and
chunked loading for large sheets: 2,000 rows per batch with a
Load more button.
PowerPoint (.pptx) — all slides rendered as a vertically scrollable
list, including shapes, text, images, tables, charts and SmartArt.
Fully offline — all renderers are bundled into the extension; nothing is
fetched from a CDN or the network.
Settings
Setting
Default
Description
officeViewer.maxFileSizeMb
50
Maximum file size (MB) the viewer will render. Larger files are refused to keep the editor responsive; raise this limit if needed.
officeViewer.retainContextWhenHidden
true
Keep rendered documents alive when their tab is hidden (faster tab switching, more memory). Changing this requires a window reload.
Tips
This extension registers itself as the default editor for .docx,
.xlsx and .pptx, so double-clicking opens the preview directly. To open a
file with a different editor (e.g. the built-in text/hex editor), right-click
the editor tab and choose "Reopen Editor With...", or use the same option
from the file's context menu ("Open With...").
Known limitations
Viewing only — editing is not supported.
Legacy binary formats (.doc, .xls, .ppt) are not supported.
Some complex PPTX elements (e.g. EMF images with embedded PDF previews)
degrade gracefully to fallback rendering.
Very large spreadsheets are chunked by rows only; sheets with an extreme
number of columns may still render slowly.
Development
npm install
npm run build # or: npm run watch
Press F5 in VS Code to launch an Extension Development Host with
the extension loaded. Package with: