StefanKert / BuildVision

A Visual Studio extension to visualize the building process.
MIT License
261 stars 43 forks source link

Feature Request: BuildOrder column values to match VS Build Ordinal, or add new column for VS project build ordinal position #67

Closed rb126 closed 6 months ago

rb126 commented 6 years ago

Again - great extension, thanks! I have noticed that the Visual Studio project index ("build ordinal number" in Output window) doesn't match the BuildOrder value in Build Vision. Would it be possible to support another column that shows this build order (or add an option to exclude all "UpToDate" projects from numbering so I can hide UpToDate projects and get the numbers to match? This would be handy so when something is building quite slowly as viewed in BuildVision I can check the number and quickly find it in the output window.

Examples:

(1) They start off in sync:

buildvision1

buildvision2

After a project or two has been skipped due to them being "UpToDate" they get out of step:

buildvision3

buildvision4

So after a while they are way out and the numbers don't even remotely correspond.

buildvision5

buildvision6

If I hide UpToDate projects it doesn't help as the numbering is still the numbering for a full rebuild, even though I didn't do a full rebuild and many projects were skipped:

buildvision7

StefanKert commented 6 years ago

Good catch!

This behaviour is mostly because the Build ordinal number is created during runtime and then cached. I need to do further investigation on this to see if we can get the Build No directly from VS.

So to me there are two questions here that need to be answerd:

  1. Is it possible to sync the Number in BuildVision with the Number in the output?
  2. What numbers should be taken if UpToDate Projects are hidden?

As I mentioned earlier, I will take a look if I can answer the 1., but I am not quite sure what about 2. IMO there are several options. Maybe this can be solved by solving 1? So maybe we would fix the issue with the uptodate builds if we get the number from the output. But then again we would have to find a procedure how to handle shown uptodate builds.

rb126 commented 6 years ago

I would be tempted to introduce a new column, to be honest, because numbers that include the "UpToDate" projects will never sync, because VS ignores those, but there might be times when you do want to see the full build order, which is what your current column provides.

yannduran commented 5 years ago

The main problem here for me is that when I select the BuildOrder (#) column to sort by (no matter what the number actually represents), the grid isn't sorted by that number during the build.

image

The numbers match up with the output seen in the Output window, so they are in fact the "build order", but the rows simply aren't sorted by it as the build progresses.

image

Maybe the build order "numbers" could be obtained from the dependency tree in advance? The "unchanged" projects could be filtered out. Then the rows could be sorted before being displayed. Just a thought. :-)

StefanKert commented 6 months ago

Closing as duplicated of #53