If you are using Visual Studio 2005 and are experiencing random crashes when saving ASPX or HTML files with linked stylesheets, try this hotfix that we published recenty:
Crash in vswebdesign.dll!CStyleSheet::LoadFromURL using Visual Studio 2005 SP1: https://connect.microsoft.com/VisualStudio/Downloads/DownloadDetails.aspx?DownloadID=15541&wa=wsignin1.0
The hotfix applies to both VS 2005 and VWD 2005 Express. It does not apply to VS 2008 or VWD 2008 Express since they employ different HTML designer.
Latest on Tips and Tricks Blog.
Have a great day!
Deepak Verma
SDET | Visual Web Developer
At PDC 2008 in LA and TechEd EMEA 2008 in Barcelona we announced key new features for Visual Studio 2010 for Web Developers... Apart from our focus on MVC, Dynamic Data, Silverlight and other key ASP.NET runtime functionality, this was the first time we announced the key investments pillars for Web Developers in VS 2010... Over the next year or so we will be writing in details about these new features, but to start off I thought it would be great to share various videos which are available to view online today ...
Visual Studio 2010 - Web Development Overview
In this talk we provided the glimpse of the major investment areas in VS 2010. The talk is divided into following key areas
- Design View - Improved CSS 2.1 Support & standards compliance
- Source View
- HTML Snippets
- JScript Intellisense
- Web Deployment
- Web.Config Transformation
- Web 1-Click Publish
Jeff did a great presentation at PDC on this topic which can be viewed at the link below:
http://channel9.msdn.com/pdc2008/TL48/ (77.32 mins)
I also presented a similar talk at TechEd EMEA which is available for viewing below:
http://www.vimeo.com/2667207 (62.42 mins)
Visual Studio 2010 - Web Deployment
In this talk we talk about Web Deployment in detail and how next wave of Web Deployment technologies will make deployment a much easier task. The key focus areas of this talk are:
- Web Packaging - Packaging your web applications into .zip files
- Web.Config Transformation - Transforming your web.config file (i.e. connection string, debug flags etc) from dev environment to production environment
- DB Deployment - Packaging and deploying your SQL Server databases along with your web application
- Web Publishing - Using Web 1-Click Publish functionality to deploy your web application with ease.
I did a presentation on web deployment at PDC and TechEd EMEA; the PDC presentation can be viewed at the below link:
http://channel9.msdn.com/pdc2008/PC33/ (84.42 mins)
If you would like to see a more compressed version of the talk then I also did a talk with Jason Olson in Visual Studio 2010 and the .NET Framework 4.0 Week! you can view this video at the below link:
http://channel9.msdn.com/posts/VisualStudio/Web-Development-and-Deployment-with-Visual-Studio-2010/ (34.40 mins)
Hope you will enjoy these videos...
Vishal R. Joshi | Program Manager | Visual Studio Web Developer
Microsoft Report Viewer Add-on for Visual Web Developer 2008 Express is now available for download. It includes the RDLC designer and Microsoft Report Viewer 2008. The RDLC designer creates and edits RDLC files with RDL 2005 schema.
Download: http://www.microsoft.com/downloads/details.aspx?FamilyID=b67b9445-c206-4ff7-8716-a8129370fa1d&DisplayLang=en
What's new in version 2.2:
- Spell checker now fully supports VS 2008 SP1
- Content of <code>, <abbr> and <address> elements is ignored
- Setup no longer requires COM registration, it uses VS AddIn registration in XML file
- List of words to ignore (SpellChecker.ignore file) was moved from AppData to AddIns folder
- Fixed bugs:
- Add To Dictionary may corrupt Word custom dictionary file dictionary file was not in Unicode
- Windows update to MSXML may cause "Ignore" and "Add To Dictionary" command to disappear
- After word was added to dictionary it may continue to be flagged as an error until VS is restarted
Note: There is no v2.2 for VS 2005 or VS 2008 RTM. From now on updates will be provided for VS 2008 SP1 only. Version 2.1 will remain available for VS 2008 RTM and VS 2005 SP1.
Spell checker supports text verification in:
- HTML style comments <-- HTML -->
- ASP.NET server side comments: <%-- ASP.NET --%>
- JScript, C# and C++ comments: // C++ style comments
- CSS and C style comments: /* C style comments */
- VB and VBScript style comments: 'This is VB comment
Spell checking is supported in style and script blocks as well as in JS, CS, VB, CSS, CPP and H files
Requirements:
Microsoft Visual Studio 2008 SP1, any edition except Express.
Microsoft Word 2003 or 2007
Installation
- Close Visual Studio
- Uninstall previous version
- Download and run VSSpellChecker.msi
- Run Visual Studio
- Open a Web site or standalone HTML file.
- You should see Spell Checker entry in the Tools menu.
The add-in is now installed in your user folder under Documents\Visual Studio 2008\Add-Ins. More details on VS AddIn XML registration can be found here. Spell checking engine remains native C++ dll, but I added a managed wrapper which can be registered using simple XML file and hence COM registration is no longer needed. This should solve issues with setup under Vista and UAC.


