opencode/packages/web/src/content/docs/fr/formatters.mdx
opencode-agent[bot] d578f80f00 chore: generate
2026-02-09 17:35:30 +00:00

130 lines
9.6 KiB
Text
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

---
title: Formateurs
description: OpenCode utilise des formateurs spécifiques à la langue.
---
OpenCode formate automatiquement les fichiers après leur écriture ou leur modification à l'aide de formateurs spécifiques à la langue. Cela garantit que le code généré suit les styles de code de votre projet.
---
## Intégré
OpenCode est livré avec plusieurs formateurs intégrés pour les langages et frameworks populaires. Vous trouverez ci-dessous une liste des formateurs, des extensions de fichiers prises en charge et des commandes ou options de configuration dont il a besoin.
| Formateur | Rallonges | Exigences |
| -------------------- | ------------------------------------------------------------------------------------------------------ | --------------------------------------------------------------------------------------------------------------------- |
| gofmt | .aller | Commande `gofmt` disponible |
| mélanger | .ex, .exs, .eex, .heex, .leex, .neex, .sface | Commande `mix` disponible |
| plus jolie | .js, .jsx, .ts, .tsx, .html, .css, .md, .json, .yaml et [plus](https://prettier.io/docs/en/index.html) | Dépendance `prettier` dans `package.json` |
| biome | .js, .jsx, .ts, .tsx, .html, .css, .md, .json, .yaml et [plus](https://biomejs.dev/) | Fichier de configuration `biome.json(c)` |
| zigzag | .zig, .zon | Commande `zig` disponible |
| format clang | .c, .cpp, .h, .hpp, .ino et [plus](https://clang.llvm.org/docs/ClangFormat.html) | Fichier de configuration `.clang-format` |
| klint | .kt, .kts | Commande `ktlint` disponible |
| fraise | .py, .pyi | Commande `ruff` disponible avec config |
| rustfmt | .rs | Commande `rustfmt` disponible |
| fret | .rs | Commande `cargo fmt` disponible |
| UV | .py, .pyi | Commande `uv` disponible |
| rubocop | .rb, .rake, .gemspec, .ru | Commande `rubocop` disponible |
| normerb | .rb, .rake, .gemspec, .ru | Commande `standardrb` disponible |
| htmlbeautifier | .erb, .html.erb | Commande `htmlbeautifier` disponible |
| air | .R | Commande `air` disponible |
| fléchette | .dart | Commande `dart` disponible |
| format ocaml | .ml, .mli | Commande `ocamlformat` disponible et fichier de configuration `.ocamlformat` |
| terraformer | .tf, .tfvars | Commande `terraform` disponible |
| lueur | .lueur | Commande `gleam` disponible |
| nixfmt | .nix | Commande `nixfmt` disponible |
| shfmt | .sh, .bash | Commande `shfmt` disponible |
| pinte | .php | Dépendance `laravel/pint` dans `composer.json` |
| oxfmt (expérimental) | .js, .jsx, .ts, .tsx | Dépendance `oxfmt` dans `package.json` et un [flag de variable d'environnement expérimental](/docs/cli/#experimental) |
| bronze doré | .hs | Commande `ormolu` disponible |
Ainsi, si votre projet a `prettier` dans votre `package.json`, OpenCode l'utilisera automatiquement.
---
## Comment ça marche
Lorsque OpenCode écrit ou modifie un fichier, il :
1. Vérifie l'extension du fichier par rapport à tous les formateurs activés.
2. Exécute la commande de formatage appropriée sur le fichier.
3. Applique automatiquement les modifications de formatage.
Ce processus se déroule en arrière-plan, garantissant que vos styles de code sont conservés sans aucune étape manuelle.
---
## Configurer
Vous pouvez personnaliser les formateurs via la section `formatter` de votre configuration OpenCode.
```json title="opencode.json"
{
"$schema": "https://opencode.ai/config.json",
"formatter": {}
}
```
Chaque configuration du formateur prend en charge les éléments suivants :
| Propriété | Tapez | Descriptif |
| ------------- | -------- | -------------------------------------------------------------------- |
| `disabled` | booléen | Définissez ceci sur `true` pour désactiver le formateur |
| `command` | chaîne[] | La commande à exécuter pour le formatage |
| `environment` | objet | Variables d'environnement à définir lors de l'exécution du formateur |
| `extensions` | chaîne[] | Extensions de fichiers que ce formateur doit gérer |
Regardons quelques exemples.
---
### Désactivation des formateurs
Pour désactiver **tous** les formateurs globalement, définissez `formatter` sur `false` :
```json title="opencode.json" {3}
{
"$schema": "https://opencode.ai/config.json",
"formatter": false
}
```
Pour désactiver un formateur **spécifique**, définissez `disabled` sur `true` :
```json title="opencode.json" {5}
{
"$schema": "https://opencode.ai/config.json",
"formatter": {
"prettier": {
"disabled": true
}
}
}
```
---
### Formateurs personnalisés
Vous pouvez remplacer les formateurs intégrés ou en ajouter de nouveaux en spécifiant la commande, les variables d'environnement et les extensions de fichier :
```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"]
}
}
}
```
L'espace réservé **`$FILE`** dans la commande sera remplacé par le chemin d'accès au fichier en cours de formatage.