Spec-Zone.ru › Deno 2

deno fmt

Deno поставляется со встроенным форматтером кода на основе dprint, который автоматически приводит код к единому стилю. Общий обзор см. на странице Проверка и форматирование.

Основы использования

Отформатируйте все поддерживаемые файлы в текущем каталоге:

›_
deno fmt

Отформатируйте отдельные файлы или каталоги:

›_
deno fmt main.ts src/

Режим наблюдения

Автоматически переформатируйте файлы при их изменении:

›_
deno fmt --watch

Проверка форматирования в CI

Используйте --check, чтобы проверить форматирование файлов, не изменяя их. Если какие-либо файлы не отформатированы, команда завершится с ненулевым кодом возврата:

›_
deno fmt --check

Добавьте --fail-fast, чтобы остановиться на первом неотформатированном файле, а не выводить сведения обо всех таких файлах. Это полезно для больших кодовых баз:

›_
deno fmt --check --fail-fast

Форматирование stdin

Отформатируйте код, переданный через stdin, — это полезно для интеграции с редакторами:

›_
cat main.ts | deno fmt -

Настройка форматтера

Настройте параметры форматирования в файле deno.json:

deno.json
{
  "fmt": {
    "useTabs": false,
    "lineWidth": 80,
    "indentWidth": 2,
    "semiColons": true,
    "singleQuote": false,
    "proseWrap": "preserve"
  }
}

Полный список доступных параметров см. на странице Конфигурация.

Наследование настроек из .editorconfig

deno fmt также читает файлы .editorconfig и использует их, чтобы задать параметры форматирования, которые не были настроены где-либо ещё. Приоритет параметров, от самого высокого к самому низкому:

  1. Флаги CLI (--indent-width, --use-tabs и так далее)
  2. Блок fmt в файле deno.json
  3. .editorconfig
  4. Встроенные значения по умолчанию

Таким образом, .editorconfig задаёт только те значения, которые ещё не настроены с помощью флага или deno.json. Такие свойства, как indent_style, indent_size и max_line_length, соответствуют одноимённым параметрам deno fmt.

Включение и исключение файлов

Укажите, какие файлы форматировать, в deno.json:

deno.json
{
  "fmt": {
    "include": ["src/"],
    "exclude": ["src/testdata/", "src/generated/**/*.ts"]
  }
}

Также можно исключить файлы из командной строки:

›_
deno fmt --ignore=dist/,build/

Поддерживаемые типы файлов

Тип файла Расширение Примечания
JavaScript .js, .cjs, .mjs
TypeScript .ts, .mts, .cts
JSX .jsx
TSX .tsx
Markdown .md, .mkd, .mkdn, .mdwn, .mdown, .markdown
JSON .json
JSONC .jsonc
CSS .css
HTML .html
XML .xml
SVG .svg
Nunjucks .njk
Vento .vto
YAML .yml, .yaml
SCSS .scss
LESS .less
Блокнот Jupyter .ipynb
Astro .astro Требуется флаг --unstable-component или параметр конфигурации "unstable": ["fmt-component"].
Svelte .svelte Требуется флаг --unstable-component или параметр конфигурации "unstable": ["fmt-component"].
Vue .vue Требуется флаг --unstable-component или параметр конфигурации "unstable": ["fmt-component"].
SQL .sql Требуется флаг --unstable-sql или параметр конфигурации "unstable": ["fmt-sql"].
Примечание

deno fmt может форматировать фрагменты кода в файлах Markdown. Фрагменты должны быть заключены в тройные обратные кавычки и иметь атрибут языка.

Форматтеры разметки (HTML, XML, SVG и форматы --unstable-component), а также форматтеры стилей (CSS, SCSS и Less) были переработаны так, чтобы изменять только пробельные символы. Они никогда не переставляют и не переписывают токены и пропускают неизвестный синтаксис (расширения поставщиков, будущие at-правила, шаблонные выражения и даже некорректную разметку) без изменений, не выдавая ошибок. Благодаря этому форматирование надёжнее работает с файлами из реальных проектов.

Игнорирование кода

JavaScript / TypeScript / JSONC

Чтобы не форматировать код, предварите его комментарием // deno-fmt-ignore:

