Visual Studio Code 选项卡键不插入选项卡

我使用 Visual Studio Code 作为我的代码编辑器。我在谷歌上进行了搜索,但找不到任何关于我的问题的信息。

问题很简单,在编辑器中按 ⇥ Tab 什么也不做。我期待它插入4个空格。

任何人都知道我可以做些什么来让 ⇥ Tab 像预期的那样工作?

stack overflow Visual Studio Code Tab Key does not insert a tab
原文答案

答案:

作者头像

我不小心为 Tab 键启用了不同的模式。通过按 Cmd+Shift+M(对于 Mac)或 Ctrl+M(对于 Windows)修复它。

来自 Visual Studio Code Keybinding docs

| Key      | Command                                 | Command id                       |
| Ctrl + M | Toggle Use of Tab Key for Setting Focus | editor.action.toggleTabFocusMode |

当前选项卡控制模式也应该显示在状态栏中:

enter image description here

作者头像

解决问题

按 ctrl+M 会导致 ⇥ Tab 键移动焦点,而不是插入 ⇥ Tab 字符。
再次按快捷方式将其关闭。

禁用快捷方式

  1. 使用 ctrl+K 打开“键盘快捷方式”,然后使用 ctrl+S。
    或转到 File > Preferences > Keyboard Shortcuts
  2. 搜索 toggle tab key moves focus
  3. 右击 Remove Keybinding
作者头像

单击状态栏右下角的“Tab 键移动焦点”。而已。

enter image description here

我相信我按下了 ctrl+M。执行此操作时,“Tab Moves Focus”选项卡/按钮显示在右下角。单击它会使它消失并重新开始工作。

您可以再次键入 ctrl+M 以将其关闭,正如其他答案所指出的那样,但这并不像单击它那样容易记住。

作者头像

单击资源管理器或任何其他非编辑器的窗口,然后按 Ctrl + Shift(仅适用于 Mac)+ M,这是键盘快捷键上“切换 Tab 键移动焦点”的命令。

作者头像

在我的案例中,我遵循 this advice 并将 vscode 中的此 emmet 设置更改为 false

"emmet.triggerExpansionOnTab": false

我收到错误 Cannot read property 'value' of null 。它立即解决了问题。

作者头像

尝试 CTR + M 它会像以前一样工作。

作者头像

截至 2018 年 12 月,在使用 VSCode 1.29.1 的 macOS Mojave 10.14.2 上,“切换 Tab 键移动焦点”的默认键绑定设置为 Command+Shift+M 。如果您对此感到困惑,使用该组合键应该可以解决问题。

如果要更改组合键,请执行 Command+K Command+S 以调出热键设置,然后搜索 Toggle Tab Key Moves Focuseditor.action.toggleTabFocusMode

作者头像

有这个问题。只需按“Ctrl + M”(在 Windows 上)。在 Mac 上可能是“CMD+M”。

作者头像

我在 xfce 上使用代码 - 执行以下操作来修复 Tab 键行为:

文件 -> 首选项 -> 设置

搜索 “keyboard.dispatch”

复制到右侧面板并将值从“code”更改为“keyCode”

重新加载代码

作者头像

[Edit] This answer is for MSVS (the IDE, as opposed to VS Code). It seems Microsoft and Google go out of their way to choose confusing names for new products. I'll leave this answer here for now, while I (continue to) look for the equivalent stackoverflow question about MSVS. Let me know in the comments if you think I should delete it. Or better, point me to the MSVS version of this question.

I installed MSVS 2017 recently. None of the suggestions I've seen fixed the problem. The solution I figured out works for MSVS 2015 and 2017. Add a comment below if you find that it works for other versions.

Under Tools -> Options -> Text Editor -> C/C++ -> Formatting -> General, try unchecking the "Automatically indent when I type a tab" box. It seems counter intuitive, but it fixed the problem for me. enter image description here