1. Treats the string "\nHello" as the word nHello, which is a mis-spelled word. Would be nice if it could be configured to treat \ as an escape character for C and C++ code.
2. No way to explicitly search a file. If a want to search an entire file for spelling mistakes it's a pain in the @$$ to eye-ball a 10,000 line file for red squiggly marks. Would be nice to have a small GUI with options likes Ignore Word, Ignore All, Add to Dictionary, Change Word, Change All, etc.
3. Doesn't check for duplicate words, which is a nice feature of some spell-checkers.
4. Would be nice to be able to import/export words, with the import/export file format being a list of words separated by lines in a file.
A helpful utility, but not a full replacement for a spell-checker.
SUGGESTION (PLAESE CONSIDER): The spellchecker should have an option to check inside the class/function/variable names when written in the CamelCaseStyle.
Reason: it is very annoying whne progremmers make extreme mstakes in the function names, which can not be corrected easily because e.g. it is a webserice operation contract etc. This feature would be very useful to prevent this :)
Seems to work just fine, but not in anyway one would expect!
By default it checks the spelling in the language of windows and there is no way to change that, other then maybe reprogramming it yourself.
Once it is programed to either have an settings interface where one can set the language to be used or it just uses the specified language of VS (Options -> Environment -> International Settings -> Language) it might be quiet nice.
almost perfect, other than one issue: it would mark errors in code fragments in ASPX pages, even though they are language keywords or function calls. It also collides with CodeRush, the refactoring tool from DevExpress, which also adds smart tags to strings.
Is there an option to change the language that will be used for spell checking? Most of my comments are in English, but some are German (not my fault ;-) ), and I want to check them too without leaving Studio or switching language settings somewhere.
I never added a way of setting that option, so your best bet is to modify the source. Your case is special since you have a mix of languages, so this may not work terribly well for you, but it is at least an option you should know about :)
Here's how another user did it:
I've downloaded source (from https://github.com/NoahRic/Spellchecker) and added the line
textBox.Language = XmlLanguage.GetLanguage("en-US");
in the SpellingTagger.CheckSpellings method; That works fine for me / in my german environment.
With the spell checker enabled I brought in the following text file (output from lint only much larger). dnvenv.exe was stuck at about 25% and hung. I finally was able to close the file, turn off the spell checker and open it back up without issue (each of the < etc. were a spelling error). Is there a way to limit the extensions from how much CPU they can take?
<?xml version="1.0" ?>
While instantiating boost::property_tree::basic_ptree<std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t>>,std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t>>>::iterator<std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t>>,std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t>>,std::less<std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t>>>> at File D:\dev\sapphire\marshalling\sapphire_interaction\sapphire\interaction\MessageHelper.cpp line 54
<message><file>D:\dev\sapphire\boost_1_46_1\boost\multi_index_container.hpp</file> <line>324</line> <type>Error</type> <code>330</code> <desc>Static assertion failure: index_found</desc></message>
If you are asking if there's a setting for that somewhere, the answer is no, sorry.
If you are asking, generally, if VS 2010 can do that, the answer is not really. Extensions run in the same process as Visual Studio and as first-class citizens as every other component of VS, so there's not much it can do in general to prevent badly behaved extensions.
This extension uses a background thread at BelowNormal priority to do the work that is eating one of your CPU cores, so it (hopefully) shouldn't be blocking the UI thread directly. However, the work the editor does in response (drawing squiggles, placing smart tags, etc.) is most likely on the UI thread, and some of those things tend to scale super linearly with the number of items.
Is it possible to force the spell checking of an existing project, maybe see all errors in the Warnings tab instead of scrolling through each code page?
It would also be handy if there was a "Replace All" function so you can correct all the instances of the same error.
Agreed on both. I'll probably never get around to it for this extension, though, so your best bet would be to find another spell checker extension on the gallery that does that type of thing *and* send feedback (via Connect) that you'd like to see these features in Visual Studio at some point.
Firstly, a great entension - gets my 5*s
One minor issue: If I open the file and the region is collapsed, I can see there is a spelling mistake in the region on the scroll bar. If I now open the region the spelling mistake shows up, however if I press CTRL+. I do not get the menu. I have to close the file, and reopen it with the region expanded, then it works.
Sadly, it's a bug in VS2010 (I don't think it was fixed in SP1, though it should be fixed in the next version). I never figured out a decent way of working around it in the extension. I *think* you can make it work by modifying the line (add + remove a space), which should force the extension to re-check the line and remove/re-add the error.
I have tried to install this extension. The installation works well and I also see it in the extensions manager in VS2010 premium. The problem is that nothing happens in my code. I don't see any 'red lines' under misspelled words.
Do you know what can be the cause? Am I doing something wrong?
It doesn't sound like you are doing anything wrong, no. Just to be sure:
1) What language are you using?
2) You have misspelled words *in comments* and they aren't showing up with squiggles, correct?
3) If you open the fonts and colors dialog (Tools->Options->Environment->Fonts and Colors), do you see an entry under Spelling Error?
I have the same problem.
I have Microsoft Visual Studio 2010
Version 10.0.30319.1 RTMRel
Microsoft .NET Framework
Version 4.0.30319 RTMRel
Installed Version: Professional
Tools->Options->Environment->Fonts and Colors->Spelling Error: foreground color is set to red
Language of Visual Studio is English. I should use French in comments ecc.
Anyway nothing happen even if if I write //xxxxxxx in a file .cs
Same for me as well - nothing gets marked as spelling mistakes and extension is loaded as witnessed in Fonts and colors. VS2010 Ultimate SP1, Vista x86 SP1 - I have tried disabling all other extensions (except AnchSVN and Nuget needing admin rights to disable), but still gets nothing.
I have on one of my machines the same issue. After debugging Spellchecker i found out that the problem is not with Spellchecker at all. Spellchecker is using WPF TextBox.GetNextSpellingErrorCharacterIndex (http://msdn.microsoft.com/en-us/library/system.windows.controls.textbox.getnextspellingerrorcharacterindex.aspx). On my problematic machine this function returns -1 (no errors found). You can test that very simple with creating a WPF project in VS but a text box and a button on it. The code behind looks like:
public partial class MainWindow : Window
this.textBox1.SpellCheck.IsEnabled = true;
private void button1_Click(object sender, RoutedEventArgs e)
int i = this.textBox1.GetNextSpellingErrorCharacterIndex(0, LogicalDirection.Forward);
Now but some misspelled words in the text box and click the button. If you get a -1 spell checking does not work. If it works you get something else.
I'm still investigating why it does not work, but it looks very much that the problem described in this discussion is not one of this Visual Studio Extension.
Solution: After changing the Default Input Language of Windows to English the problem was fixed. (Because I needed another keyboard I had a different input language. I just installed the foreign keyboard under English and everything works now fine.)
Yeah, I think that is a bug I never got around to fixing :-/ The issue is that the spell checker looks at anything that the language service says is a string, and the C++ language service reports those as strings. I never got around to special casing C++ #includes, so you see the result here.
I'll take a look at it later, but it's a busy week (and no longer work at Microsoft), so it'll be at least a few days before I have time to look at it, sorry.
I have the Spell Checker (http://visualstudiogallery.msdn.microsoft.com/7c8341f1-ebac-40c8-92c2-476db8d523ce) installed and I recently installed JSEnhancements and unfortunatly they don't seem to play nicely.
After I installed JSEnhancements (http://visualstudiogallery.msdn.microsoft.com/0696ad60-1c68-4b2a-9646-4b5f4f8f2e06) my spell check no longer functions correctly. It still underlines the spelling error but I no longer get the drop down to change the spelling. Not sure if its JSEnhancements or Spell Checker.
the extension loades as expected. Spelling Error in Options\Environment\Fonts and Colors ist set to red. English VS2010 Pro is installed with SP1 on a German XP Pro with SP3.
Spellchecking does neithor work in German nor in English. Nothing happens.
When trying to load solution V2.21 obtained from here https://github.com/NoahRic/Spellchecker, I get the error message 'The project type is not supported by this installation.' for SpellChecker.csproj.
Ok, I got that to work now. Since I had SP1 for VS 2010 allready installed, I had to install Visual Studio 2010 SP1 SDK which can be found here: http://www.microsoft.com/downloads/en/details.aspx?FamilyID=21307C23-F0FF-4EF2-A0A4-DCA54DDB1E21. After that, I could build the project.
For those, who want to spellcheck in their language, meight have to download a language pack (e.g. for german .NET 4.0 located here: http://www.microsoft.com/downloads/de-de/details.aspx?displaylang=de
Seems not to wotrkout the link: Without it the rest:
This will instal a LEX File propably here: C:\Programme\Gemeinsame Dateien\Microsoft Shared\PROOF.
If this is not installed, the spellchecker will do just nothing.
Others who want to spellcheck in english and don't have an US OS, may follow the hints of watpa from 14.12.2010 (see below) and rebuild the project downloaded from here: https://github.com/NoahRic/Spellchecker.
It's under your local app data directory (on win7, type %LOCALAPPDATA% in a windows explorer address bar), as Microsoft\VisualStudio\10.0\SpelChecker\Dictionary.txt. Here's the code that determines the location:
string localFolder = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData), @"Microsoft\VisualStudio\10.0\SpellChecker");
_ignoreWordsFile = Path.Combine(localFolder, "Dictionary.txt");
This is from https://github.com/NoahRic/Spellchecker/blob/master/SpellChecker.Implementation/Spelling/SpellingDictionaryService.cs