// deno-fmt-ignore
export const identity = [
    1, 0, 0,
    0, 1, 0,
    0, 0, 1,
];

Чтобы не форматировать файл целиком, добавьте комментарий // deno-fmt-ignore-file в начало файла.

Markdown / HTML / CSS

Чтобы не форматировать следующий элемент, предварите его комментарием <!--- deno-fmt-ignore -->:

HTML
<html>
  <body>
    <p>
      Hello there
      <!-- deno-fmt-ignore -->
    </p>
  </body>
</html>

Чтобы не форматировать фрагмент кода, заключите его между комментариями <!-- deno-fmt-ignore-start --> и <!-- deno-fmt-ignore-end -->.

Чтобы не форматировать файл целиком, добавьте комментарий <!-- deno-fmt-ignore-file --> в начало файла.

YAML

Чтобы не форматировать следующий элемент, предварите его комментарием # deno-fmt-ignore:

HTML
# deno-fmt-ignore aaaaaa: bbbbbbb
Использование командной строки:
deno fmt [OPTIONS] [files]...

Автоматически форматирует файлы различных типов.

deno fmt myfile1.ts myfile2.ts

Поддерживаются следующие типы файлов:

JavaScript, TypeScript, Markdown, JSON(C) and Jupyter Notebooks

Поддерживаются следующие типы файлов, доступные при включении соответствующих нестабильных флагов (см. параметры форматирования):

HTML, CSS, SCSS, LESS, YAML, Svelte, Vue, Astro and Angular

Форматирует stdin и записывает результат в stdout:

cat file.ts | deno fmt -

Проверяет, отформатированы ли файлы:

deno fmt --check

Чтобы не форматировать код, предварите его комментарием игнорирования:

// deno-fmt-ignore

Чтобы не форматировать файл, добавьте комментарий игнорирования в начало файла:

// deno-fmt-ignore-file

Параметры

--config, -c<FILE>

Настройка различных аспектов Deno, включая TypeScript, проверку кода и форматирование. Обычно конфигурационный файл называется deno.json или deno.jsonc и обнаруживается автоматически; в этом случае этот флаг не требуется.

--no-config

Отключает автоматическую загрузку конфигурационного файла.

--permit-no-files

Не возвращает код ошибки, если файлы не найдены.

Параметры форматирования

--check

Проверяет, отформатированы ли исходные файлы.

--ext<ext>

Задаёт тип содержимого переданного файла.

--fail-fast

Прекращает проверку файлов при первой ошибке форматирования.

--ignore<ignore>

Не форматирует указанные исходные файлы.

--indent-width<indent-width>

Задаёт ширину отступа [по умолчанию: 2]

--line-width<line-width>

Задаёт максимальную ширину строки [по умолчанию: 80]

--no-editorconfig

Не читает файлы .editorconfig для определения параметров форматирования [по умолчанию: false]

--no-semicolons<no-semicolons>необязательно

Не использует точки с запятой, кроме случаев, когда они необходимы [по умолчанию: false]

--prose-wrap<prose-wrap>

Задаёт способ переноса строк в тексте [по умолчанию: always]

--single-quote<single-quote>необязательно

Использует одинарные кавычки [по умолчанию: false]

--unstable-component

Включает форматирование файлов Svelte, Vue, Astro и Angular.

--unstable-sql

Включает форматирование файлов SQL.

--use-tabs<use-tabs>необязательно

Использует табуляцию вместо пробелов для отступов [по умолчанию: false]

Параметры наблюдения за файлами

--no-clear-screen

Не очищает экран терминала в режиме наблюдения.

--watch<FILES>необязательно

Отслеживает изменения файлов и автоматически перезапускает процесс. По умолчанию отслеживаются локальные файлы из графа модулей точки входа. Дополнительные пути можно отслеживать, передав их аргументами этому флагу.

--watch-exclude<FILES>необязательно

Исключает указанные файлы и шаблоны из режима наблюдения.

Последнее обновление: 25 июня 2026 г.

© 2018–2025 the Deno authors
Licensed under the MIT License.
https://docs.deno.com/runtime/reference/cli/fmt

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API