Plugins do analyzer
Plugins do analyzer permitem criar lints, avisos personalizados e correções rápidas no IDE para seus projetos Dart
Plugins do analyzer estendem o analyzer do Dart para reportar diagnósticos
personalizados (lints e avisos), oferecer correções rápidas
e fornecer assists. Essa funcionalidade está disponível diretamente
no seu IDE e na linha de comando quando você executa
dart analyze ou flutter analyze.
Use plugins do analyzer
#
Você pode começar a usar um plugin do analyzer no seu projeto Dart
ativando-o no arquivo analysis_options.yaml
na raiz do seu pacote ou workspace.
Você pode pesquisar plugins do analyzer em pub.dev.
Ative um plugin
#
Para ativar um plugin do analyzer, adicione-o à seção plugins
de nível superior do seu arquivo analysis_options.yaml. Você pode
adicionar um plugin do pub.dev usando uma restrição de versão:
plugins:
my_plugin: ^1.0.0
Ou, se você estiver desenvolvendo um plugin localmente, pode usar um caminho local:
plugins:
my_plugin:
path: /path/to/my_plugin
Depois de fazer alterações na seção plugins,
reinicie o Dart Analysis Server para ver os efeitos.
Configure os diagnósticos
#Um plugin pode reportar dois tipos de diagnósticos: avisos e lints. O analyzer os trata de forma diferente por padrão:
-
Os avisos definidos por um plugin ficam ativados por padrão (assim como os avisos padrão do analyzer).
-
As regras de lint definidas por um plugin ficam desativadas por padrão e precisam ser ativadas explicitamente no seu arquivo de opções de análise.
Você pode ativar ou desativar regras de lint específicas na
seção diagnostics de um plugin:
plugins:
my_plugin:
path: /path/to/my_plugin
diagnostics:
rule_1: true
rule_2: true
rule_3: false
No exemplo anterior, rule_1 e rule_2 estão ativadas.
rule_3 está explicitamente desativada, o que é útil para
sobrescrever uma regra que possa estar ativada por um arquivo
incluído via include:.
Suprima diagnósticos
#
Você pode suprimir diagnósticos de um plugin usando os mesmos
comentários ignore que usaria para diagnósticos nativos do Dart.
Para direcionar um diagnóstico de um plugin específico,
coloque o nome do plugin seguido de uma barra (/) antes do código do diagnóstico.
Por exemplo, para suprimir um diagnóstico com o
código some_code de um plugin chamado some_plugin,
use um dos formatos a seguir:
Para suprimir em uma única linha:
// ignore: some_plugin/some_code
Para suprimir em um arquivo inteiro:
// ignore_for_file: some_plugin/some_code
Escreva um plugin do analyzer
#Crie seu próprio plugin do analyzer para adicionar análise estática personalizada, correções rápidas ou assistsAssistUma edição de código automatizada e local direcionada a fazer melhorias comuns no código. Saiba mais à experiência de desenvolvimento em Dart.
Configure o pacote do plugin
#
Um plugin do analyzer é um pacote Dart comum com
dependências e estrutura específicas. A dependência principal
é o pacote analysis_server_plugin,
que fornece a classe Plugin principal.
-
Crie o arquivo
pubspec.yaml. Por exemplo: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 -
Crie o ponto de entrada do plugin. Por exemplo:
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. } }O código anterior representa a estrutura básica do ponto de entrada do plugin. Certifique-se de ter um arquivo
lib/main.dartno seu pacote, pois ele é o ponto de entrada que o analysis server usa para carregar seu plugin.
Pontos principais:
-
Você precisa de uma variável de nível superior chamada
pluginque instancie sua classe. O Dart Analysis Server procura por essa variável. -
Sua classe deve estender
Plugindepackage:analysis_server_plugin/plugin.dart. -
Sobrescreva o método
registerpara adicionar os recursos do seu plugin. Esse método serve como o principal ponto de entrada para registrar suas regras de análise personalizadas, correções rápidas e assists no analyzer.
Implemente os recursos do plugin
#
Depois de configurar o pacote básico do plugin,
você pode começar a adicionar funcionalidades personalizadas
implementando o método register.
Leia os guias a seguir para aprender a implementar funcionalidades específicas:
Consulte o Dart Analysis Server para ver muitos exemplos de regras, correções e assists:
Depure um plugin
#Se o seu plugin não estiver funcionando como esperado, estas são as formas recomendadas de depurá-lo:
- Sua primeira parada deve ser as páginas de diagnóstico do analyzer. Se o isolate do seu plugin travar, a tela "plugins" exibe as informações do erro e o stack trace.
-
Instruções
printnão funcionam. Os plugins rodam em um isolate separado, e a saída padrão deles não está conectada ao seu console. - A forma mais confiável de rastrear a execução do seu plugin e inspecionar valores é escrever em um arquivo de log a partir do código do plugin.
Salvo indicação em contrário, a documentação neste site reflete Dart 3.13.7. Página atualizada pela última vez em 2026-11-12. Ver código-fonte ou relatar um problema.
Encontrou essa página sem tradução ou que precisa de correção? Abra uma issue e nos ajude a manter esse site em PT-BR para ajudar pessoas como você.