Plugins del analyzer
Los plugins de analyzer te permiten crear lints, advertencias y soluciones rápidas (quick fixes) de IDE personalizados para tus proyectos de Dart
Los plugins de analyzer extienden el analyzer de Dart para reportar diagnósticos
personalizados (lints y advertencias), ofrecer soluciones rápidas (quick fixes)
y proporcionar asistencias (assists). Esta funcionalidad está disponible directamente
en tu IDE y en la línea de comandos cuando ejecutas
dart analyze o flutter analyze.
Usar plugins de analyzer
#Puedes comenzar a usar un plugin de analyzer en tu proyecto de Dart
habilitándolo en el archivo analysis_options.yaml
en la raíz de tu paquete o espacio de trabajo.
Puedes buscar plugins de analyzer en pub.dev.
Habilitar un plugin
#Para habilitar un plugin de analyzer, agrégalo a la sección
plugins de nivel superior de tu archivo analysis_options.yaml. Puedes
agregar un plugin de pub.dev usando una restricción de versión:
plugins:
my_plugin: ^1.0.0
O bien, si estás desarrollando un plugin localmente, puedes usar una ruta local:
plugins:
my_plugin:
path: /path/to/my_plugin
Después de realizar cambios en la sección de plugins, reinicia el Dart Analysis Server para ver los efectos.
Configurar diagnósticos
#Un plugin puede reportar dos tipos de diagnósticos: advertencias y lints. El analyzer los maneja de manera diferente por defecto:
-
Las advertencias que define un plugin están habilitadas por defecto (al igual que las advertencias estándar del analyzer).
-
Las reglas del linter que define un plugin están deshabilitadas por defecto y deben ser habilitadas explícitamente en tu archivo de opciones de análisis.
Puedes habilitar o deshabilitar reglas del linter específicas bajo la sección de diagnósticos para un plugin:
plugins:
my_plugin:
path: /path/to/my_plugin
diagnostics:
rule_1: true
rule_2: true
rule_3: false
En el ejemplo anterior, rule_1 y rule_2 están habilitadas.
rule_3 está explícitamente deshabilitada, lo cual es útil para
sobrescribir una regla que podría estar habilitada desde un archivo include:.
Suprimir diagnósticos
#Puedes suprimir diagnósticos de un plugin usando los mismos
comentarios ignore que usarías para los diagnósticos integrados de Dart.
Para dirigir a un diagnóstico de un plugin específico,
añade como prefijo al código de diagnóstico el nombre del plugin seguido
de una barra diagonal (/).
Por ejemplo, para suprimir un diagnóstico con el
código some_code de un plugin llamado some_plugin,
usa uno de los siguientes formatos:
Para suprimir en una sola línea:
// ignore: some_plugin/some_code
Para suprimir en un archivo completo:
// ignore_for_file: some_plugin/some_code
Escribir un plugin de analyzer
#Crea tu propio plugin de analyzer para agregar análisis estático personalizado, soluciones rápidas (quick fixes) o asistencias (assists)AssistUna edición de código automática y local orientada a realizar mejoras comunes en el código. Aprende más a la experiencia de desarrollo en Dart.
Configurar el paquete del plugin
#Un plugin de analyzer es un paquete estándar de Dart con
dependencias y estructura específicas. La dependencia principal
es el paquete analysis_server_plugin,
el cual proporciona la clase principal Plugin.
-
Crea el archivo
pubspec.yaml. Por ejemplo:yamlname: test_analyzer_plugin version: 0.0.1 environment: sdk: ^3.10.0 dependencies: analysis_server_plugin: ^0.3.0 analyzer_plugin: ^0.13.0 analyzer: ^8.0.0 -
Crea el punto de entrada del plugin. Por ejemplo:
lib/main.dartdartimport 'package:analysis_server_plugin/plugin.dart'; import 'package:analysis_server_plugin/registry.dart'; final plugin = SimplePlugin(); class SimplePlugin extends Plugin { @override String get name => 'Simple plugin'; @override void register(PluginRegistry registry) { // Register diagnostics, quick fixes, and assists. } }El código anterior representa la estructura básica para el punto de entrada del plugin. Asegúrate de tener un archivo
lib/main.darten tu paquete porque este es el punto de entrada para que el servidor de análisis cargue tu plugin.
Puntos clave:
- Necesitas una variable de nivel superior llamada
pluginque instancie tu clase. El Dart Analysis Server busca esta variable. - Tu clase debe extender
Plugindepackage:analysis_server_plugin/plugin.dart. - Sobrescribe el método
registerpara agregar las características de tu plugin. Este método sirve como el punto de entrada principal para registrar tus reglas de análisis personalizadas, soluciones rápidas y asistencias (assists) con el analyzer.
Implementar características del plugin
#Una vez que tengas configurado tu paquete de plugin básico,
puedes comenzar a agregar funcionalidad personalizada implementando
el método register.
Lee las siguientes guías para aprender cómo implementar funcionalidad específica:
Consulta el Dart Analysis Server para ver muchos ejemplos de reglas, soluciones (fixes) y asistencias (assists):
- Reglas de Dart Analysis Server
- Soluciones de Dart Analysis Server
- Asistencias de Dart Analysis Server
Depurar un plugin
#Si tu plugin no funciona como se espera, aquí tienes las formas recomendadas para depurarlo:
- Tu primera parada deben ser las páginas de diagnóstico del analyzer. Si el isolate de tu plugin se bloquea (crashes), la pantalla de "plugins" muestra la información del bloqueo y el rastreo de la pila (stack trace).
- Las sentencias
printno funcionarán. Los plugins se ejecutan en un isolate separado y su salida estándar no está conectada a tu consola. - La forma más confiable de rastrear la ejecución de tu plugin e inspeccionar valores es escribir en un archivo de registro (log) desde el código de tu plugin.
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-06-24. Ver fuente oreportar un problema.