Hacktoberfest 2026: as issues que os mantenedores marcaram para outubro, abertas e boas para iniciantes. Ver issues do Hacktoberfest

Feature Request: Search widget tree by error chain path

Fechada
#10,012 0 comentários 0 reações 0 responsáveis Ver no GitHub

Mantenedores costumam responder em até 2 dias

Ninguém assumiu esta issue ainda.

Avaliação

Dificuldade
5/5
Tempo estimado
Mais de uma semana
Facilidade para iniciantes
45/100
Tipo de issue
Funcionalidade
Clareza
Razoavelmente clara
Status de atividade
Ativa
Stack de tecnologia
dart

Direção de pesquisa

Start with the Inspector's existing search bar and widget-tree search behavior. Trace how a single widget name is matched, then determine how the tree can support ancestor-chain parsing with ← or ◂ separators and partial matching. Done means the example chain locates the matching node or nodes, highlights them, and scrolls the Inspector to the result.

Escrita pelo modelo de indexação a partir do texto da issue.

Descrição

When a layout error occurs (e.g., RenderFlex overflowed), Flutter prints a widget ancestor chain like:

SizedBox ← Flexible ← Stack ← Row ← Padding ← DecoratedBox ← ConstrainedBox ← Container

Currently, there is no way to paste this chain into DevTools to locate the exact widget node in the Inspector tree. The existing search only matches a single widget name, which returns dozens of results for common widgets like SizedBox or Padding.

Proposed Solution

Add a "Search by widget chain" mode in the Inspector's search bar that:

Accepts a widget ancestor chain (using ← or ◂ as separators, matching Flutter's error output format)
Walks the widget tree and finds nodes whose ancestor path matches the given chain
Highlights and scrolls to the matching node(s)
Example

Given this error output:

SizedBox ← Flexible ← Stack ← Row

The search would find SizedBox nodes that have Flexible as parent, then Stack, then Row — and jump to the matching location in the tree.

Why This Is Useful
Direct error-to-inspector workflow: Copy the chain from the error console → paste into DevTools → land on the exact widget. No manual tree navigation needed.
Eliminates ambiguity: Searching for SizedBox alone may return 50+ results. The chain narrows it to the exact instance.
Partial matching: The chain from the error is often a subset of the full tree. The algorithm should support subsequence matching (the chain nodes appear in order but not necessarily adjacent in the full tree).
Additional Context
The widget chain format is already standardized in Flutter's error output, so no new format needs to be invented.
This could be a separate search mode (e.g., toggled by a button next to the search bar, or auto-detected when ← is present in the query).
The chain in errors sometimes includes RenderObject names — the search could optionally strip or ignore those.
Contribution

I'm interested in implementing this feature. Happy to be assigned and submit a PR if the team approves the approach.

Linguagem predominante
Dart
Estrelas
1.7k
Forks
407
Merge médio
3d 14h
PRs com merge (30d)
15

Preparar o ambiente

Primeiros passos

  1. Leia a issue inteira e depois o guia de contribuição do projeto.
  2. Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
  3. Faça um fork do repositório e trabalhe em uma branch.
  4. Abra um pull request que referencie o número da issue.

Mais de flutter/devtools

Todas as issues de flutter/devtools

Issues semelhantes

Mais issues de Dart

Receba novas issues na sua caixa de entrada

Um resumo curto de issues do GitHub para quem está começando.