When you’re using jQuery inside of Visual Studio 2008 you can get fairly full featured Intellisense support for jQuery, but it requires that you install a couple of updates and a support file. First off Intellisense with jQuery only works in Visual Studio 2008 SP1. Prior versions of VS were unable to parse the jQuery script file at all so there was no Intellisense except for the static functions. SP1 allows parsing of the script file, but you still need to mark up the jQuery script file in order to get useful Intellisense.
To remedy this situation Microsoft recently released a a jQuery Intellisense file that provides detailed documentation for jQuery plus a hotfix specific to Javascript Intellisense that can automatically utilize this Intellisense file as long as you follow a specific naming convention.
The way this works is that you can download the jQuery Intellisense file and name it with the same name as the script with a –vsdoc.js postfix like jQuery-vsdoc.js. Place this file in the same folder as the jQuery.js script file. If you then reference jQuery.js via script tag, ScriptManager or script reference tags Visual Studio looks at the –vsdoc.js file to get Intellisense information. With the file in place you get full Intellisense all the way down the jQuery callchain as well as for custom plug-ins.
The Intellisense script file is basically a marked up version of jQuery that is full of Visual Studio style help comments and the hotfix provides the mechanism for Intellisense to link this –vsdoc.js file without having to include and hide the Intellisense script file. For more information check out my blog entry on this subject.
What's not to like?
If all of this sounds like a glowing commercial of a tool, you can be assured that I'm just a happy user who's stumbled onto this library some time ago and fell in love with it the first time I used it. I tend to be very critical of the tools I use, but I have yet to have any serious complaints about jQuery. This library just works for me and it works the way I like to work.
But the library is not "the perfect tool" and doesn't solve every JavaScript and DOM problem for you, but in my time of over a year with jQuery I haven't run into a showstopper problem. You may still need a set of a few helper functions to help with non-DOM related functionality. For example, I still use my old JavaScript library for a number of UI and JavaScript utility functionality like date and number formatting, providing windowing support and a host of other features. Bottom line: You'll probably still have a utility library with helper functions to provide a few custom routines especially when it comes to formatting and manipulating the standard JavaScript types which jQuery doesn't cover.
The biggest concern that you might run into is versioning or possible interference with other libraries. Although jQuery supports a simple mechanism for isolating its own jQuery namespace, you may still run into issues with other libraries that also expose the $() function. There's also the issue of versioning of the jQuery library itself which is rev'd frequently. If you use the library names as downloaded you'll end up renaming files and references frequently as the library is updated. If you use a fixed name you may run into version issues.
But all of this is minor and even expected. To be honest I'm grasping to find fault with jQuery for balance here because my editor mentioned I should mention downsides. A quick search around the Web seems to confirm my feelings though – there’s not a lot of negative content that digs up dirt on jQuery. But you can judge for yourself by trying it out and my bet is you'll dig it because it's quick to pick up and highly practical.