Quick fixes para problemas de análise
Resolvendo diagnósticos com um único clique
Se você é como eu, passa tempo demais no desenvolvimento corrigindo problemas (diagnósticos) que o analyzer encontra. Se você já desejou que isso fosse mais fácil, tenho boas notícias. Muitos dos diagnósticos produzidos pelo analyzer podem ser corrigidos automaticamente com quick fixes.
Um quick fix é uma edição automática voltada para corrigir o problema reportado por um diagnóstico específico. No artigo Mensagens de diagnóstico do Dart, vimos o seguinte código:
A mensagem de correção sugere duas formas de resolver o problema: “Try making the access conditional (using ‘?.’) or adding a null check to the target (‘!’).”
Se você clicar na região destacada (a área com o sublinhado vermelho ondulado), verá um ícone de lâmpada perto da borda esquerda do editor. Se passar o mouse sobre ele, pode clicar para abrir um menu com os quick fixes disponíveis.
As duas correções sugeridas estão disponíveis no menu. Selecionar uma delas aplica a mudança ao seu código. Por exemplo, se você selecionar a primeira correção, o código será atualizado para o seguinte:
Vamos primeiro dar uma olhada rápida em como aplicar uma correção no IntelliJ IDEA e no Visual Studio Code, e depois ver um exemplo mais poderoso do que os quick fixes podem fazer.
IntelliJ IDEA
#O menu de ações de contexto no editor fica assim:
Você pode acessar a mesma lista selecionando “Show Context Actions” no menu de contexto do editor ou usando o atalho equivalente (Alt+Enter no Windows e Linux, ou Option+Enter no macOS).
Você também pode invocar essas correções diretamente pelo texto de hover ao passar o mouse sobre a região destacada. Se houver correções demais, há um item More Actions que também abre o menu:
Se isso não bastar, você também pode invocar as correções disponíveis pelo menu de contexto na view Dart Analysis:
Visual Studio Code
#O menu de code actions no editor fica assim:
Os dois primeiros itens são os quick fixes; os outros são refatorações. Você pode acessar a mesma lista pelo atalho equivalente (Control+. no Windows e Linux, ou Command+. no macOS), ou selecionando Quick Fix … no texto de hover do editor:
Você também pode invocá-las pelo menu de contexto no painel Problems:
Outro exemplo
#Embora a correção acima poupe o tempo e o esforço de encontrar a mensagem de correção e fazer a edição manualmente, adicionar um único caractere admitidamente não economiza muito tempo. No entanto, algumas correções proporcionam um ganho de produtividade maior. Considere o seguinte código:
O diagnóstico informa que “the await expression can only be used in an async function”. Supondo que você não queira usar I/O síncrono, a correção é marcar o corpo da função com a keyword
async. Ao fazer isso, surge outro erro dizendo que o tipo de retorno do método precisa ser
Future, então você também acabará atualizando o tipo de retorno.
Felizmente, existe um quick fix para o problema original:
Selecionar essa correção não apenas adiciona o modificador, mas também atualiza o tipo de retorno, permitindo resolver o problema em um único passo:
Resumo
#Nem todo problema pode ser corrigido automaticamente, e nem todo problema que poderia ter um quick fix o tem. Ainda assim, vale a pena verificar se há um quick fix disponível na próxima vez que você tiver um diagnóstico para corrigir. E se você não encontrar uma correção para um diagnóstico que deveria ter uma, por favor nos avise criando uma issue no dart-lang/sdk.
Mais do Dart
Resultados do Google Summer of Code 2026
Hoje, destacamos os projetos e os resultados dos colaboradores orientados pelo Dart e pelo Flutter no Google Summer of Code 2026.
Dart no Google Summer of Code 2026
Estamos animados para anunciar que o projeto Dart será mentor de contribuidores pela sétima vez no Google Summer of Code 2026!