dart fix
Herramienta de línea de comandos para aplicar soluciones de análisis y migrar usos de API.
El comando dart fix
busca y soluciona dos tipos de problemas:
-
Problemas de análisis identificados por
dart analyzeque tienen soluciones automáticas asociadas (a veces llamadas soluciones rápidas [quick-fixes] o acciones de código [code actions]). -
Usos obsoletos de la API al actualizar a versiones más recientes de los SDKs de Dart y Flutter.
Aplicar soluciones
#Para previsualizar los cambios propuestos, usa la bandera --dry-run:
dart fix --dry-run
Para aplicar los cambios propuestos, usa la bandera --apply:
dart fix --apply
Personalizar comportamiento
#El comando dart fix solo aplica soluciones
cuando hay un "problema" identificado por un diagnóstico.
Algunos diagnósticos, como los errores de compilación, están habilitados implícitamente,
mientras que otros, como los lints, deben habilitarse explícitamente
en el archivo de opciones de análisis,
ya que las preferencias individuales para estos varían.
A veces puedes aumentar la cantidad de soluciones que se pueden aplicar habilitando lints adicionales. Ten en cuenta que no todos los diagnósticos tienen soluciones asociadas.
Ejemplo
#Imagina que tienes un código como este:
class Vector2d {
final double x, y;
Vector2d(this.x, this.y);
}
class Vector3d extends Vector2d {
final double z;
Vector3d(final double x, final double y, this.z) : super(x, y);
}
Dart 2.17 introdujo una nueva característica del lenguaje llamada inicializadores super (super initializers),
que te permite escribir el constructor de Vector3d
con un estilo más compacto:
class Vector3d extends Vector2d {
final double z;
Vector3d(super.x, super.y, this.z);
}
Para habilitar que dart fix actualice el código existente para usar esta característica,
y para asegurarte de que el analyzer te advierta cuando olvides usarla más adelante,
configura tu archivo analysis_options.yaml de la siguiente manera:
linter:
rules:
- use_super_parameters
También debemos asegurarnos de que el código habilite la versión de lenguaje requerida.
Los inicializadores super se introdujeron en Dart 2.17,
así que actualiza pubspec.yaml para tener al menos esa
versión en la restricción inferior del SDK:
environment:
sdk: ">=2.17.0 <4.0.0"
Deberías ver lo siguiente al visualizar los cambios propuestos:
dart fix --dry-run
Computing fixes in myapp (dry run)... 9.0s
1 proposed fixes in 1 files.
lib/myapp.dart
use_super_parameters • 1 fix
Para obtener más información sobre la personalización de los resultados y el comportamiento del análisis, consulta Personalizar el análisis estático.
Soporte para VS Code
#Cuando abres un proyecto en VS Code,
el plugin de Dart escanea el proyecto en busca de problemas que dart fix pueda reparar.
Si encuentra problemas para reparar, VS Code muestra un mensaje para recordártelo.
Después de ejecutar dart pub get o dart pub upgrade,
VS Code también podría mostrar este mensaje si los cambios en los paquetes
agregan problemas que dart fix pueda reparar.
Guarda todos tus archivos antes de ejecutar dart fix.
Esto asegura que Dart use las últimas versiones de tus archivos.
A menos que se indique lo contrario, la documentación en este sitio refleja Dart 3.12.2. Página actualizada por última vez el 2026-05-12. Ver fuente oreportar un problema.