13

评论的拼写检查已添加到 StyleCop 的最新版本中。看来我可以用 StyleCop 重用我现有的 CustomDictionary 文件(我为 FxCop 创建的)。SA1650 规则文档并没有说这是可能的。但在4.7.39 版的发行说明中,我看到了

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

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

4

4 回答 4

7

就我而言,当我在 .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 设置”菜单项。

于 2013-06-26T11:06:31.663 回答
6

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

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

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

于 2013-05-31T02:37:01.297 回答
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 的副本放在该特定位置而不是解决方案文件夹的根目录中。

于 2012-10-30T11:32:43.350 回答
0

一个类似的问题已经在这里http://stylecop.codeplex.com/workitem/7422被问过,这里有一张公开的票http://stylecop.codeplex.com/workitem/7435我相信它会提供你正在寻找的东西因为如果它完成了。

于 2012-11-07T03:38:27.480 回答