Uninstall
- Close Visual Studio
- Open Control Panel
- Go to Add/Remove Programs
- Locate Spell Checker Add-in for Visual Studio 2008 and click Remove
How to use the Spell Checker
Important note: Add-in does not work with Visual Web Developer Express as Express editions are not extensible.
Open a Web Form, HTML, ASP, JS, VBS, CS, VB, CPP or CSS file and click Tools | Spell Checker. Spell check may take 10-15 seconds on decently sized files. There is no immediate progress indication, but you can see that squiggles appear one by one under misspelled words. Double click on the misspelled word brings list of suggestions. <Cancel> closes the suggestion list. Spell checker messages also show up in the Error List as informational messages. They are not entered as errors or warnings so they don't break builds.
Switching off spelling errors:

Ignore command
Ignore command adds word to SpellChecker.ignore file. The file it located in Documents\Visual Studio 2008\AddIns\Spell Checker. It is an Unicode text file.
Add to Dictionary command
Add to Dictionary command modifies Microsoft Office custom dictionary file. Typically it is an Unicode text file that is stored in the roaming profile in the Microsoft\UProof folder
You can edit list of words in the Office custom dictionary using Microsoft Word facilities:

Since using custom dictionary and ignore list introduces certain perfomance hit (which depends on the dictionary size), you can turn it off in rules.xml file located in the Spell Checker installation folder and change useOfficeCustomDictionary and/or useIgnoreList to 0.
<options>
<useOfficeCustomDictionary>0</useOfficeCustomDictionary>
<useIgnoreList>0</useIgnoreList>
</options>
Multilanguage spell checking
Spell checker is able to detects lang attribute specified on elements, extract ISO language and use it to specify appropriate dictionary for the Office spell checking engine.

In order to be able to spell check pages in multiple languages you may need to install Microsoft Office 2003 Proofing Tools or an appropriate Office 2007 Language Pack. If you never used particular language dictionary in Word, you have to try using it at least once before it becomes available in the Spell Checker add-in. Many dictionaries are installed on demand and if particular language was never activated in Word, the dictionary may be missing. Open Word, type something in the desired language and run Word spell checker at least once to make sure it works and dictionary is installed:

