How-To's

ReSpeller: A Spell-Checking Plugin for ReSharper

Those of you who have worked with IntelliJ IDEA and related products know that all those IDEs have incorporated a built-in spell checker for a very long time. With ReSharper, the situation is slightly different in that we have several spell checking plugins that provide similar functionality.

This post is an overview of a new commercial version of ReSpeller, a plugin, also available in a free edition, which provides spell checking capabilities for ReSharper.

How It Works

ReSpeller’s operation is simple: whenever it sees a spelling mistake in an identifier, comment or string literal, it immediately flags it and offers several options for fixing the problem:

The first option is Replace with… and if you choose it, you’ll get a handy popup over the offending text with some suggestions for fixing it:

The second option is to Add word to user dictionary, in which case the user can pick the dictionary to save add the word to:

Finally, there’s an option to Add custom word to user dictionary, in which case the user can edit the word before it gets added:

Spell Checking Scope

ReSpeller covers a wide array of code constructs and languages. The elements it checks spelling on are best illustrated via ReSpeller’s Inspection Severity settings page:

From the list of tags next to the inspection types, you can surmise that ReSpeller supports a very wide array of technologies, including:

  • Programming languages: C#, VB.NET, JavaScript

  • Markup languages: HTML, XML, XAML, RESX

  • Mixed-language files: CSHTML (Razor), ASPX, ASHX

The spell checker itself doesn’t support just English, but other languages, too. Add a new language and you get spelling corrections from all dictionaries installed:

Integration Features

In addition to the above, when you fix a typo in an identifier, ReSpeller automatically fires off a Rename refactoring, making sure that your spelling correction doesn’t result in loss of consistency:

Note that ReSpeller also highlights spelling errors right in the Rename dialog.

Typo inspections are also available in aggregate form, so if you open up ReSharper | Inspect | Code Issues in Project/Solution you’ll be able to see them alongside other inspections:

Conclusion

There’s a lot of cases where spell checking is critical. For example, as a blogger, I really hate spelling mistakes creeping into my code, because it means I didn’t check what I wrote properly before I posted. Similarly, having a public API with spelling mistakes can be a bit embarrassing, especially if people start using it and you cannot change it afterwards.

ReSpeller is a plugin that can prevent these kinds of issues. It’s available in two editions: a free edition and a Pro edition with an expanded set of features (such as support for JavaScript, HTML, mixed-language files and different languages). If you’re interested, head over to Ethereal Code for more details. And stay tuned for more plugin overviews!

image description