在visual studio 2013中,特殊代码(方法,属性,字段......)的引用数量由代码镜头显示。 我想在visual studio中使用未使用的(零参考)代码。有没有办法得到它们?
答案 0 :(得分:135)
实现您所需要的最好和最简单的方法可能是使用Visual Studio内置代码分析工具来查找并直接转到死代码和未使用的成员。
为此,我只创建了一个新的代码分析规则集文件(通过文件 - >新建>文件,确保左侧窗格中的常规是选择并向下滚动以查找代码分析规则集,为其指定文件名,然后搜索并选择以下规则)。请参阅下面的规则集文件的内容,您可以简单地将其复制并粘贴到一个扩展名为.ruleset的新文件中使用。
给定规则集文件,可以在解决方案资源管理器面板中右键单击项目文件,然后选择属性。在项目属性窗口中,单击左侧面板中的代码分析选项卡,然后单击打开以浏览到.ruleset文件的位置。如果转到解决方案文件的属性(而不是项目文件),则可以在一个位置为解决方案中的每个项目设置代码分析文件(在代码分析设置下,并使用选择规则集文件的下拉列表。注意:您必须先前已浏览到规则集文件,以便它显示在此属性窗口的下拉列表中。但是)。
然后,您只需在项目/解决方案上运行代码分析(通过 Analyze->在解决方案上运行代码分析 -OR- Alt + F11 ),它将会回来作为警告,任何未引用的方法或它找到的未使用的成员。它甚至可以找到方法引用的方法,这些方法本身在其他地方没有引用。
但要小心,因为死代码的代码分析方法之一可能导致你错误,如果引用是隐藏的'只通过委托调用方法,当然还有反射。
检测死代码的规则具体如下:
以下是.ruleset文件的内容,可以按照上述步骤操作,以获得您的节制。您只需复制以下XML,将其粘贴到记事本++中,使用扩展名 .ruleset 保存,浏览并按上述说明使用:
<?xml version="1.0" encoding="utf-8"?>
<RuleSet Name="Dead Code Rules" Description=" " ToolsVersion="12.0">
<Rules AnalyzerId="Microsoft.Analyzers.ManagedCodeAnalysis" RuleNamespace="Microsoft.Rules.Managed">
<Rule Id="CA1801" Action="Warning" />
<Rule Id="CA1804" Action="Warning" />
<Rule Id="CA1811" Action="Warning" />
<Rule Id="CA1812" Action="Warning" />
<Rule Id="CA1823" Action="Warning" />
</Rules>
<Rules AnalyzerId="Microsoft.Analyzers.NativeCodeAnalysis" RuleNamespace="Microsoft.Rules.Native">
<Rule Id="C6259" Action="Warning" />
</Rules>
</RuleSet>
希望这有助于您,并且不要忘记选择最佳答案。
答案 1 :(得分:5)
我将遍历每个文件,使用Ctrl-M-O命令折叠所有内容,然后四处滚动以查找参考0。
答案 2 :(得分:2)
这是一种手动方法,可以用来找到未标记为公共的未使用类。
注意:如果您不遵循每个文件一个类的规则,这将需要做更多的工作。另外,您需要验证所有外部项目没有使用任何API服务终结点。
答案 3 :(得分:0)
https://scottlilly.com/c-code-quality-improvement/remove-unused-classes-properties-and-functions/
”不幸的是,[在Visual Studio Analysis中]您只能检测未使用的 私人成员。这是因为代码分析器假定为公共 成员可能会被其他程序使用。如果您是 通过网络服务将其发布为API或发布您的代码 作为图书馆。 ... ReSharper具有类似的代码分析功能– 检查未使用的公共成员的优势。”
答案 4 :(得分:0)
在Visual Studio中|错误列表选项卡|消息标签: 消息IDE0051私有成员'xxxxxxxx'未使用。