8

我正在尝试将 Visual Studio 2013 中的键盘快捷键设置为 Shift + Tab。但是,当我将光标放在“按下快捷键”文本框中并尝试按下 Shift + Tab 组合时,它不会将任何内容放入文本框中,而是将选项卡返回到上一个控件!

我是否缺少一些东西让 Visual Studio 知道我实际上是在输入键盘快捷键,而不是使用命令?

4

3 回答 3

8

我知道这个问题有点老了,但我认为,我找到了一个更好的答案。实际上可以使用 Visual Studio GUI 界面绑定TAB键。诀窍是在Use new shortcut in下拉框中选择Text Editor,如下所示:

在此处输入图像描述

  1. 打开菜单工具 > 选项 > 环境 > 键盘对话框。
  2. 从命令框中选择所需的命令。
  3. 使用新快捷方式下拉框中,选择文本编辑器。默认值为Global,不允许您使用TAB键。
  4. 将光标移动到按下快捷键框。
  5. 现在您可以按TAB键或任意组合,如Shift-TABCtrl-TAB等,它将进入快捷键框。
  6. 不要忘记按分配按钮!(否则什么都不会发生)

屏幕截图显示将TAB键设置为 Edit.FormatSelection,以便正确按TAB缩进当前光标行或行块(如 Emacs!耶!)而不是插入制表符或空格字符。

如果您仍然想要插入制表符,您可以将其添加到另一个组合键,例如Ctrl-TAB

于 2014-12-12T20:50:08.150 回答
2

我认为 tab 和 shift-tab 绑定到 Windows,因此即使取消分配 Edit.SelectNextControl 和 Edit.SelectPreviousControl 也不会做太多......

您可以破解 XML - VS2013 将更改的键盘快捷键保存到 Documents\Visual Studio 2013\Settings 下的 CurrentSettings.vssettings

  1. 制作 CurrentSettings.vssettings 文件的副本以防万一。VS 每次关闭以及您接受时都会覆盖此文件。
  2. 在VS中,进入键盘快捷键设置(工具>选项>环境>键盘)
  3. 将所需的快捷方式指定为 Shift+Tab,而改为 Ctrl+Shift+Tab。
  4. 接受 + 关闭 VS。
  5. 打开 CurrentSettings.vssettings
  6. 搜索快捷方式字符串(例如 Edit.SelectNextControl 等),或者搜索 Ctrl+Shift+Tab。
  7. 您应该有一个较长的 XML 行,其中一部分看起来像 Ctrl+Shift+Tab
  8. 删除 Ctrl+,留下 Shift+Tab
  9. 保存,重启VS。

祝你好运与 Windows :)

于 2013-11-13T15:36:36.160 回答
0

I believe, though I am not positive, that Tab and Shift-Tab cannot be bound in VS. They're tied intimately to indent and unindent. Tab (and maybe Shift-Tab) is tied to code that triggers completion actions as well.

You might try removing the bindings of Tab and Shift-Tab and then try to bind them to the desired functionality. Make sure you remember what the bindings were if you remove anything.

于 2013-11-13T14:57:06.890 回答