你能否在Visual Studio 2013及以上版本中关闭Peek Definition功能?

109
在 Visual Studio 2013 及以上版本中,当你按住 Ctrl 键并单击后,会出现“查看定义”(Peek Definition)功能。刚开始我觉得这很酷,但实际上大部分时间我需要点击“提升到文档”(Promote to Document)按钮,因为我会对 Ctrl + 单击的文件进行大量修改。但在搜索如何关闭“查看定义”时,我找不到任何关于是否可能的详细信息。我真正想要的是,Ctrl + 单击功能回到以前版本的 VS 中在自己的选项卡中打开定义。这可能吗?

40
厌恶这个“功能”:在我用鼠标点击想要替换的单词时,它经常突然弹出,而我的左手正在准备使用Control-V进行粘贴。由于我的手比我自己的视觉更快,所以我经常会意外地重命名一个类。但我找不到任何禁用它的方法。 - sfuqua
@sfuqua 我曾经遇到过同样的问题,但即使在此之前 - 在我的情况下,这是由于 Ctrl+Click 命令的双重分配。Resharper 和 Power-Tools 都提供了此功能并进行了分配。因此,禁用 Powertools 的一个解决了我的问题。 - Efrain
2
最让人烦恼的是定义在同一文件中...通常你会发现定义离原始代码仅有几行之遥。 - Sonic Soul
@sfuqua 当你不小心将相同的内容放入仅包含头文件的库中时,情况会变得更糟,你最终会得到数千行看起来像乱码的错误信息。 - will
5个回答

223

在2017年之前的Visual Studio中:

工具选项Productivity Power Tools其他扩展控制单击在Peek中显示定义

Adam Garner指出,在Visual Studio 2017中,位置如下:

工具选项文本编辑器常规启用鼠标单击执行转到定义


4
我查看了所有设置但从未见过这个选项。这将恢复 Ctrl + 点击功能,以打开完整文档而不是预览。谢谢! - John Washam
1
谢谢!这个函数非常糟糕,似乎只能在我的家用电脑上运行,而在我的工作电脑上失败了。 - Ben Pretorius
3
谢谢!把那个Peek功能强加给我们真是太残忍了。 - sming
2
哈哈,当你不知道如何关闭一个小功能时,它会变成大问题,这真是太神奇了。我知道这一点,因为我也花了一些时间来尝试禁用它。 - SnowFatal
3
请注意,如果您想完全禁用Ctrl + 单击功能,可以在“工具”->“选项”->“生产力工具”->“打开/关闭扩展”->“Ctrl + 单击转到定义”下进行设置,然后关闭该选项,但需要重新启动Visual Studio。 - BrainSlugs83
显示剩余6条评论

17
如果您同时安装了Resharper和Productivity Power Tools,那么默认情况下按下ctrl + click将会跳转到定义并查看定义。这非常令人烦恼。@SnowFatal提供的解决方案将关闭查看定义功能。在Resharper的选项中,该选项名为“在编辑器上使用<Control + Left Click>跳转到声明”。

10
在最新版的Visual Studio 2017 (15.4.0)中,它位于: 工具选项文本编辑器常规启用鼠标单击以执行转到定义操作 您可以通过取消选择框来禁用它,或者设置不同的键来触发该模式。

1
使用VS'17时,与R#一起使用不再出现意外行为!谢谢! - rickythefox

6

Ctrl + Click -> 预览定义实际上是由“生产力工具”启用的。如果在“生产力工具”选项中禁用了“Ctrl + Click转到定义”,则此行为将消失。


4
完全去除了Ctrl + Click功能。我想保留Ctrl + Click功能,但将其用于打开文档而不是打开“查看定义”。我还没有弄清楚如何做到这一点。我认为在VS2013中可能无法实现。 - John Washam
2
F12(普通的“转到定义”)将在新窗口中打开定义 - 这有帮助吗?键入相同数量的按键,不同的顺序(单击符号,然后按F12)。 - Mark Wilson-Thomas MSFT
这就是我一直在寻找的答案——没想到它就在这里,但上面的那个指向了我正确的方向——真希望我能先看到它。我和你一样,@MarkWilson-ThomasMSFT,我更愿意按F12键跳转到定义,而不是因为点击和复制或点击和粘贴(Ctrl + C或Ctrl + V)而随机编辑其他文件。 - BrainSlugs83

0

对于Visual Studio 2017,操作如下:

工具选项Productivity Power Tools常规控制单击在Peek中显示定义


由于某种原因,在VS2017中禁用了此选项后,仍然无法正常工作。 - soccer7
1
在2017年,要完全禁用ctrl + click,您需要转到“工具”->“扩展和更新”,然后禁用控件单击转到定义扩展。 - Greg

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