Rework TFVC VCS root detection to use currently active TFVC client (i.e. it will be able to use reactive client starting from now).
It is a very important change for users who have TFVC set up, but don't use it with their current project. Earlier, we were iterating over all of the workspace model roots (which some IDEs may have plenty of), which was very slow and resource-consuming.
From now on, this will be working much faster.
Adding the ability to call our TFVC client infrastructure from new contexts (where project may not be available) required a lot of infrastructural work.
Make the reactive client the default for all users (they will still be able to turn it off if required).
This PR does two things:
Rework TFVC VCS root detection to use currently active TFVC client (i.e. it will be able to use reactive client starting from now).
It is a very important change for users who have TFVC set up, but don't use it with their current project. Earlier, we were iterating over all of the workspace model roots (which some IDEs may have plenty of), which was very slow and resource-consuming.
From now on, this will be working much faster.
Adding the ability to call our TFVC client infrastructure from new contexts (where project may not be available) required a lot of infrastructural work.