Dropstone Docs

Formateadores

Dropstone utiliza formateadores específicos del lenguaje.

Dropstone puede formatear archivos después de que se escriben o editan utilizando formateadores específicos del lenguaje. Los formateadores están deshabilitados por defecto; habilítelos en su configuración antes de que Dropstone los ejecute.


Integrados

Dropstone viene con varios formateadores integrados para lenguajes y marcos populares. A continuación se muestra una lista de los formateadores, extensiones de archivo compatibles y comandos u opciones de configuración que necesita.

FormateadorExtensionesRequisitos
air.Rcomando air disponible
biome.js, .jsx, .ts, .tsx, .html, .css, .md, .json, .yaml, y másarchivo de configuración biome.json(c)
cargofmt.rscomando cargo fmt disponible
clang-format.c, .cpp, .h, .hpp, .ino, y másarchivo de configuración .clang-format
cljfmt.clj, .cljs, .cljc, .edncomando cljfmt disponible
dart.dartcomando dart disponible
dfmt.dcomando dfmt disponible
gleam.gleamcomando gleam disponible
gofmt.gocomando gofmt disponible
htmlbeautifier.erb, .html.erbcomando htmlbeautifier disponible
ktlint.kt, .ktscomando ktlint disponible
mix.ex, .exs, .eex, .heex, .leex, .neex, .sfacecomando mix disponible
nixfmt.nixcomando nixfmt disponible
ocamlformat.ml, .mlicomando ocamlformat disponible y archivo de configuración .ocamlformat
ormolu.hscomando ormolu disponible
pint.phpdependencia laravel/pint en composer.json
prettier.js, .jsx, .ts, .tsx, .html, .css, .md, .json, .yaml, y másdependencia prettier en package.json
rubocop.rb, .rake, .gemspec, .rucomando rubocop disponible
ruff.py, .pyicomando ruff disponible con configuración
rustfmt.rscomando rustfmt disponible
shfmt.sh, .bashcomando shfmt disponible
standardrb.rb, .rake, .gemspec, .rucomando standardrb disponible
terraform.tf, .tfvarscomando terraform disponible
uv.py, .pyicomando uv disponible
zig.zig, .zoncomando zig disponible

Cuando los formateadores están habilitados, Dropstone utilizará prettier para archivos coincidentes si su proyecto tiene prettier en package.json.


Cómo funciona

Cuando Dropstone escribe o edita un archivo y los formateadores están habilitados, lo hace:

  1. Verifica la extensión del archivo contra todos los formateadores habilitados.
  2. Ejecuta el comando del formateador apropiado en el archivo.
  3. Aplica los cambios de formato.

Este proceso ocurre en segundo plano para los formateadores habilitados.


Configurar

Puede habilitar y personalizar formateadores a través de la sección formatter en su configuración de Dropstone.

Para habilitar todos los formateadores integrados, establezca formatter en true.

{
  "$schema": "https://dropstone.io/schema/config.json",
  "formatter": true
}

Use un objeto para mantener los integrados habilitados mientras configura anulaciones o formateadores personalizados.

{
  "$schema": "https://dropstone.io/schema/config.json",
  "formatter": {}
}

Cada configuración de formateador admite lo siguiente:

PropiedadTipoDescripción
disabledbooleanEstablezca esto en true para deshabilitar el formateador
commandstring[]El comando a ejecutar para formatear. Requerido para formateadores personalizados; opcional para integrados.
environmentobjectVariables de entorno a establecer al ejecutar el formateador
extensionsstring[]Extensiones de archivo que este formateador debe manejar

Veamos algunos ejemplos.


Deshabilitar formateadores

Si formatter se omite, todos los formateadores están deshabilitados. Para deshabilitar todos los formateadores después de que otra configuración los haya habilitado, establezca formatter en false:

{
  "$schema": "https://dropstone.io/schema/config.json",
  "formatter": false
}

Para deshabilitar un formateador específico, establezca disabled en true:

{
  "$schema": "https://dropstone.io/schema/config.json",
  "formatter": {
    "prettier": {
      "disabled": true
    }
  }
}

Formateadores personalizados

Puede configurar formateadores integrados con opciones como environment o extensions. Para agregar un formateador personalizado, especifique un command y extensions:

{
  "$schema": "https://dropstone.io/schema/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"]
    }
  }
}

El marcador de posición $FILE en el comando será reemplazado con la ruta al archivo que se está formateando.

Ctrl+I