为StyleCop拼写检查指定CustomDictionary文件的路径

时间:2012-10-01 23:44:49

标签: c# .net spell-checking stylecop

评论的拼写检查已添加到最新版本的StyleCop中。我似乎可以使用StyleCop重用我现有的CustomDictionary文件(我为FxCop创建)。 SA1650规则documentation并未说明有可能。但是在版本4.7.39的release notes中,我看到了

  

添加对在settings.StyleCop中指定字典文件夹的支持   文件。

如何配置StyleCop以在我的解决方案的根文件夹中搜索此文件?

3 个答案:

答案 0 :(得分:7)

在我的情况下,当我在.csproj文件旁边的Settings.StyleCop文件中指定自定义词典条目时,它工作正常。

<GlobalSettings>
  <StringProperty Name="MergeSettingsFiles">NoMerge</StringProperty>
  <CollectionProperty Name="RecognizedWords">
    <Value>word1</Value>
    <Value>word2</Value>
    ...
  </CollectionProperty>
</GlobalSettings>

实际上,StyleCopSettingsEditor.exe实用程序为我创建了这些设置。我使用“StyleCop设置”菜单项在Visual Studio中使用项目的上下文菜单打开它。

答案 1 :(得分:6)

在解决方案根目录中添加名为Settings.StyleCop的文件,其中包含以下内容:

<StyleCopSettings Version="105">
  <GlobalSettings>
    <CollectionProperty Name="DictionaryFolders">
      <Value>**my-dictionary-folder**</Value>
    </CollectionProperty>
  </GlobalSettings>
</StyleCopSettings>

my-dictionary-folder替换为包含CustomDictionary.xml文件的文件夹的相对路径。

答案 2 :(得分:0)

根据规则SA1650

的StyleCop文档
  

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的副本放在该特定位置而不是解决方案文件夹的根目录中。