Closed StefanKert closed 4 years ago
Hi @StefanKert,
First of all, great work with this extension! I have extensively recommended it to my colleagues :)
Our team is moving to VS 2019 and I was wondering what's the ETA for the release that is compatible with it.
Hi @jfevia ,
to be honest I can not give you a specific date right now because I do not have much time for OS stuff at the moment, but I am pretty confident that we will have a release in Q3.
The difficulty, as you may have noticed is that VS2019 kind of forces the support for AsyncPackage and to bring this into BuildVision I needed to change many things. Right now I am working on some minor issues with the latest bits, but it would be of great help if you and your team has some time to check it out and give me feedback on performance, handling and if you see any regressions from earlier versions ( new features are also welcome :), to have them on the roadmap for 3.1).
If you or anyone of your team has time the preview is hosted in the vsixgallery: http://vsixgallery.com/extension/837c3c3b-8382-4839-9c9a-807b758a929f/
This page should give you a good overview on how you can subscribe :). If you have troubles using it let me know.
Sorry for the unclear dates and timeframes here, but I´ll do my best to bring up a release that works asap :)
The difficulty, as you may have noticed is that VS2019 kind of forces the support for AsyncPackage and to bring this into BuildVision I needed to change many things.
in 16.1 Final this is configurable:
@StefanKert, actually the minimal changes required to use an AsyncPackage are quite simple.
There's a couple of change to attributes in the package class etc.
The change to InitializeAsync may seem complex, but you can just await the method to switch to the UI thread, then leave the rest of your non-async code in that method as is, with no further changes.
So you'd be able to get a version in the marketplace with support for VS 2019 with very little effort, and no major changes required. Then you'd have time to continue to make the other changes you want at your leisure.
If what I'm talking about isn't clear, ping me and I'll try to explain it better. Or I could maybe do a pull request with the changes. I'm trying to send this comment in a rush, sorry.
I asked Mads Kristensen and he told me that IAsyncLoadablePackageInitialize which is used by this extension is still supported in VS2019, so using it can be also an option, because this keeps compatibility to VS2013.
Yes, that's right, it's still supported. But that doesn't make it desirable. It's an old interface that was superseded by AsyncPackage
.
If Stefan wants to keep support for VS 2013, then he can use it, but he said he had to make many changes, which was causing him delays in getting a VS 2019 version out. My suggestion was to make that be able to happen quicker.
@StefanKert I suggest making the small change I mentioned to the last released v2.x version and releasing it to the marketplace as v2.x+1, to allow all your loyal users be able to use it in VS 2019. You can then continue developing v3.0 at your leisure.
Actually what is the lowest version that you want to support Stefan?
Oh :) mea culpa!! Of course you mentioned that too :)! But actually @thoughengineer. Created a pull request for this which didn´t get merged :P #76 :)
No problem, I was just teasing you! :-)
I'm currently busy creating a new extension called Start Page+, obviously to address the mess that MS made of the new modal Start Window. Did you ever see my Developer News extension?
There appears to go something haywire in BuildInformationProvider.Run
for larger solutions. Namely, the frequent updates to the data grid are completely exhausting the time budget for the UI thread.
Solution with >100 projects -> 100% busy time for the UI thread, trying to figure out if anything needs to be resized, because each single RaiseBuildElapsedTimeChanged
results in an individual event for the UI thread. 100 projects -> 400 layout updates / second.
Somehow a busy UI thread then prevents builds from actually starting, not entirely sure what that effect is to blame on though.
Maybe it would be good to limit amount of these events reaching UI thread using Reactive Extensions in the right place? This way UI still be updated, but less frequently.
when will the new version be available in the store? it's already 2020 and the latest "comment" is already over 6 months old
@StefanKert I'm happy to help if you'll just say what's left to get BuildVision 3 ready for release. I use the 3.0.0.99 version for quite a long time and it works fine and stable in VS2019.
Hi folks :)
first of all thanks for the feedback. I will merge this PR and try to release a version to the marketplace until the end of next week :)
Release Notes
Release 3.0.0 comes along with some major changes. Basically the whole code has been restructured to be easier to change in the future. Since VS2019 requiers the package to be loaded in an async way BuildVision is a AsyncPackage now and therefore fully supported in VS2019. Because of the fact that the latest supported version of AsyncPackage is VS2015 the support for VS2013 has been dropped.
IMPORTANT: The new version of BuildVision tracks some usage data as well as crashes to make the product even better in the future. If you want to disable telemetry just go to Options=>BuildVision=>GeneralSettings (or right click on the BuildVision and open All Settings..) and disable the option "Help improve BuildVision by providing anynonymous usage data and crash reports"
Features