KirillOsenkov / MSBuildStructuredLog

A logger for MSBuild that records a structured representation of executed targets, tasks, property and item values.
MIT License
1.41k stars 188 forks source link

[Brainstorm] Ideas for better search #727

Open yuehuang010 opened 7 months ago

yuehuang010 commented 7 months ago

I was using viewer to diagnose build issue(s) and trying to find ways to optimize my investigation. A few ideas came to mind that can help when comparing between two logs. 1) "Search in subtree" is helpful but sometimes the result can exists in a different node. Consider extending with a different option like, "Search in under this project". This change will also work well when comparing from a different different binlog. 2) $Target search should have an option to filter Skipped Targets. 3) $start and $end should show all results or compute all of them in order to show top/bottom. As it is, the results are sorted but is sometimes misleading because not all results are present. 4) For privacy, add a clear recent searches. 5) Add a "searching" icon or indicator that work is processing. 6) Add an option to ignore Evaluation. 7) Add an option to collapse all. (Also on the log side too) 8) Typing a "space" should not start a search.

Thank You.

KirillOsenkov commented 7 months ago
  1. You can combine search in subtree for multiple projects under($1) under($2) $csc. Multiple under clauses act as a union (not intersection). There's also a project clause, so you can look under specific projects project(Foo.csproj) $csc. They also combine and you can have more than one.
  2. OK
  3. you can click the button to show all results (slow), then all results will be loaded and sorted
  4. OK
  5. OK
  6. You can add a notunder(Evaluation) clause to filter out eval
  7. OK
  8. OK
KirillOsenkov commented 7 months ago

I wrote some help here: https://github.com/KirillOsenkov/MSBuildStructuredLog/wiki/Search-Syntax#under-project-and-notunder