Integrated spell checking with ReSpeller in ReSharper and Rider

The latest builds of ReSharper 2018.2 EAP and Rider 2018.2 EAP come with the ReSpeller extension, providing spell-checking functionality out of the box. Just like with code analysis, ReSpeller scans for spelling mistakes and typos in identifiers, comments, string literals and more, and provides quick-fixes to resolve the problem. Let’s have a look!

Spell-checking in the editor

ReSpeller will look for spelling mistakes in identifiers, comments, and string literals. When it detects a potential spelling mistake or a typo, it will let us know in the same way ReSharper and Rider display other code suggestions:

Typo detected in comment

We can then invoke the Alt+Enter menu where ReSpeller gives us several options to fix our mistake: we can either fix our typo or add this word to ReSpeller’s dictionary.

Quick-fix for spelling mistakes and typos

When selecting Replace with…, ReSpeller provides us with several suggestions. By default, the best match will be selected (“parameters” in this example), but other versions are provided as well. Perhaps we meant to use the singular “parameter”? And yes, “par meters” exist – they measure Photosynthetically Active Radiation in case you wanted to know.

Fix typo using suggestions from ReSpeller dictionary

What’s nice about ReSpeller is that it automatically invokes the Rename refactoring when fixing a typo in an identifier. This ensures that our spelling correction preserves consistency across our code base. Note that in the Rename dialog, we can press Ctrl+Space to invoke code completion – or in this case, word completion.

Rename refactoring to fix a spelling mistake in an identifier

Now, where do these suggestions come from…

ReSpeller dictionaries

By default, Rider and ReSharper come with a built-in dictionary for English (United States). It uses a dictionary based on Hunspell, which means we can install other languages as well. Being a native Dutch speaker (well, Flemish), I’ve downloaded the corresponding .aff and .dic files and imported it in ReSharper’s settings:

Add Hunspell dictionary to ReSpeller

Et voila! (yes, you can add French, too, and many more languages) We now have spell checking for Dutch:

Spell checking for other languages in ReSharper and Rider

Remember that the quick-fix on a spelling mistake also showed the option Add to user dictionary? It allows us to add a custom word to ReSpeller’s dictionary. And just like with settings layers, we can choose to add that word to a dictionary on our own machine or share it with the entire team.

Add to user dictionary

Configuring ReSpeller code analysis

By default, ReSpeller is enabled in many of ReSharper’s supported languages. We can enable/disable individual inspections and change severity by searching for “typo” in the settings (under Code Inspection | Inspection Severity).

Configure ReSpeller inspection severity

There are many cases where spell checking is important or even critical. ReSharper and Rider now help detect and resolve them.

Give ReSharper 2018.2 EAP a try! Or grab the latest Rider 2018.2 EAP! We’d love to hear your feedback!

About Maarten Balliauw

Maarten Balliauw is a Developer Advocate at JetBrains, working on .NET tools and Space. He focuses on .NET, Azure, web technologies and application performance. Maarten is a frequent speaker at various national and international events. In his free time, he brews his own beer. Follow him on Twitter or check out his personal blog.
This entry was posted in How-To's and tagged , , , , , , , , , . Bookmark the permalink.

39 Responses to Integrated spell checking with ReSpeller in ReSharper and Rider

  1. Bradley says:

    Any chance we can get custom dictionary “layers” with this too? I’d like to be able to have project / solution specific dictionaries for domain specific words, that won’t affect unrelated projects.

  2. Pingback: Dew Drop - July 11, 2018 (#2763) - Morning Dew

  3. Jeff Odell says:

    Would you consider excluding strings that are ALLCAPS?

  4. Greg says:

    Does this replace the purchased version of ReSpeller Pro?

  5. mdeschaepmeester says:

    Mooi, dat verdient inderdaad pannenkoeken!

  6. Bruno Juchli says:

    What’s the simplest way to deactivate ReSpeller altogether?

    • There is no “one click” way, however it’s not too difficult. From Rider’s settings, find Editor | Inspections. Then under the languages of choice (e.g. C#), search for "spell" or "typo" and disable the inspections.

      Then when saving settings, pick the dropdown and pick This Computer if you want these disabled in all solutions you open.

  7. Stephen Kennedy says:

    I added the en-GB dictionary and saved the setting to my team’s layer. The path to the dictionary is saved as a full path including drive letter. This necessitates all team members to have installed the dictionary into the same folder on the same drive. I want to commit the dictionary to source control and have Resharper look for it relative to my team settings file location. Is that possible? I tried manually editing the settings file but it didn’t work.

  8. Stephen Kennedy says:

    Thanks Maarten. Is there a ticket for this planned improvement I can monitor, or am I safe to assume it will come in the next release?

  9. Jon Ward says:

    I’d also prefer to disable ReSpeller until you can offer a better way of managing languages. Selecting languages should be handled entirely within the configuration, not requiring a dictionary download outside of the tool.

  10. Logan Ratner says:

    One irritant is that ReSpeller doesn’t understand doxygen commands inside a comment block. If I type:

    /// \brief a method
    /// \return true if methodical

    Then it reports spelling errors ‘ief’ and ‘eturn’ as it thinks \b and \r are special characters.

  11. John Staveley (@johnstaveley) says:

    Every single word in Visual Studio is marked as having a typo. Switching it off in settings does not work.

  12. Pingback: What’s New in ReSharper C++ 2018.2 - ReSharper C++ BlogReSharper C++ Blog

  13. Alex Strickland says:

    As above, I am not able to disable the spelling checker, it is not “ticked” and yet is still loaded. It is irritating me, too many marked typos in commented code (I’m sure any commented code should have been deleted and kept “clean” but you know how it is).

  14. Alex Strickland says:

    My apologies – it was the Component One spell checker.

  15. Karl THURNHOFER says:

    Forget the german Hunspell dictionaries from Wooorm website, they are not useable for a serious german spell checking. I recommend the german Hunspell dictionaries ( from Björn Jacke that can be found at

  16. Andrew Patrick says:

    Is there a way to make it pick up words from existing Code Analysis (i.e. FxCop) custom dictionaries?

    I’ve just tried a preview of this on my codebase and Respeller is reporting all the words in my custom dictionary as being spelled wrong… hardly the ideal result, nor do I really want to maintain two dictionaries of custom words, one for CA and one for Respeller.

  17. Courtney says:

    Downloaded the Australian dictionary from Wooorm website and added the .dic file – after doing that though Respeller shows every word is now a spelling mistake.

  18. Guy Bailey says:

    i hope they add the ability to disable ReSpeller. Until then, we will use a different code analysis tool.

    • There is no “one click” way, however it’s not too difficult. From Rider/ReSharper settings, this can be done from the inspections page. Then under the languages of choice (e.g. C#), search for "spell" or "typo" and disable the inspections.

  19. Bertus says:

    Seems simple enough, but I don’t get it to work.

    I wanted to use real English instead of American.
    I added the .dic file from wooorm, disabled the bundled en-US, en refreshed the code inspection. I got thousands of spelling issues.

    I have suspended Resharper, restarted Visual Studio, nothing helps.

    What’s going on? I only need the .dic file, right? It is alright to be html, right?

    So why doesn’t it work? Bug?

  20. Bertus says:

    By the way, I already had the .aff file in the same directory as the .dic file, but it does not work anyway.

    I found that here:

Leave a Reply to Stephen Kennedy Cancel reply

Your email address will not be published. Required fields are marked *