CodeSpell for Visual Studio

CodeSpell adds real-time, intelligent detection and correction of misspelled words to Visual Studio. CodeSpell can operate in one of two ways. It will automatically spell check as you type, or you can interactively spell check single files or the entire solution. If you think that checking your spelling as you go will slow you down, think again. CodeSpell works in the background, using adaptive algorithms to suspend spell checking while you are typing quickly, essentially squeezing in checks between the pauses in your words without ever interfering with your keystrokes. CodeSpell is going to find your spelling errors, not slow you down.

CodeSpell understands source code syntax and language specific terminology from C#, VB.NET, ASP.NET, and HTML. It even knows how to deal with "camel casing", XML/HTML tags, and underscore characters in an intelligent fashion. It works on symbols, comments, strings and tag bodies inside any file type, including source code, XML, HTML/ASP.NET, and plain text files. It is disabled in design mode. While spell checking in HTML and text files is an obvious benefit, you may at first wonder about the benefits of spell checking inside of the source code editor. We think there are several:

Spell checking of your comments is particularly important if you are generating end user documentation directly from your source code.

What's new in version 2.0

Version 2.0 of CodeSpell brings significant updates in terms of speed and configuration. Even faster operation, smarter code awareness, and more flexible configuration options. One important change is that spell checking of code symbols is now off by default, meaning spell check only happens inside string literals, comments, and tag bodies. You can change this through the options menu. There's also a new popup icon allowing you to choose your corrections.

Checking your spelling as you type

Background, as you type spell checking, is enabled by default. Any words not appearing in the dictionary will appear underlined in the familiar wavy red line style. You can choose an alternate colors the options panel, if you wish. This is the most typical way of using CodeSpell and should be very familiar to most users. It works pretty much the way every modern spell checker works.

To make a correction, hover over the misspelled word and click on the spelling error popup and you'll presented with a list of likely alternatives. If you see the you want, select it and your done. If you're sure of your spelling and don't want to be warned about it again, select one of the options from the popup menu to add it to either your User Dictionary or the Solution Dictionary. More on those later... Alternatively, you can ignore the file or all files with its extension to never be bothered again.

Working with Dictionaries

CodeSpell maintains two separate dictionaries, one for the user and one for the solution. Both are used to supplement the built in dictionary with additional words of your own choosing. The User Dictionary applies to all solutions you edit, while the Solution Dictionary is unique to the current solution. This allows you to maintain a solution specific vocabulary that is aware of methods, etc. The User Dictionary is maintained in your Documents and Settings folder, while the Solution Dictionary is stored along side the solution file, and can be checked in with your source code and shared by the entire project team.

Both your User Dictionary and the Solution Dictionary can be edited, allowing you to alter or remove any words that you've either added by accident, or upon further reflection decided really were misspelled after all. To bring up the word list editor, select Edit User Dictionary or Edit Solution Dictionary from the CodeSpell tool window. This brings up the editor panel. To remove an entry, just select the word and hit the delete key. Your changes will be saved automatically.

Spell checking your solution

You can use the CodeSpell tool window to spell check your solution in a convenient, non-modal window. Any misspelled words will appear in the spell check results window, grouped by file. Clicking on one of the results will load that file into the editor for correction. Unlike the traditional spell check dialog, the non-modal spell check window allows you to keep working, and make other corrections as necessary. As you make corrections (or more errors) the spell check window will be updated.

Ignoring files

You can ignore individual files or particular file extensions in CodeSpell if there are certain files that should not be checked. You add files or extension to the ignored list through the correction popup when an error is encountered. You can review the list, and un-ignore files and extensions through the CodeSpell tool window.

Appearance Options

Maximum errors per document

The number of words that will be reported as misspelled within a single document.

Maximum number of suggestions

The number of suggested alternatives reported when correcting the spelling of a word.

Spelling error color

The color of the wavy lines used to indicate misspelled words in the editor.

General Options

Check spelling as you type

When enabled, misspelled words are automatically detected and flagged in the editor according to the rules outlined by the other CodeSpell options.

Ignore emails addresses

Words that appear to be email addresses will not be checked

Ignore non-letters at word boundaries

Ignore leading or trailing symbols in words, for example a leading underscore or trailing colon

Ignore URLs

Words that appear to be URLs will not be checked

Ignore words with numbers

If enabled, text that includes a number is not spell checked, for example "user1".

Treat camel case as separator

If enabled, text is split at case transitions for purposes of spell checking, treating each piece as its own word. For example, "numberOfUsers" would be three words. If not set the entire string is treated as a single word.

Source Code Options

The options apply specifically to source code, such as C# or VB.

Check comments

When enabled, spell checking will look at the comments in your code for errors.

Check string literals

When enabled, string values will be included in the spell checking.

Check symbol names

When enable, the names of variables, methods, and classes will be checked for spelling.

XML/HTML Options

These options apply specifically to XML and web content, including ASP.NET files

Check comments

When enabled, spell checking will look at the comments in your code for errors.

Check content

When enabled, the bodies of HTML/XML tags will be checked for spelling errors

Check XML tags

When enabled, tag names will be checked for spelling errors

Next Steps