如何编辑 Visual Studio 的鼠标快捷方式?

Posted

技术标签:

【中文标题】如何编辑 Visual Studio 的鼠标快捷方式?【英文标题】:How do I edit Visual Studio's mouse shortcuts? 【发布时间】:2012-05-28 01:13:23 【问题描述】:

每当我点击鼠标上的后退拇指按钮时,Visual Studio 都会执行“Naviagte Backward”命令,但它最近停止了这样做。如何编辑 Visual Studio 的鼠标快捷方式设置以重新启用此功能?

编辑:开始赏金,仍然没有得到关于这个的具体答案。

【问题讨论】:

您是否尝试过使用“devenv /resetsettings”命令重置 DevEnv 设置? 奇怪。您确定该按钮仍在工作并已启用 - 我的意思是当您在 Visual Studio 之外单击此按钮时,Windows 是否仍会发送消息? 是的,它适用于我的浏览器和其他第三方应用程序(例如 Spotify)。 你有什么鼠标?有时您可以通过鼠标软件设置特定于应用程序的鼠标快捷方式。 我在多台机器上使用不同鼠标(有拇指按钮)的 Visual Studio。我更愿意了解它为什么停止工作或如何配置它,而不是依赖鼠标 OEM 的软件。 【参考方案1】:

环境: Windows 10、Visual Studio 2019、罗技鼠标(无线)和罗技 SetPoint (v6.70.55)。

我尝试安装鼠标导航插件(在另一个答案中提到)。不管有没有这个插件,我都遇到了和 OP 一样的问题——鼠标导航不起作用。

最终对我有用的是完全卸载 SetPoint 软件。

希望这可以帮助其他人解决这个(烦人的)问题!

【讨论】:

【参考方案2】:

在 Visual Studio 2017 15.04 中添加了一个新选项,以允许按 Ctrl 键单击转到快捷会议工具提供的定义功能。当我禁用它时,我的鼠标后退按钮再次开始作为“向后导航”。选项在这里:

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

来源:Visual Studio Release Notes

【讨论】:

谢谢你,在 Visual Studio 2019 v16.11.16 上工作。 @GadgetNC - 在 VS2015 中可以选择吗?【参考方案3】:

您是否以管理员身份运行 Visual Studio?我知道这是我和我的运行 Logitech SetPoint 的 Logitech 鼠标的问题。如果您以管理员身份运行 SetPoint,您的所有按钮都将重新开始工作。

帮助了我,也可能帮助其他人,但可能不是你的问题。

【讨论】:

现在是罗技 Ghub,你还能再做一次吗?【参考方案4】:

UAC 是原因...

来自Windows Integrity Mechanism Design - User Interface Privilege Isolation (UIPI) and integrity

用户界面特权隔离 (UIPI) 在 windows 子系统中实施限制,以防止低特权应用程序发送窗口消息或在高特权进程中安装挂钩。允许较高权限的应用程序向较低权限的进程发送窗口消息。这些限制在 SendMessage 和相关的窗口消息函数中实现。并非所有从低权限进程发送到高权限进程的窗口消息都会被阻止。通常,“读取”类型的消息,例如 WM_GETTEXT,可以从较低权限的窗口发送到较高权限的窗口。但是,写入类型的消息,例如 WM_SETTEXT,会被阻止。

我不知道任何解决方案,因为提升驱动程序进程不是解决方案。

【讨论】:

这与此无关。 click 事件仍在触发,您链接到的内容描述了进程间消息传递,而不是操作系统和应用程序(在本例中为 Visual Studio)之间的消息传递。操作系统处理来自加载的任何驱动程序(无论是普通 HID 驱动程序还是自定义驱动程序)的点击事件,并将这些事件转换为有意义的窗口消息(例如 WM_LBUTTONDOWN)。如果这是真的,左键单击在 Visual Studio 中也不起作用。鼠标上的“后退”按钮就是 MouseButton3(0=左,1=右,2=中),它的处理方式与左键没有区别。【参考方案5】:

来自my topic。

将后退/前进导航附加到鼠标按钮的插件:Mouse Navigation 最新版本 (2.2.0) 运行良好。

一些澄清: Visual Studio (2012) 将普通导航与“点击即可”导航分开。 正常导航:鼠标在代码编辑器中的任意位置单击,选项卡也会更改。

