【问题标题】:How to reformat naming styles with ReSharper?如何使用 ReSharper 重新格式化命名样式?
【发布时间】:2011-06-22 00:42:19
【问题描述】:

我有几页代码需要加强命名样式,例如使用 fooBar 而不是 FooBar 用于局部变量。出于明显的原因,我不想一一更正。

我试图修改可通过ReSharper > Tools > Cleanup Code > Edit Profiles 访问的代码清理配置文件。我无法找到一种方法来一次更正所有命名样式,甚至无法使用键盘快捷键。经验丰富的 ReSharper 用户能否建议我如何解决这个问题?

【问题讨论】:

    标签: visual-studio refactoring resharper


    【解决方案1】:

    我不相信 ReSharper 可以按照您的意愿进行批量重命名。更改 C# 命名样式肯定会突出显示(作为警告)那些需要更改的局部变量,但代码清理不会为您更正它们。

    有时重命名变量以匹配约定可能会导致一个符号与另一个已经存在的符号发生冲突;我想这就是 ReSharper 不允许批量重命名的原因。

    两个 ReSharper 快捷方式可以让这个过程变得非常快(假设您采用了 ReSharper 的 shortcut keys for Visual Studio):

    1. Alt + PgDn - 转到下一个突出显示(错误、警告或建议)。这将使您可以非常快速地从一个命名错误的变量转到下一个。
    2. Alt + Enter - 打开“快速修复”菜单并选择“重命名...”。这将重命名变量并更新所有引用。

    【讨论】:

    • 目前看来是不可能的。我认为您的观点是正确的,我的答案已被删除。
    • 我试图编写一个宏来仅泵 R# 来执行此操作,但是没有好的(非可怕的屏幕抓取 SendKeys)方法来检测它何时发现冲突,所以它总是只能工作直到第一次冲突。就个人而言,我已经让自己在像这样的批量工作上咬紧牙关。手动操作实际上会带您全面了解代码,这对于更好地了解您将遇到的其他问题(而不是命名)非常有用。
    【解决方案2】:

    从 R# 8 开始,可以选择修复范围内的问题。

    1. 转到出现此问题的任何地方
    2. 把光标放在上面
    3. 显示可能的修复 (CTRL+.)
    4. 选择第一个选项“重命名为 xxx”并选择“修复解决方案中的命名”

    More info

    【讨论】:

    • 非常感谢,这很有用
    • 这是我发现的唯一可以对变量名进行批量重构的方法。非常感谢您的省时提示。
    【解决方案3】:

    R# 有一个 SDK。也许您可以通过以下方式添加清理选项:

    http://confluence.jetbrains.com/display/NETCOM/2.07+Code+Cleanup+%28R8%29

    (我也在进行大规模的命名重构,但才刚刚开始考虑在他们的 API 中编写一些东西。不知道这是否可行,或者所涉及的工作量。)

    【讨论】:

      【解决方案4】:

      它包含在 resharper 2018 中,找到错误命名变量的出现,使用 resharper 上下文菜单修复解决方案中的所有出现。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2013-11-16
        • 1970-01-01
        • 1970-01-01
        • 2020-08-16
        • 2017-02-25
        • 2013-03-05
        • 2015-10-01
        相关资源
        最近更新 更多