一个适用于代码和文档的基本拼写检查器。
这个拼写检查器的目标是帮助捕获常见的拼写错误,同时保持误报数量低。
加载 TypeScript、JavaScript、文本等文件。字典文件中不存在的单词将有波浪下划线。
要查看建议列表:
将光标放在单词上后,以下任何操作都应显示建议列表:
快速修复
编辑器操作命令:
⌘
+.
或 Cmd
+.
Ctrl
+.
打开 VS Code,按 F1
并输入 ext
,选择安装并输入 code-spell-checker
,按回车键并重新加载窗口以启用。
"cSpell.language": "en"
改为 "cSpell.language": "en-GB"
启用要启用或禁用某个文件类型的拼写检查:
概念很简单,在检查驼峰命名的单词之前,先将其拆分。
I
与 Input
相关联,而不是与 HTML
相关联有一些特殊情况可以帮助处理全大写单词的常见拼写实践。
尾部的 s
、ing
、ies
、es
、ed
与前一个单词保持在一起。
s
ed
cSpell:enable
spell-checker: enable
spellchecker: enable
<!--- cSpell:enable -->// cSpell:disable const wackyWord = ['zaallano', 'wooorrdd', 'zzooommmmmmmm']; /* cSpell:enable */ // 不支持嵌套的禁用/启用 // spell-checker:disable // 现在已禁用。 var liep = 1; /* cspell:disable */ // 仍然处于禁用状态 // cSpell:enable // 现在已启用 const str = 'goededag'; // <- 将被标记为错误。 // spell-checker:enable <- 不起作用 // cSPELL:DISABLE <-- 同样有效。 // 如果没有 enable,拼写检查将在文件末尾之前一直保持禁用状态。 const str = 'goedemorgen'; // <- 不会被标记为错误。
<!--- cSpell:disable ---> 此文本不会被检查。 <!--- cSpell:enable ---> 此文本会被检查。
忽略允许您指定文档中要忽略的单词列表。
// cSpell:ignore zaallano, wooorrdd // cSpell:ignore zzooommmmmmmm const wackyWord = ['zaallano', 'wooorrdd', 'zzooommmmmmmm'];
**注意:**用 ignore
定义的单词将在整个文件中被忽略。
单词列表允许您添加被视为正确并将用作建议的单词。
// cSpell:words woorxs sweeetbeat const companyName = 'woorxs sweeetbeat';
**注意:**用 words
定义的单词将在整个文件中使用。
在某些编程语言中,将单词粘合在一起是很常见的。
// cSpell:enableCompoundWords char * errormessage; // 使用 cSpell:enableCompoundWords 后是可以的 int errornumber; // 也是可以的。
**注意:**复合词检查无法在同一文件中开启/关闭。 文件中的最后一个设置决定了整个文件的值。
默认情况下,整个文档都会进行拼写检查。
上面的 cSpell:disable
/cSpell:enable
允许您屏蔽文档的某些部分。
ignoreRegExp
和 includeRegExp
让您能够忽略或包含文本模式。
如果没有给出标志,默认会添加 gim
标志。
拼写检查器按以下方式工作:
includeRegExp
的文本excludeRegExp
的文本// cSpell:ignoreRegExp 0x[0-9a-f]+ -- 将忽略 C 风格的十六进制数 // cSpell:ignoreRegExp /0x[0-9A-F]+/g -- 将忽略大写的 C 风格十六进制数。 // cSpell:ignoreRegExp g{5} h{5} -- 只会匹配 ggggg,但不会匹配 hhhhh 或 'ggggg hhhhh' // cSpell:ignoreRegExp g{5}|h{5} -- 会匹配 ggggg 和 hhhhh // cSpell:ignoreRegExp /g{5} h{5}/ -- 会匹配 'ggggg hhhhh' /* cSpell:ignoreRegExp /n{5}/ -- 由于结束注释的原因,不会按预期工作 -> */ /* cSpell:ignoreRegExp /q{5}/ -- 会正常匹配 qqqqq,但不会匹配 QQQQQ */ // cSpell:ignoreRegExp /[^\s]{40,}/ -- 将忽略没有空格的长字符串。 // cSpell:ignoreRegExp Email -- 这将忽略类似电子邮件的模式 -- 参见预定义的正则表达式 var encodedImage = 'HR+cPzr7XGAOJNurPL0G8I2kU0UhKcqFssoKvFTR7z0T3VJfK37vS025uKroHfJ9nA6WWbHZ/ASn...'; var email1 = 'emailaddress@myfancynewcompany.com'; var email2 = '<emailaddress@myfancynewcompany.com>';
**注意:**ignoreRegExp 和 includeRegExp 适用于整个文件。它们不会启动和停止。
通常你不需要使用 includeRegExp
。但如果你在混合使用不同的语言,它可能会很有帮助。
# cSpell:includeRegExp #.* # cSpell:includeRegExp /(["]{3}|[']{3})[^\1]*?\1/g # 只有注释和块字符串会被检查拼写。 def sum_it(self, seq): """这会被检查拼写""" variabele = 0 alinea = '这不会被检查' for num in seq: # 'value' 的本地状态会在迭代之间保留 variabele += num yield variabele
Urls
<sup>1</sup> -- 匹配 URLHexValues
-- 匹配常见的十六进制格式,如 #aaa
、0xfeef
、\u0134
EscapeCharacters
<sup>1</sup> -- 匹配特殊字符:\n
、\t
等Base64
<sup>1</sup> -- 匹配长度超过 40 个字符的 base64 文本块。Email
-- 匹配大多数电子邮件地址。Everything
<sup>1</sup> -- 默认情况下,我们匹配整个文档并移除排除项。string
-- 这匹配常见的字符串格式,如 '...'、"..." 和 `...`CStyleComment
-- 这些是 C 风格的注释 /* */ 和 //PhpHereDoc
-- 这匹配 PHPHereDoc 字符串。<sup>1.</sup> 这些模式是每个文件默认包含/排除列表的一部分。
拼写检查器配置可以通过 VS Code 首选项或 cspell.json
配置文件控制。
优先顺序:
cspell.json
.vscode/cspell.json
cSpell
部分。你可以选择将自己的单词添加到工作区字典中。最简单的方法是将光标放在你想要添加的单词上,当灯泡出现时,按 Ctrl+.
(Windows)/ Cmd+.
(Mac)。你会看到建议列表和添加单词的选项。
你也可以输入想要添加到字典的单词:F1
add word
-- 选择 Add Word to Dictionary
并输入你想添加的单词。
添加到字典的单词会被放置在 工作区 文件夹的 cspell.json
文件中。
注意,cspell.json
中的设置会覆盖 VS Code 的 settings.json
中的等效 cSpell 设置。
// cSpell 设置 { // 设置文件的版本。始终为 0.2 "version": "0.2", // language - 当前活动的拼写语言 "language": "en", // words - 始终被视为正确的单词列表 "words": [ "mkdirp", "tsmerge", "githubusercontent", "streetsidesoftware", "vsmarketplacebadge", "visualstudio" ], // flagWords - 始终被视为不正确的单词列表 // 这对于侮辱性词语和常见的拼写错误很有用。 // 例如 "hte" 应该是 "the" "flagWords": [ "hte" ] }
//-------- Code Spell Checker 配置 -------- // 拼写检查时使用的语言区域。默认支持 "en"、"en-US" 和 "en-GB"。 "cSpell.language": "en", // 控制每个文档的最大拼写错误数。 "cSpell.maxNumberOfProblems": 100, // 控制显示的建议数量。 "cSpell.numSuggestions": 8, // 在与字典比对之前,单词的最小长度。 "cSpell.minWordLength": 4, // 指定要进行拼写检查的文件类型。 "cSpell.enabledLanguageIds": [ "csharp", "go", "javascript", "javascriptreact", "markdown", "php", "plaintext", "typescript", "typescriptreact", "yml", "sql" ], // 启用/禁用拼写检查器。 "cSpell.enabled": true, // 在状态栏上显示拼写检查器状态。 "cSpell.showStatus": true, // 为工作区添加到字典的单词。 "cSpell.words": [], // 启用/禁用复合词,如 'errormessage' "cSpell.allowCompoundWords": false, // 要忽略且不建议的单词。 "cSpell.ignoreWords": ["behaviour"], // 要添加到字典的用户单词。应该只在用户设置中。 "cSpell.userWords": [], // 指定要忽略的路径/文件。 "cSpell.ignorePaths": [ "node_modules", // 这将忽略 node_modules 目录中的任何内容 "**/node_modules", // 与上面相同 "**/node_modules/**", // 与上面相同 "node_modules/**", // 由于当前工作目录的确定方式,目前不起作用。 "vscode-extension", // ".git", // 忽略 .git 目录 "*.dll", // 忽略所有 .dll 文件。 "**/*.dll" // 忽略所有 .dll 文件 ], // flagWords - 始终被视为不正确的单词列表 // 这对于侮辱性词语和常见的拼写错误很有用。 // 例如 "hte" 应该是 "the"` "cSpell.flagWords": ["hte"], // 设置文档拼写检查的延迟时间。默认为 50。 "cSpell.spellCheckDelayMs": 50, // 设置诊断报告级别 // Error - 将拼写问题报告为错误 // Warning - 将拼写问题报告为警告 // Information - 将拼写问题报告为信息(默认) // Hint - 将拼写问题报告为提示,不会在问题面板中显示 "cSpell.diagnosticLevel": "Information",
拼写检查器包含一组默认字典。
根据编程语言,将加载不同的字典。
以下是一些默认规则:
"*"
匹配任何编程语言/文件类型。"locale"
用于根据 "cSpell.language"
设置进行过滤。{ "cSpell.languageSettings": [ { "languageId": '*', "locale": 'en', "dictionaries": ['wordsEn'] }, { "languageId": '*', "locale": 'en-US', "dictionaries": ['wordsEn'] }, { "languageId": '*', "locale": 'en-GB', "dictionaries": ['wordsEnGb'] }, { "languageId": '*', "dictionaries": ['companies', 'softwareTerms', 'misc'] }, { "languageId": "python", "dictionaries": ["python"]}, { "languageId": "go", "dictionaries /** * @title 字典文本文件路径 * 定义字典文本文件的路径。 * * * **注意:** 如果路径是 `undefined`,则期望在 `dictionaryDefinitions` 中找到 `name` 指定的字典。 * * * 文件格式: 文件中的每一行都被视为一个字典条目。 * 保留大小写,同时去除首尾空格。 * 路径应该是绝对路径,或相对于工作区的路径。 * * **示例:** 相对于用户文件夹 * * ``` * ~/dictionaries/custom_dictionary.txt * ``` * * **示例:** 在多根工作区中相对于 `client` 文件夹 * * ``` * ${workspaceFolder:client}/build/custom_dictionary.txt * ``` * * **示例:** 在单根工作区中相对于当前工作区文件夹 * * **注意:** 在多根工作区中可能不会如预期工作,因为它基于当前打开文件的相对工作区。 * * ``` * ${workspaceFolder}/build/custom_dictionary.txt * ``` * * **示例:** 在单根工作区或多根工作区的第一个文件夹中相对于工作区文件夹 * * ``` * ./build/custom_dictionary.txt * ``` */ path?: FsPath; /** * @title 向字典添加单词 * 指示是否应使用此自定义字典来存储添加的单词。 * @default true */ addWords?: boolean; /** * @title 字典范围 * 选项包括 * - `user` - 适用于所有项目和工作区的单词 * - `workspace` - 适用于整个工作区的单词 * - `folder` - 仅适用于工作区文件夹的单词 */ scope?: CustomDictionaryScope | CustomDictionaryScope[]; }
要添加全局字典,您需要更改用户设置。
在用户设置中,您需要告诉拼写检查器在哪里找到您的单词列表。
示例添加医学术语,以便可以找到像 acanthopterygious 这样的单词。
VS Code 设置
"cSpell.customDictionaries": { "myWords": { "name": "myWords", "path": "~/my-words.txt", "scope": "user", "addWords": true } }
解释: 在此示例中,我们告诉拼写检查器在哪里找到我们名为 myWords
的个人字典。
name
- 这是字典的名称,所有对该字典的引用都通过名称进行。path
- 这是字典文件的路径。由于它在用户设置中,我们必须使用绝对路径或使用 ~/
相对于用户目录的路径。scope
- (可选) 用于将字典"范围"限定为 user
、workspace
或 folder
。范围用于帮助传达字典的预期用途。addWords
- (可选) 默认值 - true
- 用于显示/隐藏字典作为添加单词的可能目标。cspell.json
的项目 / 工作区字典要在项目级别添加字典,应在 cspell.json
文件中定义,以便可以与 cspell
命令行工具一起使用。
此文件可以位于项目根目录或 .vscode 目录中。
示例添加医学术语,其中术语被签入项目,我们只想将其用于 .md 文件。
{ "dictionaryDefinitions": [ { "name": "medicalTerms", "path": "./dictionaries/medicalterms-en.txt"}, { "name": "cities", "path": "./dictionaries/cities.txt"} ], "dictionaries": [ "cities" ], "languageSettings": [ { "languageId": "markdown", "dictionaries": ["medicalTerms"] }, { "languageId": "plaintext", "dictionaries": ["medicalTerms"] } ] }
解释: 在此示例中,定义了两个字典:cities 和 medicalTerms。 路径相对于 cSpell.json 文件的位置。这允许将字典签入项目。
cities 字典用于每种文件类型,因为它被添加到 dictionaries 列表中。 medicalTerms 字典仅在编辑 markdown 或 plaintext 文件时使用。
DictionaryDefinition
interface DictionaryDefinition { /** * 这是字典的名称。 * * 名称格式: * - 必须包含至少 1 个数字或字母。 * - 允许使用空格。 * - 将删除前导和尾随空格。 * - 名称区分大小写。 * - 不得包含 `*`, `!`, `;`, `,`, `{`, `}`, `[`, `]`, `~`。 */ name: DictionaryId; /** 可选描述。 */ description?: string; /** 自定义字典文本文件的路径。 */ path: CustomDictionaryPath; /** * 定义将单词添加到字典时的范围。 * 范围值: `user`, `workspace`, `folder`。 */ scope?: CustomDictionaryScope | CustomDictionaryScope[]; /** * 当为 `true` 时,让拼写检查器知道可以将单词添加到此字典。 */ addWords: boolean; }
VS Code 设置
"cSpell.customDictionaries": { "project-words": { "name": "project-words", "path": "${workspaceRoot}/project-words.txt", "description": "Words used in this project", "addWords": true }, "medicalTerms": { "name": "medicalTerms", "path": "/Users/guest/projects/cSpell-WordLists/dictionaries/medicalterms-en.txt", "addWords": false // 不向此字典添加单词 }, "companyTerms": { "name": "companyTerms", "path": "${workspaceFolder}/../company/terms.txt" // "addWords": true -- 隐含 }, "custom": true, // 启用 `custom` 字典 "internal-terms": false // 禁用 `internal-terms` 字典 }
参见: 常见问题
<br/>AI数字人视频创作平台
Keevx 一款开箱即用的AI数字人视频创作平台,广泛适用于电商广告、企业培训与社媒宣传,让全球企业与个人创作者无需拍摄剪辑,就能快速生成多语言、高质量的专业视频。
一站式AI创作平台
提供 AI 驱动的图片、视频生成及数字人等功能,助力创意创作
AI办公助手,复杂任务高效处理
AI办公助手,复杂任务高效处理。办公效率低?扣子空间AI助手支持播客生成、PPT制作、网页开发及报告写作,覆盖科研、商业、舆情等领域的专家Agent 7x24小时响应,生活工作无缝切换,提升50%效率!
AI辅助编程,代码自动修复
Trae是一种自适应的集成开发环境(IDE),通过自动化和多元协作改变开发流程。利用Trae,团队能够更快速、精确地编写和部署代码,从而提高编程效率和项目交付速度。Trae具备上下文感知和代码自动完成功能,是提升开发效率的理想工具。
AI小说写作助手 ,一站式润色、改写、扩写
蛙蛙写作—国内先进的AI写作平台,涵盖小说、学术、社交媒体等多场景。提供续写、改写、润色等功能,助力创作者高效优化写作流程。界面简洁,功能全面,适合各类写作者提升内容品质和工作效率。
全能AI智能助手,随时解答生活与工作的多样问题
问小白,由元石科技研发的AI智能助手,快速准确地解答各种生活和工作问题,包括但不限于搜索、规划和社交互动,帮助用户在日常生活中提高效率,轻松管理个人事务。
实时 语音翻译/同声传译工具
Transly是一个多场景的AI大语言模型驱动的同声传译、专业翻译助手,它拥有超精准的音频识别翻译能力,几乎零延迟的使用体验和支持多国语言可以让你带它走遍全球,无论你是留学生、商务人士、韩剧美剧爱好者,还是出国游玩、多国会议、跨国追星等等,都可以满足你所有需要同传的场景需求,线上线下通用,扫除语言障碍,让全世界的语言交流不再有国界。
一键生成PPT和Word,让学习生活更轻松
讯飞智文是一个利用 AI 技术的项目,能够帮助用户生成 PPT 以及各类文档。无论是商业领域的市场分析报告、年度目标制定,还是学生群体的职业生涯规划、实习避坑指南,亦或是活动策划、旅游攻略等内容,它都能提供支持,帮助用户精准表达,轻松呈现各种信息。
深度推理能力全新升级,全面对标OpenAI o1
科大讯飞的星火大模型,支持语言理解、知识问答和文本创作等多功能,适用于多种文件和业务场景,提升办公和日常生活的效率。讯飞星火是一个提供丰富智能服务的平台,涵盖科技资讯、图像创作、写作辅助、编程解答、科研文献解读等功能,能为不同需求的用户提供便捷高效的帮助,助力用户轻松获取信息、解决问题,满足多样化使用场景。
一种基于大语言模型的高效单流解耦语音令牌文本到语音合成模型
Spark-TTS 是一个基于 PyTorch 的开源文本到语音合成项目,由多个知名机构联合参与。该项目提供了高效的 LLM(大语言模型)驱动的语音合成方案,支持语音克隆和语音创建功能,可通过命令行界面(CLI)和 Web UI 两种方式使用。用户可以根据需求调整语音的性别、音高、速度等参数,生成高质量的语音。该项目适用于多种场景,如有声读物制作、智能语音助手开发等。
最新AI工具、AI资讯
独家AI资源、AI项目落地
微信扫一扫关注公众号