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

Apply regex filters in solution/project spellchecking #186

Closed HB25 closed 5 years ago

HB25 commented 5 years ago

As a follow-up to your marketplace comment, I suggest to realize your proposed improvement for regex filters.

Some lines where spell checking reports errors are easy to ignore when they are reported in the editor but clutter the project/solution spell check heavily. Up to now I have the following examples:

It would be very helpful to have to reduce the number of findings in the solution scan (I have several thousands 😰

EWSoftware commented 5 years ago

As noted in the marketplace comment, it's a matter of classifying the text differently after the include statement. Regarding the namespace comment, that should work since it's already in a comment. If you can provide an example of that one if it doesn't work, I can look into it.

HB25 commented 5 years ago

Oh, I understood that there is a difference between spell checks in the editor window and the project/solution spell check, i.e. you have more control over the input in the second case. If this is not the case, my feature request probably doesn't make sense, sorry :(

Here's an example for the case with the namespace. In this example it also marks the doxygen \param as incorrect while \brief is fine. But both are defined in the exclusion list.

namespace cb {

// -- service namespace
namespace simpledatasvc {

// -- proxy namespace
namespace proxy {

/// \brief Prepare reply for a method call
/// \param  id Id of method whose reply is to be prepared
/// \param handle handle of the method call
void prepare_reply_method(Operation_id id, Method_call_handle handle);

} // namespace proxy
} // namespace simpledatasvc
} // namespace cb 
EWSoftware commented 5 years ago

It makes sense. The comment was more a reminder for me and a note to anyone else who may follow this work item.

Regarding "param", add it to the Ignored Words category and it will ignore it. "\p" isn't a valid escape sequence so just add "param" as the word to ignore. "\brief" is in the default set in the global configuration. For the namespace exclusion expression, the following will work:

namespace[\t ]*\w+

As a temporary workaround, the following works for the include files:

((\w+)/)+\w+\.h
HB25 commented 5 years ago

Okay, thank you! I think I now also understood the expressions part.
And the filters work very well. The solution scan results are much cleaner now 👍