The Swiss Army knife for code formatting — seamlessly format JavaScript, TypeScript, JSON, CSS, HTML, Markdown, and more in Nova, with built-in support for Astro, EJS, Go templates, Hugo, Nunjucks, Java, Laravel Blade, Liquid, PHP, Shell, Smarty, SQL, Tailwind CSS, TOML, Twig, and XML — no extra setup required.
-
Format on Save: Automatically format your code on save (this setting can be customized per project), or manually format using
Editor > Prettier⁺ > Format Document(⌥⇧F). -
Project Settings Inheritance: Workspace settings default to "Global Setting", and pop-up menus name the value they inherit — "Global Setting (Enabled)" — so the effective configuration is always visible without leaving Project Settings.
-
Format Document (Forced): Ignores
.prettierignoreand Ignored Syntaxes, formatting anyway viaEditor > Prettier⁺ > Format Document (Forced). -
Format Selection: Precisely formats only the highlighted portion of your code (currently supports JavaScript, TypeScript, GraphQL, and Handlebars).
-
Advanced Syntax Detection: Reliably detects the correct syntax based on file extension — even when Nova misidentifies it. Blade, Java, SQL, and more are correctly handled out of the box.
-
Language Support: Supports all Prettier-supported languages, including
Angular,CSS,Flow,GraphQL,HTML,JavaScript,JSON,JSX,Less,Markdown,SCSS,TypeScript,Vue, andYAML— plus additional ones via bundled plugins, such asAstro,EJS,Go Templates,Hugo,Java,Laravel Blade,Liquid,Nunjucks,PHP,Shell,Smarty,SQL,Tailwind CSS,TOML,Twig, andXML. -
Configuration Support: Compatible with standard Prettier configuration, and .prettierignore files.
-
Plugin Usage: Utilizes Prettier and any plugins installed in your project, or defaults to the bundled Prettier and plugins if none are installed. Plugins declared in your project’s Prettier config are loaded from your project’s
node_moduleswhen they aren’t bundled with the extension. -
Nova-Managed Node.js: If Node.js isn’t on your
PATH, Prettier⁺ falls back to the copy of Node.js that Nova installs and manages for its language servers (for example when you install the TypeScript language server under Settings → Languages). No separate Node.js installation is required.
-
✅ Enabled by Default — All plugins are active out of the box.
-
➕ Optional — Tailwind CSS and Hugo support are included but disabled by default. Enable them via the extension or project settings.
-
⚠️ Extension Recommended — These plugins work best when the corresponding Nova syntax extension is installed.
If you want to see other plugins being integrated, head over to the Discussions.
- To install the bundled Prettier and its plugins.
- To launch the Prettier Service for code formatting.
- To read Prettier configuration files, such as
.prettierrcand.prettierignore.
Prettier⁺ for Nova follows Semantic Versioning,
aligned with official Prettier releases. Versions are formatted as a.b.c, where:
a.bcorresponds to the bundled Prettier version.cis the extension’s specific build number (used for fixes or enhancements unrelated to the Prettier core).
For example, 3.5.4 uses Prettier v3.5.x and is the fourth extension build.
Development setup, the test suite, and the manual formatting samples are documented in CONTRIBUTING.md.
Help translate Prettier⁺ for Nova and make it accessible to more developers in your language!
You can contribute translations directly via Weblate.
No coding experience required — just a GitHub or Weblate account and a few minutes of your time.
All contributions are greatly appreciated!
This extension builds upon the outstanding work of Alexander Weiss, who created the original Nova Prettier Extension. Without his efforts, this project would not have been possible.