If you want to spell check multiple pages at one, look at this post: Running Spell checker on all files in the solution
Limitations:
Spell checker only works in Source view.
- Current version does not merge words split by tags, such as <b>S</b>ymbol. I am planning to add this functionality in a future version.
- Right click on the misspelled word does not bring suggestions, double-click does.
CustomizationYou can customize spell checker behavior by editing rules.xml file located in Program Files\HTML Spell Checker Add-In. You can exclude certain elements and add more rules for attribute checking if you want spell checker to verify spelling in custom control attributes. All element and attribute names much be in lowercase. You don't have to close document or Visual Studio after editing the file, the file is loaded every time spell checking is performed.
<?xml version="1.0" encoding="utf-8"?>
<rules>
<!-- Exclude content of script and style elements from spell check -->
<exclude name="script" />
<exclude name="style" />
<!-- Check 'value' attribute on all elements without a namespace -->
<element name="*">
<attribute name="value" />
</element>
<!-- Rules in ASP namespace -->
<namespace name="asp">
<!-- Check all attributes ending in 'text' as well as tooltip attribute in all ASP.NET elements -->
<element name="*">
<attribute name="*text" />
<attribute name="tooltip" />
</element>
<!-- Special rule for asp:Calendar -->
<element name="calendar">
<attribute name="caption" />
</element>
<!-- Add more rules for ASP.NET elements here if needed -->
</namespace>
<!-- Add rules for custom controls here if needed -->
</rules>
Yesterday Microsoft released Web Platform Installer (WPI) Release Candidate to the web at http://www.microsoft.com/web/channel/products/WebPlatformInstaller.aspx. Betas have been available for a while, but the release version contains several new features. This is a one-stop-shopping installer for free Microsoft web development software; everything you need in one place.
The web page contains everything you need, including a video walkthrough. Here’s an overview of what you’ll find:
|  On the web page, just click “install now” to get started. You can run the installer directly from this link; there’s no need to save it to disk. The installer itself is light-weight and its payload is always downloaded separately. |
|  The Welcome Screen provides three choices; install everything, install development tools, or let me pick a list of products to install. |
| Selecting “Complete” presents the user with a long list of software to be installed, rolled up into categories. The itemized list would be much longer. Installed software is detected and skipped. The operating system and architecture are taken into account in constructing the list, making it dramatically simpler to choose what you need. Since you run WPI from the web, the versions offered are always the latest available.
|
| Selecting “ASP.Net Developer” presents a much shorter list of software, again taking your OS and architecture into account. This choice will install everything you need on your development machine to develop .Net web applications; all free of charge. (Don’t forget to read the End User License Agreements, of course.) |
| While these selections are quick and convenient, the real power of Web Platform Installer shows when you select the “Your Choice” option! |
|  Notice the five tabs at the top of the content; the default view is “New.” If you make a habit of coming back to WPI regularly, you’ll quickly see what’s been added recently. You’ll also see at a glance if you’ve already installed the latest versions of new offerings or not. Very handy. |
| If you want to install software on your web server, click the next tab; "Web Server." Depending on your OS, you’ll see IIS 6.0 or IIS 7.0 options. A dropdown lets you select the subset that fits your interests; classic ASP, PHP, or ASP.Net. Installed items are detected and indicated, only appropriate software is offered. Selecting an item automatically selects other items which are required for it to be installed. Incompatibilities on your machine are detected, and remedies are recommended. |
| If you select “Tools and Framework” you get an itemized list similar to the top-level “ASP.Net Developer” selection, but you can slim your list if you like. Again, dependencies are detected, so if I select “SQL Express 2008,” “.NET Framework 3.5 SP1” and “Windows Installer 4.5” (not shown in this view) will be selected for me. |
| The “All” tab presents a complete itemized list of the current capabilities of the Web Platform Installer for my machine. The view is not cluttered with items which do not apply to my OS or CPU. This is a handy way to take inventory, as well as get an accurate idea how my machine is currently configured. |
| And finally, the “Updates” tab shows me available and appropriate updates. This is a great way to keep your machine up-to-date with releases that might not be available yet via Windows Update. |
| Let’s say I select “.NET Framework 3.5 Service Pack 1” and press the install button. I’m given an opportunity of review my selections (which may have been numerous) and am given an idea of the amount of disk space required. |
| Next, I need to review and accept End User License Agreements, since WPI runs each installer silently.
|
| And finally, I get a nice installation UI, telling me the state of each product being installed and displaying a composite progress bar. |
| Installation isn’t 100% unattended, because some items must reboot before continuing. After reboot and login, installation will continue automatically.
|
| Finally, you get a summary display listing any problems encountered during installation.
|
The Web Platform Installer makes it simple to install the appropriate mix of software for your web server or development machine, without having to read numerous KB articles about which items to select for which platforms, operating systems, and architectures. It’s also designed to make staying up to date as simple as possible.
Van Kichline
SDET, Visual Web Developer
A few users reported that with Web projects located on a remote machine closing project or solution may hang Visual Studio and Visual Web Developer Express for several minutes. We fould that the issue may be caused by VS logging component that collects information on product usage. This is an opt-in feature activated in Help | Customer Feedback Options... The feature may cause logger to walk through folders on a remote server calculating project complexity. The feature does NOT send your project to Microsoft, it just collects some statistics on the project. If you are experiencing slow project close, try switching off participation in the feedback program in Help | Customer Feedback Options... dialog. If it does not help, try disabling component in registry by changing
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\VisualStudio\9.0\Packages\{2DC9DAA9-7F2D-11d2-9BFC-00C04F9901D1}
to
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\VisualStudio\9.0\Packages\Disabled-{2DC9DAA9-7F2D-11d2-9BFC-00C04F9901D1}
Thanks
I've been reading through the 70 or so comments on our last 2 jQuery posts. There have been a lot of great questions. Apologies for not being able to answer them sooner (I was busy preparing for Dev Connections). Instead of answering them inline with the comments, I'll try to paraphrase the popular issues here and answer them centrally.
1. I have a ton of Content Pages, do I need to put script references for IntelliSense in each one?
No, you do not need to repeat the script references on each content page. Visual Studio 2008 will auto-detect the presence of a master page and scan for references in that file. Thus, placing references in the master page is all you need to do.
2. I put a vsdoc reference in the Master Page, why is IntelliSense not working in a User Control?
User Controls do not specify a master page. Thus, there is no way for Visual Studio to guess which master page the user control will end up on. Generally, we simply can't predict which file a user control will end up on. Thus, we are unable to provide IntelliSense.
"Shail" provided the best suggestion, which is just to include a list of script references you want on your user control, then wrap those controls with a "<% if (false) ... %>" to make sure you don't redundantly include scripts at runtime.
I can see a centralized list of references helping this scenario, which leads into the next question...
3. Is there a way to specify a centralized list of references for IntelliSense?
Unfortunately, not right now. Short of writing your own ScriptManager or similar code, there's no "built-in" way to specify a centralized list of references for IntelliSense (or for the runtime). There's no web.config location for this (as "CurlyFro" asked) nor is there a Tools Options list you can set.
However, there is a fairly useful trick that is worth mentioning. You can create a JS file with no code (let's call it "list.js") that contains solely a list of commonly used references (the XML comment type) at the top. Instead of putting a list of individual references on top of each JS file, you can simply include just a reference to "list.js". The meta-point here is that references originating from a script (not HTML/ASPX) file are transitive. If A references B, and B references C and D... A effectively references B,C, and D. Having the centralized file saves you from updating 100's of files when you add one more script to your project. As mentioned above, Master Pages serve as a unified place to put scripts for HTML/ASPX pages.
"Peter" suggested there was a similar issue with CSS files. Given the feedback, this is something we can definitely take into consideration. I'm curious: how many files you are typically including into your pages? Will the workarounds provided suffice?
4. Which URL-path types does IntelliSense recognize?
I saw a lot of questions/feedback/comments regarding paths and URLs. I'd like to clarify what is supported and not supported by Visual Studio JScript IntelliSense then ask for feedback:
- File-Relative Paths - These are paths of the form "../../folder/file", and is calculated from the current file(http://site/application/folder/file). Visual Studio, ASP.NET Web Forms, and ASP.NET MVC all support this type of path and resolve these correctly. The challenge, however, is with master pages. This type of path is not re-based when a master page is merged with a content page. Thus if you content pages are at varying folder depths, your paths will be broken. Incidentally, ASP.NET MVC folder paths tend to be exactly two levels deep because of the conventional MVC dictated folder structure of "Views/ControllerName". Because of this, I would recommend this type of path for MVC, but not for Web Forms.
- App-Relative Paths - These are paths of the form "~/folder/file", and is calculated from the base of your application (http://site/application/folder/file). Visual Studio and ASP.NET Web Forms both support this type of path provided you specify it inside a Script Manager (and a few other runat=server controls). Since ASP.NET MVC is not normally used with Script Manager controls, app-relative paths will not work with MVC. By the way, this type of syntax is not supported inside plain <script> tags regardless of technology. App-relative paths are re-based when a master page is merged with a content page. Thus it is not broken by content pages at varying folder depths. Thus I would recommend this approach for Web Forms. The Script Manager normally injects MS AJAX into your rendered page. What if you are not using MS AJAX? The Script Manager can be modified to not to inject MS AJAX.
- Site-Relative Paths - These are paths of the form "/folder/file", and is calculated from the base of your site (http://site/application/folder/file). This approach is supported by ASP.NET Web Forms and ASP.NET MVC. However, it is not supported by Visual Studio. The reason is because Visual Studio does not always know the final deployed location of your site and thus the path resolution cannot be guaranteed. Given that quite we've seen few folks are using site-relative paths, we could consider making an assumption just resolving this type of path to the root of the project. Given the risk that you may think your site is working when it's really not, I wanted to see how many people were supportive of this.
- Absolute Paths - Obviously, by absolute, I mean paths of the form "http://site/etc". Note, as of Service Pack 1, we will now resolve this type of path... fetching the file over the network if necessary.
In a nutshell, I'm recommending ../../folder/file for MVC and ~/folder/file for Web Forms. Also, we can resolve site-relative paths to the project root for if there's enough demand.
5. How do I get IntelliSense to understand "google.load()"?
The google API has a dynamic way of including script files via the "load" function. Unfortunately, IntelliSense will not be able to understand that this function brings in new scripts. My recommendation here would be to include your file statically via a <script> tag. You can wrap it a "<% if (false) ... %>" if you won't want to double-include the script at runtime.
6. I'm getting a "childNodes is null" error, what is it and what do I do?
If you're using jQuery, the "childNodes" error is indicative of IntelliSense not happy with a particular plug-in. Note, the error will misleadingly point to the jquery-1.2.6-vsdoc.js file. The cascading set of errors lands in the core jQuery code, however it originates from the plug-in. For example, the jQuery UI DatePicker is one of the plug-ins that will show this error.
Generally for any JavaScript library, a "childNodes" error is caused by libraries that try to create DOM elements on parse rather than slightly later on load. DOM element creation is not supported at design-time (IntelliSense-time as I call it) and thus you get a null reference exception when you try to call "childNodes" on the element. Note, this is a perfectly acceptable pattern... it's our fault that it causes an error. In fact, we've made some major architectural changes to accommodate this in Visual Studio 2010 but I'll save that for another post.
We will try to work with library owners to product VSDOC files for their libraries in the future. For now, the best option is to hide the file from IntelliSense... see question #8.
7. What makes a jQuery plug-in incompatible or compatible for IntelliSense?
There's no hard and fast rule for compatibility with IntelliSense. However, from my experience, if a plug-in is going be incompatible, it's going to be because it tries to create and modify a DOM element before the document is ready. Please see the previous question for more details. If you frequently see another type of issue, please let us know (via a comment on this post or you can email me... address at the bottom) and we'll be sure to investigate to provide an explanation.
8. How do I hide a file from IntelliSense?
"Igor" came up with a clever solution outside the box of what the "vsdoc" feature was originally intended for. =) However, I think it's great and worth repeating. You simply create a empty -vsdoc.js file for the offending library... effectively making Visual Studio skip the problematic ones. Of course this means you get less IntelliSense, but it's better than none.
9. Can you add support to recognize more file extensions?
I saw a request from "Jerry" to recognize the "dash debug" convention. I also saw some folks mistakenly use a "dot vsdoc" naming scheme. Note vsdoc is supposed to be a "dash vsdoc" rather than "dot". Of course there's also the "dot min" extension for compressed files. We can definitely add support for more file extensions in a future release. Feedback for which ones are the most important would be helpful in making sure we support the right set.
10. In Visual Studio 2005 I am getting no IntelliSense, what do I need to do?
You'll need to upgrade to Visual Studio 2008. I hate to pull the "buy a new version" card, but JScript IntelliSense was a fairly involved code change and it would be non-trivial to back-port it to Visual Studio 2005.
11. Is there a way to get around closing and reopening an file to get Visual Studio to update IntelliSense?
Yes. Please use Ctrl + Shift + J to manually force JScript IntelliSense to update. For menu-lovers, this command can be found under Edit, IntelliSense, Update JScript IntelliSense.
Summary
I hope this FAQ clears up the common points of confusion. I saw a few comments akin to "because of ____, this feature is useless to me." As harsh as they sound, those comments are the most useful to us. If there's something in your way, feel free to email me at jking at microsoft dot com. I'd like to see if there's something we can figure out for you. Thanks for reading!
Jeff King
Program Manager
Visual Studio Web Tools
Latest on Tips and Tricks Blog.
Have a great day!
Reshmi Mangalore
SDET, Visual Web Developer
Last week I mentioned we would be releasing a Hotfix to accompany our new jQuery VSDoc file. This Hotfix is now available at the MSDN Code Gallery. Here's a direct download link for this small (2MB) patch:
http://code.msdn.microsoft.com/KB958502/Release/ProjectReleases.aspx?ReleaseId=1736
I want to emphasize that this patch is intended for all JavaScript files, not just those related to jQuery. Generally, we will opportunistically look for documentation files related to the script file. For example, given "mylibrary.js", we will search in the same directory for:
- mylibrary-vsdoc.js, then if we don't find it we will search for...
- mylibrary.debug.js, then if we don't find it we will search for...
- mylibrary.js
The idea here is to keep the documentation file next to your runtime file, and we'll automatically pick the right one. If you already have a whole bunch of annotated "dot debug" files, there's no need to rename all your files since we search for those also. This logic applies to all places where script file reference are mentioned. To recap, those place are:
- Plain HTML script tags.
- ASP.NET Script Manager tags (and Script Manager Proxy too).
- XML Doc Comment Reference tags.
By the way, Hotfixes are normally targeted at the latest public Visual Studio release, which today is VS2008 SP1. If you're using VS2008 you will need to upgrade to SP1 before taking advantage of this patch. We hope this will help simplify your code a bit!
Jeff King
Program Manager
Visual Studio Web Tools
Silverlight Tip of the Day #66
Title: How to copy XAML for Silverlight from Expression Designer
Silverlight Tip of the Day #65
Title: Adding a Mouse Wheel Event Listener to your Controls
Silverlight Tip of the Day #64
Title: Deploying a Silverlight Application with a Web Service
Silverlight Tip of the Day #63
Title: How to Monitor HTTP Traffic for Errors
Silverlight Tip of the Day #62
Title: How to Create a Hyperlink
Silverlight Tip of the Day #61
Title: How to Create a Tooltip
Silverlight Tip of the Day #60
Title: How to load a XAML Control From a File or String
Silverlight Tip of the Day #59
Title: How to Display Special Characters in XAML
Silverlight Tip of the Day #58
Title: Text Wrapping and Line Breaks in TextBlocks
Thank you.
Mike Snow
SDET Lead
Visual Studio Web Tools
In SP1 for Visual Studio 2008 and Visual Web Developer 2008, C# introduced a new feature to provide 'live' reporting of compilation errors.
Unfortunately, the introduction of this functionality also introduced a bug where in certain cases, false C# compilation errors appear in the Error List for ASP.NET Website projects. Specifically the following is a list of issues you may have experienced due to this bug in SP1:
- If you have a breakpoint in a code-behind file. On project open, you get incorrect errors in the Error List for that code-behind file (e.g. – button1 is not declared). These errors do not go away until you open that code-behind file. Once you open the code-behind file, the errors go away.
- When you open a code-behind file, some false errors are shown in the Error List for a second or two and then go away.
I'm happy to announce, the C# team just published a downloadable hotfix that addresses the issues described above. You can download the hotfix at the following location: http://code.msdn.microsoft.com/kb957259.
NOTE: the hotfix will only install on an SP1 or higher version of Visual Studio or Visual Web Developer Express.
NOTE: prior to the availability of this hotfix you may have turned off C# background compilation to workaround this issue. Once you install the hotfix you can double check to see if C# background compilation is enabled by ensuring the "Show live semantics" option is checked in Tools > Options > Text Editor > C# > Advanced:
Hopefully folks can now get the full benefit of C# live semantic errors in ASP.NET Website projects. Cheers!
Omar Khan
Product Unit Manager
Visual Web Developer
Update: A new Hotfix is availble to complement this file.
A while back we updated VS2008 IntelliSense to not fail when referencing jQuery. However, getting IntelliSense for chained calls and rich summary/parameter hints still required adding special comments to a few thousand lines of jQuery. If you didn't have the time, you could download such a file from friendly members of the community such as James and Brennan.
As part of our new partnership with jQuery, yesterday we announced the availability of the official IntelliSense documentation file. As you can see, our friends at jQuery have added a new download link for Visual Studio at http://docs.jquery.com/Downloading_jQuery#Download_jQuery.
You can also download the file directly from http://code.jquery.com/jquery-1.2.6-vsdoc.js. As you might guess, this documentation file corresponds with the latest version of jQuery (which is currently 1.2.6). While this file has a "js" extension, it's really just a documentation file. You do not want to run this file in the browser.
How do I use this file (today)?
If you're inside an ASPX page, you will need to add the following lines of code into (normally) the head of your page:
Why do we have a server-side conditional statement? IntelliSense disregards conditional statements of this type, and thus loads the "vsdoc" file (overriding the normal one). At runtime the if (false) statement will ensure it this documentation file is not rendered (and executed) as script. This trick allows the "switching" behavior you want.
If you're in a JavaScript file, use the normal file reference syntax to refer to the "vsdoc" file.

There's no need for tricks here since this comment is only meaningful to IntelliSense.
How do I use this file (in the near future)?
The ideal user experience should be one where you do not need special tricks as mentioned above. Really, you shouldn't need to mention the "vsdoc" file name at all. To that end, we plan on releasing a Hotfix that will enable this (stay tuned!). Given normal references such as...
...IntelliSense will opportunistically search for "jquery-1.2.6-vsdoc.js" and load that file instead. Generally, given script name "x", IntelliSense will opportunistically search for "x-vsdoc.js". If not found, it will then search for "x.debug.js". You just need to make sure to place your "vsdoc" file next to the normal file. Note, if you use jquery-1.2.6.min.js, you may need to rename the file to match the search pattern.
What are the advantages of this file?
One unique benefit of the file we have released is that it supports and understands jQuery plug-ins. For example, given the plug-in below...
...you would see "myplugin" show up in IntelliSense.
We've noticed a few plug-ins do not work, and commonly this is because there is an IntelliSense incompatibility issue with the plug-in itself (as opposed to the jQuery documentation file).
Hope this helps!
Jeff King
Program Manager
Visual Studio Web Tools
Web Development Tools team is planning to spend cycles in Dev10 to improve the performance of Web Development scenarios. In that effort, we have identified the following areas where we should maintain parity with VS 2008 SP1/ improve for Dev 10. We came up with the list based on our team’s tests/ regular usage/ customer feedback/ forum posts.
We would like to hear from you about these following scenarios. Are you finding any of these scenarios to be particularly sluggish? Are there other scenarios that should be included in the list? What are your performance concerns? Please take a moment to send your responses via this blog or directly to vwdperf-at-microsoft-dot-com. Thank you!
· Property Grid updates of controls in Designer
· Website rebuild
· First open of WAP
· Reopen of WAP
· First open a website
· Reopen of a website
· First open of a large solution with multiple WAPs
· Reopen of a large solution with multiple WAPs
· Intellisense in nuggets
· Build WAP
· Edit WAP and do incremental build
· Full rebuild of WAP
· Incremental build on website