Visual Studio 的快捷键有时会更改,特别是构建时的 F6 与 Ctrl-Shift-B。为什么会这样?

100

我通常按下 F6 来构建我的项目。但突然间我的一些 Visual Studio 实例要求我使用 Ctrl-Shift-B。这与键盘无关 - 菜单选项的实际文本从 "F6" 变为 "Ctrl-Shift-B"。

有什么办法可以修复,并且是什么原因导致了这种情况


1
你有没有一款带有FnLock的花哨“媒体”键盘? - Joel Coehoorn
我可以证实这一点。我的VS也发生了几次这样的情况,尽管已经设置了VS 05方案,但我还是进行了重置。就像你一样,我也在想为什么会发生这种情况,以及如何避免它。 - Vin
我认为Ctrl+Shift+B本来就是默认映射... - Pondidum
似乎出现了问题,VS2013中的F6不再起作用。 - markmnl
使用VS2008时,我总是要小心不要同时关闭两个实例。它们都会写入设置,这可能会弄乱事情。不过,使用VS2013似乎更好了,虽然我仍然有点小心。 - Ruud van Gaal
显示剩余2条评论
11个回答

68

可能是键盘映射损坏的问题? 请检查 工具 / 选项, 环境 / 键盘设置。你应该看到一个下拉菜单,选择你的键盘映射方案,旁边有一个重置按钮。点击重置按钮。

我不对您的设置出现问题负责 - 在执行此操作之前,请先保存它们以防万一。

噢,如果有人在意的话,我认为这是一个有效的问题,如果有人投票关闭它会很失望。当然,现在我已经说了这句话,那就必定会发生了,不是吗?


3
好的,“重置”修复了它,即使它已经设置为C#2005。现在的问题是- 是什么导致了这种改变?在过去的多年中,这种情况经常发生在我身上。 - TheSoftwareJedi
3
在 VS2013 中,F6 不再是默认的重置快捷键,因此重置操作不能正常工作 :( - markmnl
5
请确保您选择了“Visual C# 2005”。对我而言,(默认的)映射方案没有更改它。对我来说很奇怪的是,我在使用VS2013旗舰版时可以使用F6,但在使用VS2013高级版时却不能。 - Bardicer
这不是一个解决方案,因为我需要知道为什么VS会变得疯狂并删除快捷方式...今天在VS 2015上发生了这种情况。 - regisbsb

56

您的键盘方案已更改 - 转到“工具/选项/环境/键盘”,并将默认键盘方案设置为“Visual C# 2005”


@AlekseyBykov 如果 C# 键盘方案已经 更改,您还需要重置它。 - stuartd
对于VS 2013高级版,请查看@CYBERNARESH的答案(https://dev59.com/FHRA5IYBdhLWcg3wtwWe#35335312) - EmilianoPe

40
这是因为你可能已经选择了 "通用开发设置" 作为Visual Studio的默认环境设置(通常我们在安装后第一次启动VS时会弹出对话框选择默认环境设置)。
如果您只想更改键盘热键设置,则只需按照其他人提出的解决方案进行操作(工具 > 选项 > 环境 > 键盘 > Visual C# 2015)。但这只会将键盘设置更改为C#设置,同时保留其他设置仍为通用设置。
如果您真的打算将完整环境更改为C#设置,请按照以下方法操作。 解决方案1:
  1. 转到 "工具" (菜单)
  2. "导入和导出设置"
  3. "导入所选环境设置"
  4. 选择 "是,保存我的当前设置" 或 "不,只导入新设置,覆盖我的当前设置"
  5. "您要导入哪个设置集合?"
  6. 在 "默认设置" 树下选择 "Visual C#" 节点(您可能会看到黄色警告标志,无需担心),然后单击 "完成" 按钮。
或者您可以执行相同的操作 解决方案2:
  1. 转到 "工具" (菜单)
  2. "导入和导出设置"
  3. "重置所有设置"
  4. 选择 "是,保存我的当前设置" 或 "不,只导入新设置,覆盖我的当前设置"
  5. 从列表中选择 "Visual C#",然后单击 "完成" 按钮。
这两种方法都会使您的完整环境从那时起更改为 'Visual C#'。
享受编码 :)

1
非常感谢,这是最佳答案!顺便提一下,如果要重置仅键盘设置,请使用解决方案#1,但在最终的“选择要导入的设置”屏幕上,取消选择“所有设置”,并仅选择选项 - >环境->键盘。 - Tobias J

10
如果您有其他键绑定,不想全部重置,请使用:工具 -> 选项 -> 环境 -> 键盘。然后找到Build.BuildSolutionBuild.RebuildSolution(根据您的喜好选择),在Use shortcut in下拉列表中选择Global,将光标放在Press Shortcut Key中,按下F6。它会显示当前分配给它的内容,对我来说是遍历分割窗格(也许第一次使用分割窗格时覆盖了F6?我一直想知道为什么我的家用开发机器使用F6构建,而我的工作机器没有,而且我想起来我从来没有在家里使用过分割窗格),然后点击分配。

6

这是因为您安装了VMWare。它重新映射了该键,以便在虚拟机上启动调试时可以使用F6。

这也让我感到很烦。


1
不,我还没有安装VMWare。此外,菜单选项文本已更改为将Ctrl-Shift-B显示为构建,而不是F6。 - TheSoftwareJedi
1
我点赞了那个,因为那绝对是发生在我身上的事情。 - Proviste
1
在VMWare中添加Parallels。在Parallels中“显示/隐藏应用程序”。 - LosManos

4
您可以将 SHIFT + F6 重新指定为仅构建当前项目:
1/ 前往 工具 -> 选项 -> 环境 -> 快捷键 2/ 显示包含命令: Build.BuildSelection 3/ 聚焦于字段 Press shortcut keys,按下 Shift + F6 进行指定

2

Notepad++的NPPscripting插件在运行时破坏了我整个操作系统的Ctrl-Shift-B快捷键。卸载该插件(我不得不手动从Notepad++插件文件夹中删除DLL文件)为我修复了破损的键位映射。


没错,对我来说就是这样。谢谢,我从来没有想到过这个联系。 - Matthew Nichols
1
我希望我能给自己的答案点赞 - 它又帮了我一次!谢谢 Google。嘿,你们总有一天也会老的。:p - CAD bloke

1
我曾安装了TPFanControl,它全局捕获了Ctrl+Shift+B。我使用this answer中提到的工具查找了哪个程序注册了哪些快捷键。

没错,就是 TPFanControl。不过不要在 Windows 10 下运行 HotKey Commander,会导致程序崩溃。 - Mark Lopez

0

我的解决方案中有一个过时的构建(包含的库显然使用旧的DLL版本,我在运行时遇到了MissingMethodException),所以我删除了C#项目中的所有\bin目录,重新启动了Visual Studio,突然这个问题在我使用Visual Studio三年多以来第一次影响我。

不知道这怎么会影响我的用户设置,但显然确实如此。它们从使用“Visual C# 2005”键盘配置文件变为“默认”


0

工具 -> 选项 -> 环境 -> 快捷键

搜索此命令:"ClassViewContextMenus.ClassViewProjectBuild"

分配F6


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