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
376 stars 65 forks source link

Spell check does not work in VB in some places #308

Open RachamimYaakobov opened 9 months ago

RachamimYaakobov commented 9 months ago

Spell check does not work in VB in some places Visual Studio 2022 and also 2019, Windows 10 2024-02-10_23-22-52

The same code works fine everywhere in C# 2024-02-10_23-29-45

The settings in the VSSpellChecker.editorconfig file look like this:

# Visual Studio Spell Checker extension global configuration file [https://github.com/EWSoftware/VSSpellChecker]
#
# This file should only contain spell checker settings.  All other settings will be ignored.  Use the spell
# checker configuration editor in Visual Studio to modify the settings.
[*]
# VSSPELL: Spell checker settings for all files
vsspell_ignore_words_with_digits = false
vsspell_ignore_words_in_all_uppercase = false
vsspell_ignore_words_in_mixed_case = false
vsspell_ignore_filenames_and_email_addresses = false
vsspell_ignore_xml_elements_in_text = false
vsspell_ignore_mnemonics = false
vsspell_code_analyzer_ignore_identifier_if_private = false
vsspell_code_analyzer_ignore_identifier_if_internal = false
vsspell_code_analyzer_ignore_identifiers_within_member_bodies = false
vsspell_code_analyzer_ignore_if_compiler_generated = false
vsspell_code_analyzer_apply_to_all_c_style_languages = true

[*.vb]
# VSSPELL: VB
vsspell_ignore_words_with_digits = false
vsspell_ignore_words_in_all_uppercase = false
vsspell_ignore_words_in_mixed_case = false
vsspell_ignore_filenames_and_email_addresses = false
vsspell_ignore_xml_elements_in_text = false
vsspell_ignore_mnemonics = false
vsspell_code_analyzer_ignore_identifier_if_private = false
vsspell_code_analyzer_ignore_identifier_if_internal = false
vsspell_code_analyzer_ignore_identifiers_within_member_bodies = false
vsspell_code_analyzer_ignore_if_compiler_generated = false
vsspell_code_analyzer_apply_to_all_c_style_languages = true

