HTML Source Editing Performance Improvements in VS 2005 SP1
VS 2005 SP1 shipped on the web last week. One of the overall goals with VS 2005 SP1 was to improve IDE performance and responsiveness for a number of common scenarios (a few examples: build times, managing large projects, refactoring, and intellisense).
For web-scenarios, we specifically worked on the performance of the HTML source editor - especially with cases involving large HTML documents or slower machines. Below are a few specific changes we made in SP1 to improve performance in this area:
1) We tuned the performance of the HTML Validation feature (to learn more about this feature read this old post of mine). Validation of large documents now happens faster, and will not impact typing or updates as much (whereas previously validation would sometimes cause a slight stutter if you were typing in HTML source editing mode while the document was still in the process of validating).
2) We fixed a scenario where if you turn off HTML validation, and then work on a page that has a bad HTML validation error, and then switch into WYSIWYG design mode, validation is automatically turned back on for you to help you identify the error. While useful for debugging the error, a lot of people found this feature annoying since it meant that validation was continually being re-enabled without them realizing it (and on slow machines or with large documents this could slow down perf). Now when you turn off validation, it will stay off. If there is a blocking issue when you try to switch into WYSIWYG design mode, we will still identify the error for you, but we won't reenable validation for everything.
3) We added an option to optionally turn off using the property grid in HTML source editing mode. In our performance profile samples we found that keeping the property grid updated with the correct HTML schema as you cursor throughout a document ended up taking a non-trivial amount of CPU time, and in talking with customers we found that a lot of people weren't taking advantage of this feature anyway (note: supporting the property grid in HTML source mode for server controls was a new feature with VS 2005 that didn't exist in VS 2003). If you aren't using the feature, or are on a slow machine, then I'd recommend keeping this feature disabled.
Important Note If You Want Property Grid Support in HTML Source Editing Mode
As I mentioned above, with VS 2005 SP1 we now have the ability to configure whether the property grid is used or not while in HTML source editing mode. Because the majority of developers we talked with weren't using this feature (most were not actually even aware that it existed <g>), we decided to make the default configuration with SP1 to have this feature disabled. This means that when you are working in HTML source editing mode by default with SP1 you'll now see a property grid that looks like this:
If you want to re-enable the property grid in source mode so that it is dynamically updated as you cursor through the document, simply open the Tools->Options menu item and click the "Enable Property Grid in Source View" configuration option within the Text Editor->Html->Miscellaneous category:
You will then have the property grid re-enabled just like in the VS 2005 RTM release:
Please note that this setting has no impact on the property grid in HTML WYSIWYG design mode or on any other designer - the property grid is always enabled/displayed in those scenarios. It only impacts HTML source editing mode (which we think is a much more rare scenario).
Hope this helps,
Scott