Ctrl+R,Ctrl+R命令无法使用

91

我正在尝试使用 Visual Studio 2008 中的 Ctrl+R, Ctrl+R 命令来重命名变量。但是我在底部收到一个错误消息,提示:

"键组合(Ctrl+R, Ctrl+R)绑定到的命令 (&Rename...) 目前不可用。"

我没有运行任何可能禁止文件修改的程序,F2 命令可以实现重命名。有人知道如何解决这个问题吗?

编辑:我安装了 Resharper,但之前在同样的设置下可以实现重命名,我最近更换了电脑。

18个回答

84
我通过以下步骤解决了这个问题:
  1. 进入 Resharper选项 菜单
  2. 选择 环境键盘快捷方式和菜单
  3. 键盘快捷方式 下选择 Visual Studio 选项
  4. 点击 应用方案保存
这将导致按下 Ctrl+R, Ctrl+R 执行重命名操作。(然后在弹出的对话框中选择 ReSharper 选项。)
但这将会使 F2 无法执行重命名操作。我通过以下步骤解决了这个问题:
  1. 进入 Resharper选项 菜单
  2. 选择 环境常规
  3. 还原 ReSharper 键盘快捷方式 下选择 ReSharper 2.x 或 IntelliJ IDEA 选项
  4. 点击 应用确定
这将使得 F2Ctrl+R, Ctrl+R 命令均可用于重命名变量。
这个问题似乎是特定于在 Visual Studio 中安装 ReSharper 所导致的,如果没有安装 ReSharper,则我不知道该如何解决。

ReSharper 选项 菜单


2
看起来我没有安装ReSharper,所以我仍在寻找解决这个问题的方法。 - Chucky
2
@Chucky,你可以通过进入“工具”->“选项”->“环境”->“键盘”,在“显示包含命令:”字段下查找“Refactor.Rename”,并将其设置为“按快捷键:”下的CTRL + R,CTRL + R来映射Visual Studio中的键盘快捷键。 - Boyan
2
我在以下位置找到它:1. Resharper->选项 2. 键盘和菜单 3. 选择Visual Studio并按“应用方案” 4. 点击保存。 - Anders Lindén
有时候你需要重新启动Visual Studio才能使更改生效。我在VS2013中就是这样做的。 - garryp
1
如果它不起作用,尝试取消选中“隐藏重写的Visual Studio菜单项”。这对我有用。 - Umut Özel

18

对于 Resharper 6

您应该:

  • 选择菜单 "Resharper" - "选项..."
  • 选择 "Visual Studio 集成"
  • 在两个位置都选择 "Visual Studio"
  • 点击 "应用方案"

它要么有效,要么会出现选择(Visual Studio 或 Resharper)的情况,如果是这样,请选择 Resharper。


谢谢!这很有帮助。重置到Visual Studio可以让你选择Resharper(当快捷键冲突出现时)。 - Anatoly Mironov
2
我从未想过在 Visual Studio 中进行设置会允许我使用 Resharper 命令。不知道这是怎么回事... - JakeJ

5
在我的情况下,问题是通过清除ReSharper缓存来解决的。这可以在选项菜单中的“环境 > 通用”下完成,如下所示: Screenshot of options menu

1
那是个好观点! - yu yang Jian
同样地,我尝试了很多方法,但是在清除ReSharper缓存之前,我关闭了文件和Visual Studio并重新打开。看起来可以工作了。很烦人!但是问题解决了 :) - Joel Balmer

4

ReSharper有多个默认的快捷键绑定,这些绑定是在安装后第一次启动Visual Studio时选择的。我猜测这次您选择了不同的快捷键。


这对解决问题很有帮助。 - mwright
@mwright - 如果解决方案帮助您解决了问题,请务必标记一下。 - CrimsonX
@CrimsonX - 虽然有帮助,但那实际上并不是解决方案。这种情况下应该怎么做?您可以将其标记为解决方案,然后更新您的帖子以包含解决方案的步骤,或者创建自己的答案。 - mwright
@mwright。一个好问题。如果我处于你的情况,并且自己找到了详细的答案,我会回答自己的问题,将其标记为答案,并感谢(并点赞)帮助你找到解决方案的人。这是一个判断性的选择... - CrimsonX

3
在Visual Studio 2013中使用ReSharper 8版本时,我需要进行以下操作:
  1. 进入RESHARPER菜单 ->选项
  2. 展开环境
  3. 选择键盘和菜单
  4. ReSharper键盘方案选择为Visual Studio
  5. 点击应用方案...保存并关闭对话框。
下次执行快捷键时,会提示我选择要使用的快捷键。

enter image description here


3
我猜很少有人和我处于同样的情况,但是就我的案例而言,当我在Visual Studio 2019/Win 10中使用Refactor.Rename(Ctrl+R,Ctrl+R)时不能工作,在重新启动之后并且没有安装Resharper。在我的情况下,Refactor.Rename无法正常工作,因为我的项目处于FOLDER模式而不是SOLUTION模式(OMFG)。一旦我使用解决方案工具进入SOLUTION模式并进行“Switch Views”,Refactor.Rename又开始工作了。事后看来,这当然是有道理的,但是某种类型的错误消息/警告会对帮助我意识到问题非常有帮助!

2
这种情况我也遇到过。我不得不重新安装Resharper(可能是从添加/删除程序中修复),才能使它正常工作。但那是在VS2005时发生的事情。

1

在我尝试升级Resharper之前,没有任何方法对我有用!:O


1

以上所有答案都很好,但这个错误还会在另一种情况下出现。


你开始调试为该项目编写的测试脚本,项目在断点处停止。 此时如果你尝试对代码进行任何操作,你将会得到类似以下的错误: "键组合(Ctrl+R, Ctrl+R)绑定到命令(&Rename...),该命令当前不可用。"

所以,答案是:停止你的调试会话。 - Thomas Weller

1
在我的情况下(使用Visual Studio 2022 17.4.0和Resharper 2022.2.2),我需要:
  1. 禁用Resharper
  2. 重新启动Visual Studio以使更改生效
  3. 启用Resharper
  4. 重新启动Visual Studio以使更改生效

"使更改生效" ...你具体做了什么更改,导致这个解决方案对你有效? - Collin Barrett
1
@CollinBarrett:禁用R#并重新启动Visual Studio以使其禁用。启用R#并重新启动Visual Studio以使其再次启用。 - Thomas Weller

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接