
cr-documentor - issue #38
Add option to disable by default (at start-up) the documentation refresh as you type
Can we please have an option in settings to disable the auto-refresh and have a refresh button in the toolbar and as a keybinding.
The reason behind is that sometimes Documentor slows down Visual Studio for me, especially after a few days of usage without restarting Visual Studio. Having Documentor paused at all times and just on when I need it helps with that and also makes typing in VS more responsive.
Comment #1
Posted on Apr 18, 2012 by Helpful WombatWhen the Documentor window is closed, it doesn't actually do anything - no memory allocated, no rendering occurring. One way to stop any issues you might have would just be to close the Documentor window when you're not using it.
Documentor also provides a "pause" button at the top of the Documetor window. If you hit the "pause" button, auto-refresh stops and no rendering occurs.
Honestly, though, chances are this isn't so much a Documentor issue than a CodeRush/Refactor/DXCore issue. If I leave VS open for several days, even without Documentor installed, I will see the slowdown you describe.
Documentor actually does surprisingly little work. It relies on the work already going on in CodeRush/Refactor/DXCore for the heavy lifting. Parsing the document, retrieving the XML comments, determining the names/types of things to generate the member signature... that's all stuff I'm just reading from work that DXCore already does behind the scenes. All I'm doing is converting the XML comments to HTML and then serving them up using a tiny .NET web server to a hosted IE control.
Granted, each time an updated comment is encountered a new HTML document is generated as a string and rendered through the browser. The way .NET memory management works, I can see that if you're doing a LOT of editing over a LOT of days, eventually the garbage collector may run into some memory fragmentation issues and have trouble allocating memory... but then you'd be receiving some out-of-memory exceptions and VS would crash, not become slow.
Anyway, right now you have a couple of workaround options available:
- Leave CR_Documentor closed until you need it.
- Hit the "pause" button to stop auto-rendering when the window is showing, then un-pause to refresh the window and pause again to stop auto-rendering.
Otherwise... the majority use case for the plugin is for real-time updating. In fact, we've got a long-running issue filed where folks want it to update faster rather than slower (Issue #9).
I'll leave this issue open but I won't start work on it for now. I'd like to see if folks are interested and star the issue. If it turns out to be a popular request, I'll implement the functionality.
Comment #2
Posted on Apr 18, 2012 by Happy RabbitAh - I wasn't sure that when the tool window is closed it will pause the plugin. In that case you can just discard this issue.
Comment #3
Posted on Apr 18, 2012 by Helpful WombatSounds good. Thanks!
Status: WontFix
Labels:
Type-Enhancement
Priority-Low