Open michael-hawker opened 1 year ago
Some help for the search is displayed in the watermark:
Specifically, project(Toolkit.Labs) under($rar) $additem Reference
will find all places where Reference
item is added under the ResolveAssemblyReference task in any project that contains the string Toolkit.Labs.
A lot of what you're asking is already available. Boolean && is implicit, so by separating things with a space you're searching for nodes that contain both.
Every node time is available, such as $import
, $noimport
, $target
, $task
, etc.
Thanks @KirillOsenkov, I guess part of the issue is it's hard to reference this when you've already got a search up. 🙂
And I think by default if there's failures it auto-searches for $error
right? So, I just didn't remember/know this was here.
Could be handy to have in the wiki or one the website pointed to from the help menu as well so that it can be brought up alongside crafting a search query when results are displayed.
I started documenting the search syntax in the wiki: https://github.com/KirillOsenkov/MSBuildStructuredLog/wiki/Search-Syntax
Not sure if I've missed it somewhere on the webpage.
Is it possible to do any search expressions?
Things I'd like to do in general with search:
&&
(and) and||
(or)UWP || WinUI
*
Labs.*.csproj
!
!TargetFrameworkMoniker*
"netstandard2.0"
>>
(?)MyApp.*.Tests.csproj >> "does not exist"
"regex:[error|warning] 40\d4"
Types of things I'd want to search specifically on:
proj:MyApp.Tests.csproj
Items
,Properties
,Imports
,Targets
,Tasks
,Warnings
,Errors
etc... (not as sure at the moment what these would look like but probably likeitem:
,prop:
,target:
etc... where it'd only match if the term is found in the string on that line/bucket of that type)So, ultimately could do something like this: