Smart file previews
Many file types get the same 3-mode preview (Editor / Split / Preview) as Markdown, turning raw data and config into something readable. Each is on by default, and each preview type has its own checkbox under Settings → Editor → File previews.
Whatever the file, the same two commands switch the view: view.togglePreview
flips between the editor and the full preview, and view.toggleSplitPreview
flips between the editor and a split editor-plus-preview. They act on whatever
the active file previews as, so there’s nothing per-type to remember. A floating
3-mode toggle also appears at the top right of any previewable file.
Structured data and API docs
.json,.yaml, and.tomlrender a collapsible, type-colored data tree..xml(xsd, xsl, fxml, wsdl, rss, and so on) renders a faithful DOM tree of tags, attributes, and text. Apom.xmlgets its own rendering instead.- A JSON or YAML file recognized as an OpenAPI 3 / Swagger 2 spec instead
renders as browsable API docs: endpoints with colored method badges,
params, responses, and schemas. Toggle between the tree and the docs with
structured.toggleView.
Maven poms
A pom.xml previews as a summary rather than as the generic XML tree, which
spreads every dependency over four nested rows. You get coordinates and parent,
then modules, properties, dependencies, managed dependencies, plugins, managed
plugins, and each profile’s own set. The artifact name and its version are in
aligned columns, so the versions can be read down a column.
The summary resolves the two indirections that otherwise send you back up the file:
- A
${property}version is resolved, with the reference kept beside it (5.10.2 ${junit.version}), including properties defined in terms of other properties and theproject.*built-ins. - A blank version is filled in from the file’s own
<dependencyManagement>or<pluginManagement>and tagged managed (2.0.17 managed).
Where the file alone cannot answer, the summary says so. No parent pom is
read, so a version inherited from a parent reads inherited rather than a
guessed number, and an unresolvable ${…} is reported as unresolved. The
summary reads one file and is not an effective pom.
Any file named pom.xml or *.pom qualifies, plus anything that sniffs as a
pom, so a pom-template.xml or an effective-pom.xml gets the same view.
pom.toggleView, or Show as XML tree in the preview’s right-click menu,
switches to the standard XML rendering and back. Settings → Editor → File
previews turns the summary off entirely.
Poms also carry a Maven submenu on their right-click menu.
Config files, decoded to plain English
- crontab (
crontab,*.cron,cron.d/*): each schedule in plain English (30 2 * * 1-5becomes “At 02:30, Monday through Friday”), the next fire times, and the@reboot/@dailymacros. Malformed lines are flagged with the field error. - fstab: each mount line decoded, the device spec (UUID / LABEL / path / CIFS / NFS), mount point, filesystem, and the options.
- systemd units (
.service/.timer/.socket/ …): each directive glossed, with a.timer’sOnCalendar=decoded to English plus its next triggers. - SSH config: a one-line connection summary per
Hostblock plus option glosses. - Dockerfile: a per-build-stage digest (base image, ports, workdir, user, entrypoint, health check).
- GitHub Actions workflows (detected by content): a plain-English digest of
the triggers (with
schedule:crons decoded) and each job’s runner and steps.
Viewers
.pdffiles open in a read-only page viewer (rasterized via PDFBox)..svgfiles stay editable XML but gain a live vector preview: it is drawn through JSVG’s JavaFX canvas and redrawn at whatever size it is shown at, so it stays sharp at any zoom rather than going soft past 200% the way a scaled bitmap does. Transparent files get a checkerboard behind them, so a white icon on a transparent background is visible instead of looking like an empty pane. Markdown badges and every export path (PDF, print, Word, ODF) still rasterize.- Binary files open as a read-only hex dump.
Every preview can export to PDF from its right-click menu, and File:
Print Rendered Preview… (preview.print) and File: Export Rendered Preview to
PDF… (preview.exportPdf) act on whatever the active file previews as. Tree
and summary previews break pages between rows, an OpenAPI file outputs its
documentation view when that is the one showing, and a file that does not parse
has nothing to export until the syntax error is fixed. A very long tree stops at
4,000 rows and says so. Image tabs print and export with File: Print… and
File: Export to PDF…. See Print & PDF export.