写在前面:
Visual Studio17.5版本已添加拼写检查器功能,Visual Studio 中的许多功能旨在帮助你编写所需的代码。Visual Studio帮助你确保代码的编译,甚至可以帮助代码样式。现在它甚至可以确保您的拼写准确。Visual Studio 17.5 preview 3 引入了 C#、C++ 和 Markdown 文件的拼写检查器的第一个预览版。
Visual Studio 拼写检查器
开始
使用任何 C#、C++ 或 Markdown 文件时,将自动打开该功能。现在,当您使用拼写检查器支持的任何文档时,Visual Studio 会将检测到拼写错误的单词的任何单词标记为拼写错误的单词。Visual Studio 还将建议替代拼写,并帮助更正它们,甚至在这些拼写错误是标识符时执行上下文重命名,因此您的代码仍将编译。可以通过取消选中“管理预览功能”下的“文本拼写检查器”功能来禁用拼写检查器。还可以使用“编辑>高级>切换文本拼写检查器”命令从菜单中启用或禁用拼写检查器,也可以从 Visual Studio 中主工具栏上的按钮启用或禁用拼写检查器。
你如何使用它?
当插入符号出现拼写错误时,快速操作会提供修复拼写错误的解决方案。您可以使用“Ctrl+.”或“Alt+Enter”调出快速操作。当上下文菜单出现时,Visual Studio 提供了三个选项来处理拼写问题。
如果任何词典提供拼写建议,Visual Studio 将提供这些建议。如果多个词典提供建议,则建议将按字典分组。对于字符串和注释,选择其中一个建议将执行单个就地替换。对于 C++ 或 C# 文档中的标识符,接受建议将执行重构/重命名,更新标识符的所有实例以确保代码编译。
使用多个词典时的建议
你也可以选择忽略拼写问题。通过选择忽略该问题,Visual Studio 将在本地计算机上的 AppData 目录中创建一个 exclusion.dic 文件。一旦一个单词被忽略,它将在Visual Studio的所有实例中被忽略。
它是如何工作的?
如果你对详细信息感兴趣,本节将详细介绍拼写检查器的工作原理。其中许多行为都可以自定义,我们将在下一节中介绍。由于 C#、C++ 和 Markdown 都使用英语作为其关键字的语言,Visual Studio 将始终使用“English (美国)”或“en-us”字典进行拼写检查。Visual Studio还会向Windows实例询问它正在使用的显示语言,如果它不是“en-us”,它也将使用该字典。
下图显示了拼写检查器在扫描代码文档时查看的一些启发式方法:
代码中的内容 | Visual Studio检查的内容 | 为什么? |
Hello | Hello,Hello | 始终检查专有名词和常用名词 |
Hello world | Hello, hello, World, world | 常见的中间大写字母用于标记单词边界 |
Hello.World | Hello, hello, World, world | 标点符号用作单词边界 |
_Hello123 | Hello, hello | 去除前导或尾随数字或标点符号 |
Hello2world | Hello, hello, World, world | 中间数字,如标点符号,用作单词边界 |
btnworld | World, world | 忽略 3 个字符或更少字符的片段 |
Hello world | Hello,world | 没有用于识别单词边界的指示器 |
否则,编译器会认为单词拼写错误,并将报错标记为拼写错误。这将在错误列表中以“消息”的严重性显示,并带有“SPELL”代码。
错误列表中的拼写错误
自定义拼写检查器
默认行为旨在让大家入门并帮助获得初始体验。一旦你准备好开始在协作环境中工作,拼写检查器就会提供可自定义性选项。
我选择 editorconfig 进行配置,以允许控制其存储库中的拼写检查器行为。通过配置 .editorconfig,用户可以建立他们期望遵循的编码标准,并保持通过其他方法难以实现的一致性
以下是你可以在编辑器配置中配置的开关:
- spelling_languages = _language_[,_language_]
- (Example: = en-us,fr-fr)
- 这列出了Visual Studio要使用的语言。在此示例中,Visual Studio 在检查拼写问题时仅使用 en-us 和 fr-fr 词典。请注意,fr-fr 语言包必须安装在用户的计算机上,否则 Visual Studio 将错误地将任何法语单词标记为拼写错误。
- spelling_checkable_types = strings,identifiers,comments
- (Example: = identifiers,comments)
- 这控制Visual Studio应该检查的内容。在此示例中,Visual Studio 将检查标识符和注释中是否存在拼写错误的单词,但不会检查内部字符串。
- spelling_error_severity = error OR warning OR information OR hint
- (Example: = error)
- 这控制Visual Studio将分配给错误列表中的拼写错误的严重性。在此示例中,拼写错误将显示为错误。
- spelling_exclusion_path = absolute OR relative path to exclusion dictionary.
- (Example: = .\exclusion.dic)
- 这允许您创建自己的排除词典,以指定您认为拼写正确的单词。在此示例中,首次针对解决方案中的任何文件运行拼写检查器时,Visual Studio 将检查与.sln文件位于同一目录(对于 C# 项目)或根目录(对于C++目录)中的 exclusion.dic 文件。如果不存在文件,拼写检查器将创建一个。然后,每当用户选择忽略某个单词时,它都会被添加到此 exclusion.dic 文件中。Visual Studio会将此exclusion.dic文件中显示的任何单词视为拼写正确的单词。请注意,exclusion.dic 文件必须是带有 BOM 编码的 UTF16 文件才能正常工作。
你觉得怎么样?
如果可以,请在评论区说出你的看法。