EWSoftware / VSSpellChecker

A Visual Studio spell checker editor extension that checks the spelling of comments, strings, and plain text as you type. Supports configuration and various languages.
Other
377 stars 65 forks source link

Spell Checker Stopped Working with Visual Studio 17.9.1 (2022) #309

Closed meadjm closed 2 months ago

meadjm commented 6 months ago

I've noticed on two separate machines now that the Visual Studio Spell Checker (2023.12.29.0) has stopped working. It no longer highlights misspelled words and when you attempt to spellcheck the project it will crash VS after some seconds. I've tried to reinstall the extension, but it continues to have the same issue. Not sure if there are logs that could help?

kyhou commented 5 months ago

I'm having the same issue, had to disable the extension.

EWSoftware commented 5 months ago

I haven't encountered the issue. I'm currently using the latest release, 17.9.2 and I'm not experiencing it with that version either. Can you try 17.9.2 as well? If it still does it with that release, it may be a conflict with a workload or another extension that I don't have installed so I will need more information about what you have installed.

meadjm commented 5 months ago

Version 17.9.2 appears to mostly fix my issue. With this version, I cannot change the squiggly highlight of a misspelled word. It used to be Magenta but now it's a medium gray. I verified and changed the "Spelling Error" color options, but it does not change the color from gray. It's a bit hard to see with a dark background. I've tried other themes, but the color does not change.

kyhou commented 5 months ago

I tested here and was another extension that was crashing the IDE, I posted here to because, by coincidence, when I disabled this extension it stopped crashing, but now it is back even with this disabled, so I reenabled it and it is working normally (with the other extension disabled). Sorry about that.

EWSoftware commented 5 months ago

@meadjm I haven't found any issues changing the Spelling Error color used by strings and comments. If it's the underline color for identifiers, that's controlled by the Warning color and isn't something the extension sets. It's the standard one used by all code analyzers. On my system, it's a light green by default though oddly there are two entries for Warning in the list with one that has a light grey background and black text by default. Not sure what that one is for.

UdoQuitschalle commented 5 months ago

Unfortunately, I have the same problem at the moment. Spelling typos are not underlined. Checking the code files themselves works. A list with all errors is displayed, with one exception. When I call the Spell Checker via the menu (Tools>Spell Checker>Spell Check Current Document), NO errors are found. Could this be an indication of the problem? I am using Visual Studio 17.9.3, Spell Checker 2023.12.29.0 and have disabled all other extensions in Visual Studio.

EWSoftware commented 5 months ago

As noted above, it may be a conflict with a workload or another extension that I don't have installed so I will need more information about what you have installed.

UdoQuitschalle commented 5 months ago

Hello Eric, can we exclude the extensions since I have disabled all of them?

Here are my workloads:

Is this information sufficient?

UdoQuitschalle commented 5 months ago

Maybe it is better if I export the configuration ... [the original name CurrentWorkload.vsconfig seems not to be supported, so I renamed it to CurrentWorkload.json] CurrentWorkloads.json

UdoQuitschalle commented 3 months ago

Hello Eric, is there any suggestion from your side? I also found out that apparently only .vb files are affected. Spell checking with “Spell check selected items” works, but checking during editing not.

EWSoftware commented 3 months ago

Not yet. My free time is extremely limited and I have not had a chance to look into this.

EWSoftware commented 3 months ago

It's not workload related. Something has changed with the VB language classifier. The spell checker is getting called but when it requests classified spans to spell check, the classifier isn't returning anything so it does nothing. It uses the general tagger and it works for other languages like C++, Python, etc. I don't know if there's anything I can do to make it work. I may have to implement my own parser/tagger similar to how it does it for C-like languages.

graymatter00 commented 3 months ago

@EWSoftware Eric, I'm also seeing this issue in vb files with Visual Studio version 17.10.1.

This may be a long-shot, but could the following bug report be related somehow?... https://developercommunity.visualstudio.com/t/VS2022-map-mode-minimap-vertical-scrol/10597186

This bug stops the code map in the scrollbar from being coloured. I'm seeing this bug only in my vb files. My vbhtml, css, js, json, xml and txt files have the coloured code map as expected. Could this also be related to a problem in the VB language classifier?

MS claim to have fixed this in version 17.11 Preview 1. I have not loaded the preview version to check, and I'm not able to do so at the moment.

If possible, it might be worth loading the preview version to see if both the code map bug and this spellcheck problem are rectified.

reduckted commented 2 months ago

@EWSoftware Something has changed with the VB language classifier.

Could this be related to this: https://developercommunity.visualstudio.com/t/ITagAggregatorIClassificationTag-no-lo/10595181#T-ND10598213

There was an undocumented change to classifiers that broke a lot of extensions.

EWSoftware commented 2 months ago

@reduckted Thanks, that does appear to be it. Rewriting the tagger provider to use IViewTaggerProvider does appear to fix it for VB anyway. I need to do some more testing to make sure it hasn't broken anything for non-VB files. If not, I'll probably switch the other taggers over as well to prevent any future issues.

UdoQuitschalle commented 2 months ago

@EWSoftware, @reduckted Once again, it seems that implementation and documentation, or rather the communication of an important change, do not match. Unfortunately, this is happening more and more often. Thank you for taking the time to look into this issue, and for giving the essential tip. Let's hope that your tests are successful and that at least in our software the comments are without spelling mistakes :-) Best regards Udo