大家好,我是陆砚码。今天我们来聊聊Visual Studio中常见的CA1704错误,也就是标识符拼写不正确的问题。
首先,CA1704错误是因为标识符的名称中包含了一个或多个拼写检查器库不能识别的单词。这个规则主要针对的是类型名,不过它不会检查构造函数或具有特殊名称的成员,比如get和set属性访问器。
规则说明
这个规则会将标识符解析为标记,并检查每个标记的拼写。解析算法会执行以下转换:
- 一个新标记以大写字母开头。例如,MyNameIsJoe 被解析为 “My”、“Name”、“Is” 和 “Joe” 标记。
- 对于多个大写字母,最后一个大写字母开始一个新标记。例如,GUIEditor 被解析为 “GUI” 和 “Editor” 标记。
- 移除前导和尾随撇号。例如,“'sender'” 被解析为 “sender” 标记。
- 下划线表示一个标记的结尾,并被移除。例如,Hello_world 被解析为 “Hello” 和 “world” 标记。
- 嵌入的与号将被移除。例如,for&mat 被解析为 “format” 标记。
如何解决冲突
若要修复与此规则的冲突,请更正单词的拼写,或者将单词添加到名为 CustomDictionary.xml 的自定义字典中。这个字典可以放在工具的安装目录、项目目录或者用户配置文件下与该工具关联的目录 (%USERPROFILE%\Application Data\...) 中。
下面是自定义字典文件的结构示例:
<Dictionary>
<Words>
<Unrecognized>
<Word>cb</Word>
</Unrecognized>
<Recognized>
<Word>stylesheet</Word>
<Word>GotDotNet</Word>
</Recognized>
<Deprecated>
<Term PreferredAlternate=
