ReSharper破坏了“查找”和“在文件中查找”键盘快捷方式

60

我使用ReSharper已经有一段时间了。但是我记得每次安装Resharper都会默认覆盖Visual Studio的Ctrl+FCtrl+Shift+F的快捷键,这两个快捷键分别用于“查找”和“在文件中查找”。这种情况在R#3、4、5版本以及VS2005、2008和2010中都出现过。

我不知道为什么默认设置会这样,但如果这是个问题的话应该早就被解决了。我在公司里询问了其他人,发现并不是只有我遇到这个问题。


1
你解决了这个问题吗?我也遇到了同样的问题+斯洛文尼亚键盘... - sventevit
1
没有解决方案。这只是斯洛文尼亚(和可能其他一些)键盘布局的问题。我通过重新分配CTRL + F和其他缺失的命令来解决了这个问题。 - David Vidmar
我是另一位在斯洛文尼亚的开发人员,也遇到了同样的键盘快捷键问题。David,你向ReSharper团队报告了这个问题吗?我猜测这是一个bug,因为它显然与斯洛文尼亚键盘布局有关,而且我认为这是一种很难发现的bug。 - Robert Koritnik
2
我们刚遇到了与我的同事一起的这个问题。 我们总是将 Visual Studio 2010 键盘快捷键重置为默认设置,并应用 Resharper 8 快捷方式映射,但 Ctrl+F 和 Ctrl+Shift+F 无法正常工作。 然而在此过程中,我们使用了捷克语键盘。 然后我们切换到英语键盘并再次重复整个过程,这次 Ctrl+F 和 Ctrl+Shift+F 工作如预期。 完成后,Windows 键盘设置(英语或捷克语)就不再起任何作用了,Ctrl+F 和 Ctrl+Shift+F 就像它们应该的那样工作(查找和替换)。 - honzajscz
8个回答

97

我和塞尔维亚键盘(与斯洛文尼亚相同)有同样的问题。

有人提到,覆盖“查找”功能的GoToContainingDeclaration快捷键是Ctrl+[。 然而,猜猜看 - 在我们的键盘上,[被输入为AltGr+F。 很可能这就是为什么Resharper将本应进入Ctrl+[的命令分配给Ctrl+F的原因。

现在的解决方法(如果不算方案):

  • 重置VS键盘快捷键(工具>选项>键盘)
  • 暂时设置美式键盘
  • 设置Resharper键盘快捷键(Resharper>选项>键盘&菜单)
  • 返回你首选的键盘

1
谢谢!虽然这已经是这种情况了,但我不必改成美国键盘。 - Andrew
谢谢你的提示。ReSharper似乎处理键盘有些不寻常,而且显然在这方面失败了。我同时使用匈牙利和美国布局,ReSharper有时会“错过”两者之间的切换。在这种情况下,我无法输入“ [ ”(AltGr-F),而是打开VS的ReSharper菜单。虽然无法重现它。 - Dercsár
1
哦,这越来越糟糕了。在Win8.1上,我以美国语言启动VS2013,但当R#加载时,它会切换到匈牙利语。我将其改回并开始上述过程,但当我尝试设置R#键时,它会再次切换到匈牙利语,最终我得到了错误的设置... 嗷嗷... - Gaspar Nagy
1
是的,这是一个有趣的行为。R#使用默认键盘设置打开新窗口,并阻止您将其设置为首选布局。 :-) 暂时将美国键盘设置为默认键盘可以解决问题。 - Lukáš Lánský
3
克罗地亚键盘也发生了同样的情况。 - Ivan Golović
显示剩余6条评论

30

如@cashmere所说:进入“打开工具”->“选项”->“环境”->“键盘”。

在“包含命令”的“显示命令”中输入:GoToContainingDeclaration

在所选择命令的快捷键下,您将看到Ctrl+F。现在您可以更改或删除此快捷键。

现在您只需要检查edit.find命令是否分配了Ctrl+F快捷键。现在它应该可以工作了,至少对我来说是这样的。


1
谢谢,这终于解决了我的问题 - 我试过了来自这个和其他页面的5个不同建议。如果您搜索以下内容,也可以删除Ctrl + Shift + F:Resharper_SelectContainingDeclaration - gazdac
ReSharper_SelectContainingDeclaration 是另一个重写 Shift+Ctrl+F 的功能。 - CLS

1

是的,这刚刚在我重新安装后发生了。我使用的是Vs2k8。意识到我没有安装resharper 4.5。关闭VS,运行安装程序,选择与我过去8个月使用的相同设置(VS设置),然后重新启动VS。现在没有Ctrl+FCtrl+Shift+F!非常奇怪。

更新:好吧,我找到了原因。查找框已被放置在Windows任务栏后面。我必须将任务栏移动到屏幕的一侧,以便将查找框拖回可用的窗口空间。不知道这是否是Resharper引起的更改,但与安装直接相关。


我认为最近有一个VS sp/kb修复程序与查找/替换对话框的移动/调整大小有关。 - Drew Noakes
在我的情况下(可能与 OP 的情况类似),快捷方式就是不起作用。如果你按那些按钮,什么也不会发生。如果你去到 编辑 > 查找和替换 > 在文件中查找,它会像预期的那样打开,所以这与移动工具窗口无关。 - Robert Koritnik

0

Resharper - 选项 - 键盘 - 键盘方案 - 无


0

打开工具->选项->环境->键盘,然后按重置以恢复默认的键盘快捷方式


0

根据@Gico的回答,问题是由GoToContainingDeclaration resharper功能引起的。

  1. 打开VS环境 -> 键盘
  2. 在“显示包含命令”的字段中输入GoToContainingDeclaration
  3. 单击删除按钮

这对我解决了问题(我正在使用VS 2017)。

enter image description here


-1

没有,从来没有发生过这种情况(我正在使用 Resharper 5)。

如果您检查 ReSharper 的键位映射,您会发现 Ctrl + F 没有列出来。


7
对我而言,它被列为“ReSharper.Resharper_GotoContainingDeclaration(CTRL + F(全局))”和“ReSharper.Resharper_GotoContainingDeclaration(CTRL + F(文本编辑器))”。你能否检查一下此命令在你的系统中绑定的快捷键是哪个?这将有助于解决问题。你的操作系统语言设置是什么? - David Vidmar
ReSharper.Resharper_GotoContainingDeclaration在我的系统上绑定到Ctrl + [(全局)。我选择了Resharper的VS键。系统文化设置为希伯来语(以色列),但我认为这并不重要。 - Omer Raviv
4
我会说键盘是问题所在。斯洛文尼亚键盘上没有"[ ]"这个按键,只能通过使用"Alt Gr"键输入该字符。谢谢您的帮助! - David Vidmar
@David:刚遇到了同样的问题。另一个使用斯洛文尼亚键盘的用户 :) - gligoran

-1

我从2.5版本开始使用ReSharper,这种情况从未发生过。也许一段时间以前键被混淆了。尝试将键绑定重置为默认设置,然后应用其中一个ReSharper键方案(VS或IDEA)。

如果仍然出现此问题,请检查您的键盘布局是否为US,或者可能是其他布局...


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