Skip to content

Conversation

@TIHan
Copy link
Contributor

@TIHan TIHan commented Aug 13, 2020

Since we changed the way we do find all references in VS, we had a few regressions. This should fix the ones mentioned here: #9863

For context, we risked regressions due to the significant memory reduction that came with the change. I'm sure there are more fixes to do; they should be relatively straight forward though.

The one thing with find all references that is not going to be straight forward is performing a find all references on a currently editing buffer (a file that is not saved yet). Unfortunately, a currently editing file is not consolidated to the way type checking works on a project as a whole; it's handled separately. We also have two different ways of getting symbol information, and that's determined if a construct is public or private.

One way to solve this is probably just implementing the FileSystem shim to forward to the editing buffer in VS, which is a giant hack. At some point, we should figure out how to make the F# compiler not rely on a file system; it should work directly with streams and/or buffers.

@cartermp
Copy link
Contributor

@cartermp
Copy link
Contributor

@TIHan I'm fine with taking this as-is for now since it does fix 3 distinct bugs. But there are 2 it still doesn't solve and an inconsistency in another. What are your thoughts?

@TIHan
Copy link
Contributor Author

TIHan commented Aug 14, 2020

We should take the fix and keep iterating on the others.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants