ReSharper 2023.1 Help

Spellchecking with ReSpeller

One important task of code inspection is spell checking, which ReSharper performs with ReSpeller — its integrated spell-checking engine. 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 you know in the same way as other code issues — in design time or when you run code inspection in specific scope.

Spell checking is enabled by default, but you can disable it by clearing the corresponding checkbox on the Tools | ReSpeller page of ReSharper options (Alt+R, O).

Similarly to other highlighted issues, you can press Alt+Enter and choose Replace with… to choose one of the ReSpeller's suggestions.

ReSharper: Detecting and fixing typos

If you use the ReSpeller's quick-fix to fix a typo in an identifier, the Rename refactoring will be invoked automatically to ensure consistency of the change across your code base.

ReSpeller dictionaries

ReSharper comes with a built-in dictionary for English (United States), but it allows you to install and use Hunspell/MySpell dictionaries for other languages. A lot of dictionaries can be found on https://github.com/wooorm/dictionaries.

Install custom dictionaries

  1. Select ReSharper | Options from the main menu or press Alt+R O, then choose Tools | ReSpeller on the left.

  2. Add the desired Hunspell/MySpell dictionaries — click Add and pick a Hunspell dictionary file .dic. Note that you also need to have the affix file of the dictionary (named the same as the dictionary file but with the .aff extension) next to the dictionary file.

  3. While you are at this page, you can specify which kinds of identifiers and strings should be spell-checked and which should not.

  4. Click Save in the Options dialog to apply the modifications and let ReSharper choose where to save them, or save the modifications to a specific settings layer using the Save To list. For more information, see manage and share resharper settings.

When you install a custom dictionary, ReSharper saves a full path to the dictionary file in settings.

If you share your solution via VCS, you can share custom dictionaries by putting dictionary files in the VCS directory and making the paths in the settings file relative.

Share custom dictionaries

  1. Put the desired dictionary files in your solution directory. For example, you can create a Dictionaries subdirectory in the solution root and put the files there.

  2. Add the dictionaries in settings as described above, make sure to save changes in the 'Solution team-shared' settings layer.

  3. In the solution root folder, find and open the team-shared settings file <SolutionName>.sln.DotSettings.

  4. In the settings file, find all entries that define dictionaries — they start with <s:Boolean x:Key="/Default/InstalledDictionaries — and specify relative paths for them.

    For example, if you put German dictionary files German.dic and German.aff in the Dictionaries subdirectory in the solution root, then the entry for the dictionary will look as follows in the settings file:

    <s:Boolean x:Key="/Default/InstalledDictionaries/InstalledDictionaries/=Dictionaries_005CGerman_002Edic/@EntryIndexedValue">True</s:Boolean>

    The path format in settings uses the following symbol substitutions:

    • _003A for :

    • _005C for \

    • _002E for .

  5. Make sure that <SolutionName>.sln.DotSettings file and all dictionary files are committed to your VCS.

You can extend the installed dictionaries with other words, which will be stored using the settings layers together with other preferences. There are two ways to add user words:

  • When your caret is on a highlighted spelling issue in the editor, choose Add to user dictionary from the Alt+Enter menu. The word will be saved using the smart save logic, but you can also expand the submenu to choose a specific settings layer:

    ReSharper: adding user words for spell checking
  • On the Tools | ReSpeller page of ReSharper options (Alt+R, O), use the User words field to configure a newline-separated list of words to be ignored by the spell-checker.

Configure ReSpeller inspections

By default, ReSpeller inspections are enabled in many of ReSharper’s supported languages. You can enable/disable individual inspections and change their severity levels by searching for typo on the Code Inspection | Inspection Severity page of ReSharper options (Alt+R, O).

You can disable ReSpeller by clearing the ReSpeller checkbox on the Environment | Products & Features page of ReSharper options (Alt+R, O).

This feature is supported in the following languages and technologies:

Language: C#

Language: VB.NET

Language: C++

Language: HTML

Language: ASP.NET

Language: Razor

Language: JavaScript

Language: TypeScript

Language: CSS

Language: XML

Language: XAML

Language: Resx

Language: Build Scripts

Language: Protobuf

Language: JSON

Feature is available in C#

Feature is available in Visual Basic

Feature is available in C++

Feature is available in HTML

Feature is available in ASP.NET

Feature is available in Razor

Feature is available in JavaScript

Feature is available in TypeScript

Feature is not available in CSS

Feature is available in XML

Feature is available in XAML

Feature is available in Resource files

Feature is not available in build script files

Feature is not available in Protobuf

Feature is available in JSON

The instructions and examples given here address the use of the feature in C#. For details specific to other languages, see corresponding topics in the ReSharper by language section.

Last modified: 22 December 2022