[**/bin/*]
# VSSPELL: Disable spell checking in the .\bin folder
vsspell_spell_check_as_you_type = false
vsspell_include_in_project_spell_check = false
vsspell_code_analyzers_enabled = false

[**/obj/*]
# VSSPELL: Disable spell checking in the .\obj folder
vsspell_spell_check_as_you_type = false
vsspell_include_in_project_spell_check = false
vsspell_code_analyzers_enabled = false

[*.min.css]
# VSSPELL: Disable spell checking in *.min.css files
vsspell_spell_check_as_you_type = false
vsspell_include_in_project_spell_check = false
vsspell_code_analyzers_enabled = false

[*.min.js]
# VSSPELL: Disable spell checking in *.min.js files
vsspell_spell_check_as_you_type = false
vsspell_include_in_project_spell_check = false

[*.resx]
# VSSPELL: Ignored resource file specific keywords
vsspell_section_id = 1C663502B9244D4DB52510C55DF2AB99
vsspell_ignored_keywords_1C663502B9244D4DB52510C55DF2AB99 = microsoft|mimetype|mscorlib|resheader|resx|utf

[*.rproj]
# VSSPELL: Disable spell checking in *.rproj files
vsspell_spell_check_as_you_type = false
vsspell_include_in_project_spell_check = false

[CodeAnalysisLog.xml]
# VSSPELL: Disable spell checking in code analysis log files
vsspell_spell_check_as_you_type = false
vsspell_include_in_project_spell_check = false

[GlobalSuppressions.*]
# VSSPELL: Disable spell checking in global suppression files
vsspell_spell_check_as_you_type = false
vsspell_include_in_project_spell_check = false
vsspell_code_analyzers_enabled = false

[Resources.Designer.*]
# VSSPELL: Disable spell checking in resource designer files
vsspell_spell_check_as_you_type = false
vsspell_include_in_project_spell_check = false
vsspell_code_analyzers_enabled = false

[Settings.Designer.cs]
# VSSPELL: Disable spell checking in settings designer files
vsspell_spell_check_as_you_type = false
vsspell_include_in_project_spell_check = false
vsspell_code_analyzers_enabled = false

[Settings.settings]
# VSSPELL: Disable spell checking in settings files
vsspell_spell_check_as_you_type = false
vsspell_include_in_project_spell_check = false

[UpgradeLog.htm]
# VSSPELL: Disable spell checking in upgrade log files
vsspell_spell_check_as_you_type = false
vsspell_include_in_project_spell_check = false

[bootstrap*.css]
# VSSPELL: Disable spell checking in bootstrap CSS files
vsspell_spell_check_as_you_type = false
vsspell_include_in_project_spell_check = false

[bootstrap*.js]
# VSSPELL: Disable spell checking in bootstrap script files
vsspell_spell_check_as_you_type = false
vsspell_include_in_project_spell_check = false

[html5shiv.js]
# VSSPELL: Disable spell checking in HTML shiv script files
vsspell_spell_check_as_you_type = false
vsspell_include_in_project_spell_check = false

[jquery*.d.ts]
# VSSPELL: Disable spell checking in jQuery script files
vsspell_spell_check_as_you_type = false
vsspell_include_in_project_spell_check = false

[jquery*.js]
# VSSPELL: Disable spell checking in jQuery script files
vsspell_spell_check_as_you_type = false
vsspell_include_in_project_spell_check = false

[respond*.js]
# VSSPELL: Disable spell checking in respond script files
vsspell_spell_check_as_you_type = false
vsspell_include_in_project_spell_check = false

[robots.txt]
# VSSPELL: Disable spell checking in robots.txt files
vsspell_spell_check_as_you_type = false
vsspell_include_in_project_spell_check = false

[*.{c,cc,cpp,cu,cuh,cxx,h,hh,hpp,hxx,ii,ipp,inl,rc,xpp}]
# VSSPELL: Ignored C/C++ language-specific keywords
vsspell_section_id = 2ED8EEE5E7BB4650A5DF3D504B15A4E5
vsspell_ignored_keywords_2ED8EEE5E7BB4650A5DF3D504B15A4E5 = alignas|alignof|asm|assert|atomic|auto|based|bool|break|case|cdecl|char|complex|const|continue|declspec|default|dllexport|dllimport|do|double|else|enum|except|extern|fastcall|finally|float|for|generic|goto|if|imaginary|inline|int|leave|local|long|naked|noreturn|register|restrict|return|short|signed|sizeof|static|stdcall|struct|switch|thread|try|typedef|union|unsigned|void|volatile|while|

[*.{cs}]
# VSSPELL: Ignored C# language-specific keywords
vsspell_section_id = 1A9CD7DD3DAB4A7DB21EDCFB6351977A
vsspell_ignore_words_with_digits = false
vsspell_ignore_words_in_all_uppercase = false
vsspell_ignore_words_in_mixed_case = false
vsspell_ignore_format_specifiers = false
vsspell_ignore_filenames_and_email_addresses = false
vsspell_ignore_xml_elements_in_text = false
vsspell_ignore_mnemonics = false
vsspell_code_analyzer_ignore_identifier_if_private = false
vsspell_code_analyzer_ignore_identifier_if_internal = false
vsspell_code_analyzer_ignore_identifiers_within_member_bodies = false
vsspell_code_analyzer_ignore_if_compiler_generated = false
vsspell_ignored_keywords_1A9CD7DD3DAB4A7DB21EDCFB6351977A = abstract|add|alias|and|args|as|ascending|async|await|base|bool|break|by|byte|case|catch|char|checked|class|const|continue|decimal|default|delegate|descending|do|double|dynamic|else|enum|equals|event|explicit|extern|false|file|finally|fixed|float|for|foreach|from|get|global|goto|group|if|implicit|in|init|int|interface|internal|into|is|join|let|lock|long|managed|nameof|namespace|new|nint|not|notnull|nuint|null|object|on|operator|or|orderby|out|override|params|partial|private|protected|public|readonly|record|ref|remove|required|return|sbyte|scoped|sealed|select|set|short|sizeof|stackalloc|static|string|struct|switch|this|throw|true|try|typeof|uint|ulong|unchecked|unmanaged|unsafe|ushort|using|value|var|virtual|void|volatile|when|where|while|with|yield

[*.{js,jsx,ts,tsx}]
# VSSPELL: Ignored JavaScript language-specific keywords
vsspell_section_id = 28E97F311818410D8C5176623E437EA2
vsspell_ignored_keywords_28E97F311818410D8C5176623E437EA2 = abstract|arguments|boolean|break|byte|case|catch|char|class|const|continue|debugger|default|delete|do|double|else|enum|eval|export|extends|false|final|finally|float|for|function|goto|if|implements|import|in|instanceof|int|interface|let|long|native|new|null|package|private|protected|public|return|short|static|super|switch|synchronized|this|throw|throws|transient|true|try|typeof|var|void|volatile|while|with|yield

[*.fs]
# VSSPELL: Ignored F# language-specific keywords
vsspell_section_id = 682873E0B661460281E01E3D62DC583B
vsspell_ignored_keywords_682873E0B661460281E01E3D62DC583B = abstract|and|as|asr|assert|atomic|base|begin|break|checked|class|component|const|constraint|constructor|continue|default|delegate|do|done|downcast|downto|eager|elif|else|end|event|exception|extern|external|false|finally|fixed|for|fun|function|functor|global|if|in|include|inherit|inline|interface|internal|land|lazy|let|lor|lsl|lsr|lxor|match|measure|member|method|mixin|mod|module|mutable|namespace|new|not|null|object|of|open|or|override|parallel|private|process|protected|public|pure|rec|recursive|return|sealed|select|sig|static|struct|tailcall|then|to|trait|true|try|type|upcast|use|val|virtual|void|volatile|when|while|with|yield

[*.sql]
# VSSPELL: Ignored SQL language-specific keywords
vsspell_section_id = 5389845B166345E6A2E98E2F3DE8C5B1
vsspell_ignored_keywords_5389845B166345E6A2E98E2F3DE8C5B1 = ABSOLUTE|ACTION|ADA|ADD|ADMIN|AFTER|AGGREGATE|ALIAS|ALL|ALLOCATE|ALTER|AND|ANY|ARE|ARRAY|AS|ASC|ASENSITIVE|ASSERTION|ASYMMETRIC|AT|ATOMIC|AUTHORIZATION|AVG|AVGX|AVGY|BACKUP|BEFORE|BEGIN|BETWEEN|BINARY|BIT|BLOB|BOOLEAN|BOTH|BREADTH|BREAK|BROWSE|BUCKET|BULK|BY|CALL|CALLED|CARDINALITY|CASCADE|CASCADED|CASE|CAST|CATALOG|CHAR|CHARACTER|CHECK|CHECKPOINT|CLASS|CLOB|CLOSE|CLUSTERED|COALESCE|COLLATE|COLLATION|COLLECT|COLUMN|COMMIT|COMPLETION|COMPUTE|CONDITION|CONNECT|CONNECTION|CONSTRAINT|CONSTRAINTS|CONSTRUCTOR|CONT|CONTAINS|CONTAINSTABLE|CONTINUE|CONVERT|CORR|CORRESPONDING|COUNT|COVAR|CREATE|CROSS|CUBE|CUME|CURRENT|CURSOR|CYCLE|DATA|DATABASE|DATE|DAY|DBCC|DEALLOCATE|DEC|DECIMAL|DECLARE|DEFAULT|DEFERRABLE|DEFERRED|DELETE|DENY|DEPTH|DEREF|DESC|DESCRIBE|DESCRIPTOR|DESTROY|DESTRUCTOR|DETERMINISTIC|DIAGNOSTICS|DICTIONARY|DISC|DISCONNECT|DISK|DIST|DISTINCT|DISTRIBUTED|DOMAIN|DOUBLE|DROP|DUMP|DYNAMIC|EACH|ELEMENT|ELSE|END|EQUALS|ERRLVL|ESCAPE|EVERY|EXCEPT|EXCEPTION|EXEC|EXECUTE|EXISTS|EXIT|EXTERNAL|EXTRACT|FALSE|FETCH|FILE|FILLFACTOR|FILTER|FIRST|FLOAT|FOR|FOREIGN|FORTRAN|FOUND|FREE|FREETEXT|FREETEXTTABLE|FROM|FULL|FULLTEXTTABLE|FUNCTION|FUSION|GENERAL|GET|GLOBAL|GO|GOTO|GRANT|GROUP|GROUPING|HAVING|HOLD|HOLDLOCK|HOST|HOUR|IDENTITY|IDENTITYCOL|IF|IGNORE|IMMEDIATE|IN|INCLUDE|INDEX|INDICATOR|INITIALIZE|INITIALLY|INNER|INOUT|INPUT|INSENSITIVE|INSERT|INT|INTEGER|INTERCEPT|INTERSECT|INTERSECTION|INTERVAL|INTO|IS|ISOLATION|ITERATE|JOIN|KEY|KILL|LABEL|LANGUAGE|LARGE|LAST|LATERAL|LEADING|LEFT|LENGTH|LESS|LEVEL|LIKE|LIMIT|LINENO|LN|LOAD|LOCAL|LOCALTIME|LOCALTIMESTAMP|LOCATOR|LOWER|MAP|MATCH|MAX|MEMBER|MERGE|METHOD|MIN|MINUTE|MOD|MODIFIES|MODIFY|MODULE|MONTH|MULTISET|NAMES|NATIONAL|NATURAL|NCHAR|NCLOB|NEW|NEXT|NO|NOCHECK|NONCLUSTERED|NONE|NORMALIZE|NOT|NULL|NULLIF|NUMERIC|OBJECT|OCCURRENCES|OCTET|OF|OFF|OFFSETS|OLD|ON|ONLY|OPEN|OPENDATASOURCE|OPENQUERY|OPENROWSET|OPENXML|OPERATION|OPTION|OR|ORDER|ORDINALITY|OUT|OUTER|OUTPUT|OVER|OVERLAPS|OVERLAY|PAD|PARAMETER|PARAMETERS|PARTIAL|PARTITION|PASCAL|PATH|PERCENT|PERCENTILE|PIVOT|PLAN|POP|POSITION|POSTFIX|PRECISION|PREFIX|PREORDER|PREPARE|PRESERVE|PRIMARY|PRINT|PRIOR|PRIVILEGES|PROC|PROCEDURE|PUBLIC|RAISERROR|RANGE|RANK|READ|READS|READTEXT|REAL|RECONFIGURE|RECURSIVE|REF|REFERENCES|REFERENCING|REGEX|REGR|RELATIVE|RELEASE|REPLICATION|RESTORE|RESTRICT|RESULT|RETURN|RETURNS|REVERT|REVOKE|RIGHT|ROLE|ROLLBACK|ROLLUP|ROUTINE|ROW|ROWCOUNT|ROWGUIDCOL|ROWS|RULE|SAMP|SAVE|SAVEPOINT|SCHEMA|SCOPE|SCROLL|SEARCH|SECOND|SECTION|SECURITYAUDIT|SELECT|SEMANTICKEYPHRASETABLE|SEMANTICSIMILARITYDETAILSTABLE|SEMANTICSIMILARITYTABLE|SENSITIVE|SEQUENCE|SESSION|SET|SETS|SETUSER|SHUTDOWN|SIMILAR|SIZE|SLOPE|SMALLINT|SOME|SPACE|SPECIFIC|SPECIFICTYPE|SQL|SQLCA|SQLCODE|SQLERROR|SQLEXCEPTION|SQLSTATE|SQLWARNING|START|STATE|STATEMENT|STATIC|STATISTICS|STDDEV|STRUCTURE|SUBMULTISET|SUBSTRING|SUM|SXX|SXY|SYMMETRIC|SYSTEM|SYY|TABLE|TABLESAMPLE|TEMPORARY|TERMINATE|TEXTSIZE|THAN|THEN|TIME|TIMESTAMP|TIMEZONE|TO|TOP|TRAILING|TRAN|TRANSACTION|TRANSFORM|TRANSLATE|TRANSLATION|TREAT|TRIGGER|TRIM|TRUE|TRUNCATE|TRY|TSEQUAL|TYPE|UESCAPE|UNDER|UNION|UNIQUE|UNKNOWN|UNNEST|UNPIVOT|UPDATE|UPDATETEXT|UPPER|USAGE|USE|USER|USING|VALUE|VALUES|VAR|VARCHAR|VARIABLE|VARYING|VIEW|WAITFOR|WHEN|WHENEVER|WHERE|WHILE|WIDTH|WINDOW|WITH|WITHIN|WITHOUT|WORK|WRITE|WRITETEXT|XMLAGG|XMLATTRIBUTES|XMLBINARY|XMLCAST|XMLCOMMENT|XMLCONCAT|XMLDOCUMENT|XMLELEMENT|XMLEXISTS|XMLFOREST|XMLITERATE|XMLNAMESPACES|XMLPARSE|XMLPI|XMLQUERY|XMLSERIALIZE|XMLTABLE|XMLTEXT|XMLVALIDATE|YEAR|ZONE

[*.{ps,ps1}]
# VSSPELL: Ignored PowerShell language-specific keywords
vsspell_section_id = 5C2EC7F983864DC695FE8B3A3A583864
vsspell_ignored_keywords_5C2EC7F983864DC695FE8B3A3A583864 = begin|break|catch|class|continue|data|define|do|dynamicparam|else|elseif|end|enum|exit|filter|finally|for|foreach|from|function|hidden|if|in|inlinescript|parallel|param|process|return|sequence|static|switch|throw|trap|try|until|using|var|while|workflow

[*.{py,pyw,r}]
# VSSPELL: Ignored Python language-specific keywords
vsspell_section_id = 79296B314146488F9277579FCF4C533B
vsspell_ignored_keywords_79296B314146488F9277579FCF4C533B = and|as|assert|async|await|break|class|continue|def|del|elif|else|except|false|finally|for|from|global|if|import|in|is|lambda|none|nonlocal|not|or|pass|raise|return|true|try|while|with|yield

[*.{bas,c,cc,cpp,cs,cu,cuh,cxx,fs,h,hh,hpp,hxx,ii,ipp,inl,js,jsx,ps,ps1,py,r,rc,ts,tsx,vbs,xpp}]
# VSSPELL: Ignored common programming identifiers/prefixes/suffixes
vsspell_section_id = C448172CBC8E41ABA3F82B9B052F9E78
vsspell_ignored_keywords_C448172CBC8E41ABA3F82B9B052F9E78 = addr|alloc|asm|arg|args|attr|bn|btn|by|byte|cb|cbl|cbo|cch|char|chk|cmd|cmds|cms|config|configs|cr|cref|csv|ctor|ctx|cur|curr|cx|decl|desc|dg|dgv|dl|dlg|dll|dn|ds|dtp|dtor|dw|dword|ep|eval|ex|exp|expr|flp|fn|fsw|func|grd|grp|guid|handle|hdc|hinstance|hkey|hmenu|hwnd|idx|il|int|lb|lbl|li|ll|lnk|long|lp|lparam|lpcb|lpcw|lpstr|lpsz|lptstr|lpvoid|lst|lv|max|mi|min|mnu|ms|nbr|ndx|nil|ns|nul|null|num|param|pb|pbstr|pbyte|pdword|pfn|phk|pg|pg|pnl|pos|ppbyte|ppdword|ppsz|ppqword|ppword|ppunk|pqword|prev|proc|psz|ptr|pv|pword|qword|rb|rb|rect|regex|rtb|sb|sc|sdk|short|si|src|str|sz|tab|tb|tchar|tm|tmr|ts|ts|tsb|tsc|tsc|tsl|tss|tstr|tt|tv|tv|txt|uc|ucb|udp|ui|ul|uli|url|urls|wb|wnd|wndproc|word|wparam|wpf|xaml|xpath

[*.{c,cc,cpp,cs,cu,cuh,cxx,h,hh,hpp,hxx,ii,ipp,inl,markdown,md,mdown,mdwn,mkd,mkdn,mmd,rmd,rst,rc,xpp}]
# VSSPELL: Ignored Doxygen-specific keywords
vsspell_section_id = FAEC2371F6C847FC8F04F026B92BA001
vsspell_ignored_keywords_FAEC2371F6C847FC8F04F026B92BA001 = \addindex|\addtogroup|\anchor|\arg|\attention|\author|\authors|\brief|\bug|callergraph|callgraph|category|cite|class|code|concept|cond|copybrief|copydetails|copydoc|copyright|date|def|defgroup|deprecated|details|diafile|dir|docbookinclude|docbookonly|dontinclude|dot|dotfile|else|elseif|em|emoji|endcode|endcond|enddocbookonly|enddot|endhtmlonly|endif|endinternal|endlatexonly|endlink|endmanonly|endmsc|endparblock|endrtfonly|endsecreflist|enduml|endverbatim|endxmlonly|enum|example|exception|extends|\file|\fileinfo|\fn|headerfile|hidecallergraph|hidecallgraph|hideinitializer|hiderefby|hiderefs|htmlinclude|htmlonly|idlexcept|if|ifnot|image|implements|include|includedoc|includelineno|ingroup|interface|internal|invariant|latexinclude|latexonly|li|line|lineinfo|link|mainpage|maninclude|manonly|memberof|msc|mscfile|\name|\namespace|\noop|\nosubgrouping|\note|overload|package|page|par|paragraph|param|parblock|post|pre|private|privatesection|property|protected|protectedsection|protocol|public|publicsection|pure|qualifier|\raisewarning|\ref|\refitem|\related|\relatedalso|\relates|\relatesalso|\remark|\remarks|\result|\return|\returns|\retval|\rtfinclude|\rtfonly|sa|secreflist|section|see|short|showdate|showinitializer|showrefby|showrefs|since|skip|skipline|snippet|snippetdoc|snippetlineno|startuml|static|struct|subpage|subsection|subsubsection|\tableofcontents|\test|\throw|\throws|\todo|\tparam|\typedef|union|until|\var|\verbatim|\verbinclude|\version|\vhdlflow|warning|weakgroup|xmlinclude|xmlonly|xrefitem
EWSoftware commented 9 months ago

Currently, there's only support for C#. I need to do a separate code analyzer for VB but haven't yet.