在 InspectCode 中应用 Resharper 命名规则

Posted

技术标签:

【中文标题】在 InspectCode 中应用 Resharper 命名规则【英文标题】:Applying Resharper Naming Rules in InspectCode 【发布时间】:2016-07-02 04:31:06 【问题描述】:

我正在评估 Resharper。它们的默认命名规则与我们内部的规则不同,所以我更改了一些设置并将它们导出到 MySolution.sln.DotSettings 中。是的,我可以在那里看到它们,例如

<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/PredefinedNamingRules/=Parameters/@EntryIndexedValue">&lt;Policy Inspect="True" Prefix="_" Suffix="" Style="aaBb" /&gt;</s:String>

接下来,我在命令行上运行检查代码:

"C:\Program Files (x86)\JetBrains\CommandLineTools\InspectCode.exe" MySolution.sln /o=Resharper.Result.xml

当我在本地计算机上执行此操作时(安装了 Resharper Ultimate Test 版本),规则得到正确遵守并生成 44 kB 的结果文件。

当我在另一台机器上运行它时(仅安装了 CommandLineTools),命名规则被忽略,并生成一个 73 kB 的结果文件。

.DotSettings 文件的一些其他规则似乎适用,因为删除它后,会生成一个 86 kB 的结果文件。

使用 /no-swea 参数,文件减小到 23 kB(在我的机器上为 25 kB),应用了命名规则,但没有执行一些检查,例如“VirtualMemberNeverOverriden.Global”、“UnusedMember.Global”等,因此这不是一个合适的解决方案。

如何让 InspectCode 应用设置文件的所有规则?

编辑: 将这些规则复制到 %appdata%\JetBrains\Shared\vAny\GlobalSettingsStorage 也无济于事。

【问题讨论】:

【参考方案1】:

安装 Resharper Ultimate 也没有帮助。 只有在另一台机器上安装Visual Studio 2013(我的电脑上安装了VS2013,另一台电脑上已经存在许可证过期的VS2015社区版),并添加/toolset=12.0参数后,才能得到一致的结果。命令行现在是

"C:\Program Files (x86)\JetBrains\CommandLineTools\InspectCode.exe" /o=Resharper.Result.xml /toolset=12.0 MySolution.sln

【讨论】:

以上是关于在 InspectCode 中应用 Resharper 命名规则的主要内容,如果未能解决你的问题,请参考以下文章

检测内存泄漏

新系统配置

Android Studio的软件测试工具

如何使用android studio 查看android源码

你如何使用 Jasmine + Resharper 引用外部库

将 Resharper 忽略的错误置于版本控制之下