点击去导航:去定义,点击搜索结果。它由以下按钮控制:“浏览后退/下一个”“上一个/下一个定义、声明或参考”。您可以在查看自定义工具栏中找到它。

默认的 VS 鼠标后退/前进按钮附加到“浏览后退/下一步”按钮,而不是导航后退/前进。

VS 插件Mouse Navigation 将鼠标按钮设置为向后/向前导航。唯一剩下的问题是,因为VS不认为“点击去”是正常的导航,所以当你点击去一个定义并尝试使用Ctrl+-或鼠标返回时,你不会回到上一个位置,但到之前的“正常导航”位置。 我对插件开发者的建议是尝试让 VS 将“click to go”导航视为正常导航,彻底解决这个问题。

【讨论】:

由于 VS Ctrl+Click 去偷看,我想把它改成去定义,而不是设置 Alt+Click 打开偷看。这很容易实现吗? @Shimmy,对不起,我不知道该怎么做。 这绝对是真正的答案。 我注意到当使用 RDP 连接到远程服务器时,鼠标导航确实工作。鼠标按钮可以在 Chrome 等中使用。 它已经过时了,不再适用于当前的 VS Code【参考方案6】:

我在 VS 2012 中遇到了同样的问题。返回按钮在 IE 中确实有效。

尽管我同意您对映射鼠标按钮的看法,但我还是要试试这个:

“诀窍是安装 IntelliPoint 软件,您可以在 http://www.microsoft.com/hardware 找到。通过该软件,您可以在特定程序处于活动状态时分配鼠标单击,并将其映射到按键。将 VS 设置为程序, 击键 Ctrl + -Ctrl + Shift + - 到鼠标左键和右键。您将能够使用这些按钮来回浏览打开的文件。"

http://www.microsoft.com/hardware/en-us/downloads/mouse-keyboard-center

编辑: 唉,它不适用于我的 Trust MaxTrack,并且没有等效的软件(据我所知)。

我确实将“取消构建”分配给“计算器”键。

【讨论】:

我发现这对我有用。可能是因为我有一个微软鼠标【参考方案7】:

我不知道您是否已经尝试过,但它可能对您有用。不过没试过,不知道好不好用。

http://mousegesturesvs.codeplex.com/

【讨论】:

我假设您知道如何在您的 Visual Studio 中添加一些插件... :P 如果您不知道,请问我 4 岁,未在积极开发中,主要用于手势(单击并按住),而不是鼠标按钮映射。对不起,没有。【参考方案8】:

Visual Studio 2010 在 C++、Visual Basic 和 F# 中只是缺乏对此的支持

使用加载项是一种选择吗?这是一个: Forward/Backward Code Navigation with the Mouse Thumb Buttons Inside Visual Studio 2010 (C++, Visual Basic, F#)

我认为这是解决此问题的最简单的解决方法。

【讨论】:

由于 VS Ctrl+Click 去偷看,我想把它改成去定义,而不是设置 Alt+Click 打开偷看。这很容易实现吗?【参考方案9】:

执行:

Tools -> Options...

然后在左侧Environment 部分下转到Keyboard,拉起View.NavigateBackward 命令,然后将光标放在Press shortcut keys: 下的文本框中,然后按老鼠。 OK 应该这样做。

【讨论】:

鼠标按钮不是键盘快捷键组合。 Visual Studio 正在寻找包含 CtrlShiftAlt 的内容,而不是按单个键或鼠标按钮。事实上,您甚至不能在该输入框中按一个键,您必须键入至少一个键和一个修饰键的组合。这不起作用。 @SpikeX 哎呀,我忘了提到,首先你应该将鼠标按钮设置为键盘快捷键组合(假设你的鼠标允许这样做)。这就是我为 Visual Studio 定制鼠标按键的方式。 除了我宁愿将鼠标按钮保留为 MouseButton3... 这允许系统处理许多预定义的操作(例如在浏览器中工作的后退按钮,以及响应单击事件,ID 为 Mouse3)。将按钮重新映射到按键不是一种选择。

以上是关于如何编辑 Visual Studio 的鼠标快捷方式?的主要内容,如果未能解决你的问题,请参考以下文章

有没有办法使用键盘快捷键缩放 Visual Studio 文本编辑器?

在Visual Studio 2012中,法语键盘上的Navigate后向快捷键是什么?

visual studio有没有 选择一行 的快捷键?

Visual studio 编辑标记

如何自定义Visual Studio快捷方式

Visual Studio 2013 中如何设置断点