flutter / flutter/flutter-intellij

better reload feedback via code coverage markers

Open
#1,690 5 comments 0 reactions 0 assignees View on GitHub
topic-debugging
Dominant language
Java
Stars
2k
Forks
356
Avg merge
1d 11h
Merged PRs (30d)
27

Description

We want to improve the ability for users to reason about hot reload changes and which ones will be reflected in the UI. We propose to use code coverage style markers for this. Specifically:

- on a reload, clear all code coverage markers
- after a reload, create gray markers for any lines that were reloaded
- after reassemble, change lines that were executed from gray to green (this is what was executed after the reassemble, and is currently present in the app's UI)
- as the app continues to run, change any executed lines from gray to green (as things like event callbacks execute)

The work for this will probably look something like:
- [x] prototype a UI in IntelliJ, using mock data sources
- [ ] after a reload, get information back from the VM about what libraries and save points were reloaded (and likely, pipe this information through flutter_tools)
- [x] after a reassemble, and as the app runs, have flutter_tools poll the VM for updated coverage information, and send updated coverage info to IDEs as events. We may want IDEs to be able to express interest in this info so that we don't perform this operation for all clients

/cc @rmacnak-google @a-siva @mit-mit

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.