Code Completion for Selectors
When working with jQuery selectors we often need to lookup certain DOM elements or CSS classes in order to operate with them. This can result in a back-and-forth between the code we are working on and looking up of a specific element. ReSharper 6 facilitates these cumbersome operations by providing code completion for selectors:
This completion is invoked by typing # between the quotes, where as if we were to type ., we’d get:
This completion is available anywhere we a selector is required. Of course if we merely want to select a specific type of element, we also have completion:
Extending jQuery extensions
One of the benefits of jQuery is the ease by which we can extend it to add our own functions and methods. ReSharper enhances this experience by providing completion also for custom extensions. For instance, if we were to write a new extension:
we now have myFoo available as a method of jQuery:
Much in the same way, if we want to extend an object:
Importing File References
Out of the box, Visual Studio requires a special comment to be added to script files to provide support for IntelliSense:
With ReSharper this is not required. If however, it is included, ReSharper will then limit the scope of Intellisense to the reference added. This reference can be provided by directly typing it in, in which case ReSharper offer completion:
as well as providing quick-fixes when errors are detected in paths:
Creating from Usage
generating the code for us, providing us the same ability we have in C# to iterate through parameter names etc. The same applies to variables:
as it does to creating parameters and properties; once again, making the whole development experience a bit smoother.
Last but not least, ReSharper also provides the ability to create jQuery extension methods from usage:
Introduce Variable is another refactoring option available:
And last but not least, Renaming:
ReSharper is smart enough to handle the scope of the renaming outside of the current local scope, prompting you always with the option to fine-tune certain renaming’s.
Code Clean-up and Rearranging.
Also, out of the box, we provide certain filters, both in clean-up and analysis, such as those with min.* extensions. These can be changed in the options dialog, albeit it’s not highly recommended.
You can now rearrange code which includes moving parameters around, moving members up/down as well as arguments and object literals and arrays. All this is done using the same key combination as used in C# and VB.NET (Ctrl+Alt+Shift + Cursor Keys).
Duplicate switch statements
Misuse of “this”
Accessing undefined global symbols
And this is just a few of the over 25 inspections that ReSharper supports along with their corresponding quick fixes. We believe that this will help remove some of the issues encountered at runtime, specially by newcomers.
- Configurable Naming Conventions: Much like C# and VB.NET you can define your own naming conventions.
- Comments: Ability to comment and uncomment blocks of code as well as support for XML Documents.
- Context Actions Settings: You can fine-tune which of context actions you want enabled.
- Live Templates: Support for Live Templates
- Coding Assistance: Also covered in previous post.
ReSharper 6 is currently in EAP. Download it today and start playing with it. We’d love to hear your feedback.