-
Notifications
You must be signed in to change notification settings - Fork 4.2k
Move off of Progression for solution explorer. #78714
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Move off of Progression for solution explorer. #78714
Conversation
src/Workspaces/Core/Portable/FindSymbols/Shared/AbstractSyntaxIndex_Persistence.cs
Outdated
Show resolved
Hide resolved
…Index_Persistence.cs
…/roslyn into removeProgression
@dibarbet this is ready for another pass. |
{ | ||
// This was the first time this node was expanded. Kick off the initial work to | ||
// compute the items for it. | ||
_rootProvider._updateSourcesQueue.AddWork(_hierarchyItem.CanonicalName); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
nice!
// We only support C# and VB files for now. This ensures we don't create source providers for | ||
// other types of files we'll never have results for. | ||
var extension = Path.GetExtension(itemName); | ||
if (extension is not ".cs" and not ".vb") |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
when teh file is renamed, we don't get a new call. but we do get a new CanonicalName for the item.
So is it possible that you have say "file.txt", we skip creating the source (extension doesn't match), but then it gets renamed to "file.cs"? If we don't get a new call here it seems like we'd never have a source for it.
{ | ||
// Found a matching item we can use. Remove it from the list of items so we don't reuse it again. | ||
var matchingItem = matchingItems[0]; | ||
matchingItems.RemoveAt(0); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
So the only impact of re-using the 'wrong' duplicate in this case would be we might not save the expansion state? That seems fine to me
Correct. |
Yes. This is a bug. Good catch. Handling in followup pr. |
Progression is incredibly slow and has been deprecated by the platform. This moves us to the far simpler, saner, and faster 'IAttachedCollectionXXX' system.
This systems powers the symbol-view in solution explorer, as well as solution explorer search.