Skip to content

Conversation

@cartermp
Copy link
Contributor

See #6076

@dsyme
Copy link
Contributor

dsyme commented Jan 14, 2019

What did the feature do (when it once worked)?

@cartermp
Copy link
Contributor Author

XML doc generation via ///.

@abelbraaksma
Copy link
Contributor

Does disabling this completely remove any parsing of ///, or is the text only parsing (as it's working now, ignoring any and all xml) still working? As that feature is rather invaluable to get useful tooltips of one's own function library.

@cartermp
Copy link
Contributor Author

@abelbraaksma No, this is for generating boilerplate in code. It has nothing to do with QuickInfo, which is what shows in tooltips.

Copy link
Contributor

@TIHan TIHan left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think this is 'ok' to disable for now. It currently doesn't work, which is a regression anyway.

This isn't a critical feature and based on @cartermp 's analysis it has the potential to cause UI delays. In that sense, it's fine disable it until we figure out a better solution/implementation that will not cause UI delay.

@cartermp
Copy link
Contributor Author

In terms of how to implement this without causing big UI delays, we'd need to do something similar to what Roslyn does and work off of the SourceText that represents the document. At least with that we don't do a full allocation of the entire source file, which ends up on the LOH for large enough files, which ends up causing UI delays.

@abelbraaksma
Copy link
Contributor

I'd wonder if it is possible if a task like this is required to hold the whole file contents to begin with. In essence, you'd need to find the doc comments (which are line comments) and one or two lines that follow them (the identifier).

What I am trying to say is: can't we use a streaming technique with a line-by-line read and only keep what we need to keep and discard the other lines? Wouldn't that possibly lead to a lot less GC2 collections and completely remove the LOH problem?

@cartermp
Copy link
Contributor Author

SourceText from Roslyn is already (effectively) a chunked array that represents the source. The current implementation needs to change to use this data structure to generate boilerplate XML docs.

@KevinRansom KevinRansom merged commit 041c643 into dotnet:dev16.0 Jan 31, 2019
nosami pushed a commit to xamarin/visualfsharp that referenced this pull request Jan 26, 2022
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.

6 participants