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/formatter

Spec-Zone.ru

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