Skip to content
| Marketplace
Sign in
Visual Studio Code>Formatters>tsv format — TypeScript, Svelte & CSSNew to Visual Studio Code? Get it now.
tsv format — TypeScript, Svelte & CSS

tsv format — TypeScript, Svelte & CSS

fuz.dev

|
17 installs
| (0) | Free
Format-on-save for TypeScript/JS, Svelte, and CSS, powered by tsv. One canonical, non-configurable style.
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info

fuzdev.tsv-format

This is a VSCode extension with format-on-save for TypeScript/JS, Svelte, and CSS using tsv, a Rust formatter similar to Prettier + prettier-plugin-svelte.

tsv has one canonical, non-configurable style (like gofmt and Python's Black). There's no .prettierrc, no settings, no plugin discovery. It runs in both the desktop and the web extension hosts (like vscode.dev and github.dev) using wasm. (tsv's native builds ship separately as the @fuzdev/tsv npm package, outside this extension.)

Install

fuzdev.tsv-format on:

  • VSCode marketplace
  • Open VSX Registry

What it formats

  • TypeScript - .ts/.mts/.cts
  • JS - .js/.mjs/.cjs
  • Svelte - .svelte
  • CSS - .css

These are planned for the future:

  • .json/.jsonc
  • .html

tsv will not support:

  • .jsx/.tsx (typescriptreact/javascriptreact)
  • .scss/.less

Setup

This extension registers a formatter but doesn't change your settings. To make it the default formatter and format on save, add this to your settings.json:

{
  "editor.formatOnSave": true,
  "[typescript]": {"editor.defaultFormatter": "fuzdev.tsv-format"},
  "[javascript]": {"editor.defaultFormatter": "fuzdev.tsv-format"},
  "[svelte]": {"editor.defaultFormatter": "fuzdev.tsv-format"},
  "[css]": {"editor.defaultFormatter": "fuzdev.tsv-format"}
}

You can also run Format Document manually. There is no Format Selection support - for now tsv formats whole files only.

How it behaves

  • Format on save is VSCode's built-in feature; this extension just provides the formatter. It applies edits synchronously, so a save can't race against an in-flight format.
  • Ignore directives (format-ignore and the prettier-ignore alias) are honored by tsv itself.
  • Ignore files are respected: a file your project ignores via .gitignore (hierarchically, like git, inside a repo), a .formatignore (hierarchically), or a .prettierignore (also hierarchically, inside a repo, read only where no .formatignore sits beside it) is skipped on save and on Format Document — matching what tsv format would skip on the command line (including its build-output skips like dist/ and build/ where no .gitignore is in scope).
  • Parse errors never interrupt you: the file is left unchanged, a small ⚠ tsv item appears in the status bar, and the details go to the tsv Output channel (click the status item, or run tsv format: Show Output).

Contributing

fuz.dev/contributing

License

0BSD. The bundled tsv WASM compiles in the WHATWG list of named character references, under BSD-3-Clause — see the NOTICE shipped beside it in dist/node/ and dist/web/.

  • Contact us
  • Jobs
  • Privacy
  • Manage cookies
  • Terms of use
  • Trademarks
  • Your Privacy Choices
  • Consumer Health Privacy
© 2026 Microsoft