评论的拼写检查已添加到 StyleCop 的最新版本中。看来我可以用 StyleCop 重用我现有的 CustomDictionary 文件(我为 FxCop 创建的)。SA1650 规则文档并没有说这是可能的。但在4.7.39 版的发行说明中,我看到了
添加对在 settings.StyleCop 文件中指定字典文件夹的支持。
如何配置 StyleCop 以在我的解决方案的根文件夹中搜索此文件?
就我而言,当我在 .csproj 文件旁边的 Settings.StyleCop 文件中指定自定义字典条目时,它起作用了。
<GlobalSettings>
<StringProperty Name="MergeSettingsFiles">NoMerge</StringProperty>
<CollectionProperty Name="RecognizedWords">
<Value>word1</Value>
<Value>word2</Value>
...
</CollectionProperty>
</GlobalSettings>
实际上,StyleCopSettingsEditor.exe 实用程序为我创建了这些设置。我使用 Visual Studio 中项目的上下文菜单打开它,使用“StyleCop 设置”菜单项。
Settings.StyleCop
在解决方案根目录中添加一个名为的文件,其内容如下:
<StyleCopSettings Version="105">
<GlobalSettings>
<CollectionProperty Name="DictionaryFolders">
<Value>**my-dictionary-folder**</Value>
</CollectionProperty>
</GlobalSettings>
</StyleCopSettings>
替换my-dictionary-folder
为包含 CustomDictionary.xml 文件的文件夹的相对路径。
CustomDictionary.xml 文件应与 StyleCop.dll 和规则放在同一文件夹中。检查该文件夹(和所有子文件夹)的字典文件。StyleCop 加载 CustomDictionary.xml、CustomDictionary.en-GB.xml,然后是 CustomDictionary.en.xml(其中 en-GB 是 Settings.StyleCop 文件中指定的区域性)。StyleCop 还加载 custom.dic、custom.en-GB.dic 和 custom.en.dic(其中 en-GB 是 Settings.StyleCop 文件中指定的区域性)。还可以使用拼写选项卡上的设置编辑器将识别的单词添加到 Settings.StyleCop 文件中。
因此,您似乎必须将 CustomDictionary.xml 的副本放在该特定位置而不是解决方案文件夹的根目录中。
一个类似的问题已经在这里http://stylecop.codeplex.com/workitem/7422被问过,这里有一张公开的票http://stylecop.codeplex.com/workitem/7435我相信它会提供你正在寻找的东西因为如果它完成了。