mirror of
https://github.com/anomalyco/opencode.git
synced 2026-05-02 10:46:46 +00:00
wip(docs): i18n (#12681)
This commit is contained in:
130
packages/web/src/content/docs/ru/formatters.mdx
Normal file
130
packages/web/src/content/docs/ru/formatters.mdx
Normal file
@@ -0,0 +1,130 @@
|
||||
---
|
||||
title: Форматеры
|
||||
description: OpenCode использует средства форматирования, специфичные для языка.
|
||||
---
|
||||
|
||||
OpenCode автоматически форматирует файлы после их записи или редактирования с использованием средств форматирования для конкретного языка. Это гарантирует, что создаваемый код будет соответствовать стилям кода вашего проекта.
|
||||
|
||||
---
|
||||
|
||||
## Встроенный
|
||||
|
||||
OpenCode поставляется с несколькими встроенными форматировщиками для популярных языков и платформ. Ниже приведен список форматтеров, поддерживаемых расширений файлов, а также необходимых команд или параметров конфигурации.
|
||||
|
||||
| форматтер | Расширения | Требования |
|
||||
| -------------------- | -------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------- |
|
||||
| правительство | .идти | Доступна команда `gofmt` |
|
||||
| смешивание | .ex, .exs, .bias, .heex, .bend, .neex, .sface | Доступна команда `mix` |
|
||||
| красивее | .js, .jsx, .ts, .tsx, .html, .css, .md, .json, .yaml и [подробнее](https://prettier.io/docs/en/index.html) | Зависимость `prettier` в `package.json` |
|
||||
| биом | .js, .jsx, .ts, .tsx, .html, .css, .md, .json, .yaml и [подробнее](https://biomejs.dev/) | Конфигурационный файл `biome.json(c)` |
|
||||
| зигзаг | .zig, .zon | Доступна команда `zig` |
|
||||
| clang-формат | .c, .cpp, .h, .hpp, .ino и [подробнее](https://clang.llvm.org/docs/ClangFormat.html) | Конфигурационный файл `.clang-format` |
|
||||
| ктлинт | .кт, .ктс | Доступна команда `ktlint` |
|
||||
| ерш | .py, .pyi | Команда `ruff` доступна в конфигурации |
|
||||
| ржавчина | .rs | Доступна команда `rustfmt` |
|
||||
| грузовой контейнер | .rs | Доступна команда `cargo fmt` |
|
||||
| уф | .py, .pyi | Доступна команда `uv` |
|
||||
| рубокоп | .rb, .rake, .gemspec, .ru | Доступна команда `rubocop` |
|
||||
| стандартный RB | .rb, .rake, .gemspec, .ru | Доступна команда `standardrb` |
|
||||
| htmlbeautifier | .erb, .html.erb | Доступна команда `htmlbeautifier` |
|
||||
| воздух | .Р | Доступна команда `air` |
|
||||
| дротик | .dart | Доступна команда `dart` |
|
||||
| ocamlformat | .мл, .мли | Доступна команда `ocamlformat` и файл конфигурации `.ocamlformat`. |
|
||||
| терраформировать | .tf, .tfvars | Доступна команда `terraform` |
|
||||
| светиться | .блеск | Доступна команда `gleam` |
|
||||
| никсфмт | .nix | Доступна команда `nixfmt` |
|
||||
| шфмт | .sh, .bash | Доступна команда `shfmt` |
|
||||
| пинта | .php | Зависимость `laravel/pint` в `composer.json` |
|
||||
| oxfmt (экспериментальный) | .js, .jsx, .ts, .tsx | Зависимость `oxfmt` в `package.json` и [экспериментальная переменная окружения flag](/docs/cli/#experimental) |
|
||||
| ормол | .hs | Доступна команда `ormolu` |
|
||||
|
||||
Поэтому, если ваш проект имеет `prettier` в вашем `package.json`, OpenCode автоматически его использует.
|
||||
|
||||
---
|
||||
|
||||
## Как это работает
|
||||
|
||||
Когда OpenCode записывает или редактирует файл, он:
|
||||
|
||||
1. Проверяет расширение файла по всем включенным средствам форматирования.
|
||||
2. Запускает соответствующую команду форматирования файла.
|
||||
3. Автоматически применяет изменения форматирования.
|
||||
|
||||
Этот процесс происходит в фоновом режиме, обеспечивая сохранение стилей кода без каких-либо действий вручную.
|
||||
|
||||
---
|
||||
|
||||
## Настроить
|
||||
|
||||
Вы можете настроить форматтеры через раздел `formatter` в конфигурации OpenCode.
|
||||
|
||||
```json title="opencode.json"
|
||||
{
|
||||
"$schema": "https://opencode.ai/config.json",
|
||||
"formatter": {}
|
||||
}
|
||||
```
|
||||
|
||||
Каждая конфигурация форматтера поддерживает следующее:
|
||||
|
||||
| Свойство | Тип | Описание |
|
||||
| ------------- | -------- | ------------------------------------------------------- |
|
||||
| `disabled` | логическое значение | Установите для этого параметра значение `true`, чтобы отключить форматтер. |
|
||||
| `command` | нить[] | Команда для форматирования |
|
||||
| `environment` | объект | Переменные среды, которые необходимо установить при запуске средства форматирования |
|
||||
| `extensions` | нить[] | Расширения файлов, которые должен обрабатывать этот форматтер |
|
||||
|
||||
Давайте посмотрим на несколько примеров.
|
||||
|
||||
---
|
||||
|
||||
### Отключение форматтеров
|
||||
|
||||
Чтобы глобально отключить **все** средства форматирования, установите для `formatter` значение `false`:
|
||||
|
||||
```json title="opencode.json" {3}
|
||||
{
|
||||
"$schema": "https://opencode.ai/config.json",
|
||||
"formatter": false
|
||||
}
|
||||
```
|
||||
|
||||
Чтобы отключить **конкретный** форматтер, установите для `disabled` значение `true`:
|
||||
|
||||
```json title="opencode.json" {5}
|
||||
{
|
||||
"$schema": "https://opencode.ai/config.json",
|
||||
"formatter": {
|
||||
"prettier": {
|
||||
"disabled": true
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
### Пользовательские форматтеры
|
||||
|
||||
Вы можете переопределить встроенные средства форматирования или добавить новые, указав команду, переменные среды и расширения файлов:
|
||||
|
||||
```json title="opencode.json" {4-14}
|
||||
{
|
||||
"$schema": "https://opencode.ai/config.json",
|
||||
"formatter": {
|
||||
"prettier": {
|
||||
"command": ["npx", "prettier", "--write", "$FILE"],
|
||||
"environment": {
|
||||
"NODE_ENV": "development"
|
||||
},
|
||||
"extensions": [".js", ".ts", ".jsx", ".tsx"]
|
||||
},
|
||||
"custom-markdown-formatter": {
|
||||
"command": ["deno", "fmt", "$FILE"],
|
||||
"extensions": [".md"]
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
Заполнитель **`$FILE`** в команде будет заменен путем к форматируемому файлу.
|
||||
Reference in New Issue
Block a user