在 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"><Policy Inspect="True" Prefix="_" Suffix="" Style="aaBb" /></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源码