【问题标题】:Automatically remove unused code with Resharper使用 Resharper 自动删除未使用的代码
【发布时间】:2014-07-20 05:40:16
【问题描述】:

我单击“查找代码问题”,然后 Resharper 向我显示了未使用的类和方法的列表。但我找不到如何自动删除它们。未使用的类和方法列表包含数千行,因此单击每一行并手动删除方法是不真实的。如何自动完成?

我尝试使用“代码清理”,但它不会删除未使用的类和方法

Resharper 的版本:JetBrains ReSharper 8.2.1 Full Edition Build 8.2.1000.4556 于 2014-05-19T09:12:38

【问题讨论】:

  • 您使用的是哪个版本的 R#?
  • 我今天下载的最新版本。 JetBrains ReSharper 8.2.1 完整版 Build 8.2.1000.4556 于 2014-05-19T09:12:38
  • 我不确定是否修复了所有代码问题,但您可以查看“代码清理”:jetbrains.com/resharper/features/code_formatting.html
  • 您是否选中了“删除代码冗余”框?如果你有,恐怕我不知道还有其他选择。
  • 我最好的猜测是它不是内置选项,因为它可能会产生误报,并且在运行代码清理时,会删除许多可能使用和有价值的代码。

标签: c# visual-studio visual-studio-2013 resharper


【解决方案1】:

很遗憾,Resharper 不提供此功能,因为它可能不安全。

要部分自动删除,您可以尝试安装AutoHotkey。该程序将允许您自动输入热键,从而“自动”执行重复的 Resharper 任务,例如删除代码问题检测到的未使用代码。

以下脚本会自动转到下一个代码问题并尝试“安全删除”。如果这花费的时间太长,它会使用 {Escape} 取消它,因为这通常意味着 Resharper 发现了冲突或用法。

#d::
    Loop {
        Send !{Del}
        Sleep, 500
        Send {Enter}
        Sleep, 1000
        Send {Escape}
        Sleep, 500
        Send {F8}
        Sleep, 500
    }
Return

要使用此脚本,请单击 Type Or Member is Never Used 类别下的第一项,然后点击 Win-D 热键。然后脚本将循环遍历所有问题,删除没有冲突的方法。要中断循环,请在 Visual Studio 之外选择并重新加载脚本。

如果您删除 Loop & {Escape},那么您可以将其用作删除并移至下一个问题的单个快捷方式。

【讨论】:

    猜你喜欢
    • 2015-08-14
    • 1970-01-01
    • 2019-05-13
    • 1970-01-01
    • 2012-08-22
    • 2016-05-10
    • 1970-01-01
    • 1970-01-01
    • 2011-10-26
    相关资源
    最近更新 更多