Visual Studio Code Tab Key不插入选项卡

我正在使用Visual Studio Code作为我的代码编辑器。我在谷歌上搜索了一下,但没有找到任何关于我的问题的东西。

问题很简单,在编辑器中按Tab没有任何作用。我希望它插入4个空格。

谁知道我能做些什么让Tab像预期的那样工作?

291787 次浏览

不确定您使用的是什么操作系统,但最新版本的VS Code for Mac OS X中的tab键存在已知问题。bug已在最新版本(0.10.9)中修复。

在Mac OS X上,您可以通过打开VS Code然后转到[Code>Check for Update]来检查最新更新。

来源和更多信息:

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

Visual Studio Code密钥绑定文档

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

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

在此处输入图片描述

在我的情况下,我遵循这个建议并将vscode中的此emmet设置更改为false

"emmet.triggerExpansionOnTab": false

我正在重新发现错误Cannot read property 'value' of null。它立即解决了问题。

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

文件->首选项->设置

搜索“keyboard.dispatch”

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

重新加载代码

也许另一个程序正在干扰?关闭TeamViewer为我解决了这个问题。

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

Command+K Command+S拉起热键设置,然后搜索Toggle Tab Key Moves Focuseditor.action.toggleTabFocusMode如果你想改变键组合。

以上这些都失败了。但我注意到转变+Tab按预期工作(超出线路)。

于是我寻找“缩进行”快捷方式(分配给alt+ctrl+cmd+),分配给tab,现在我又高兴了。


第二天早上编辑…

我还使用选项卡来接受片段建议,因此我将“缩进行”的“何时”设置为editorTextFocus && !editorReadonly && !inSnippetMode && !suggestWidgetVisible

请确保没有选中此项:

[]工具|选项|文本编辑器|C/C++|格式化|制表符上的自动缩进

让我知道这是否有帮助!

对于那些你不知道空格键寿命(-_ - )( - _-)

  1. 的键绑定Tab未设置为任何值,因此您必须手动执行

  2. 导航到首选项/环境/键绑定并搜索“tab

  3. 单击底部的编辑绑定,然后按tab键。

  4. 按“<强>应用”,然后按“<强>好的

  5. 钥匙绑定!

来解决这个问题

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

禁用快捷方式

  1. ctrl+K打开“键盘快捷键”,然后打开ctrl+S
    或者转到文件>首选项>键盘快捷键
  2. 搜索toggle tab key moves focus
  3. 右键单击,Remove Keybinding

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

[编辑]此答案适用于MSVS(IDE,而不是VS代码)。似乎Microsoft和Google特别喜欢为新产品选择令人困惑的名称。我将暂时留下这个答案,同时我(继续)寻找关于MSVS的等效stackoverflow问题。如果你认为我应该删除它,请在评论中告诉我。或者更好的是,告诉我这个问题的MSVS版本。

我最近安装了MSVS 2017。我看到的建议都没有解决问题。我找到的解决方案适用于MSVS 2015和2017。如果您发现它适用于其他版本,请在下面添加评论。

在工具->选项->文本编辑器->C/C++->格式化->常规下,尝试取消选中“当我键入选项卡时自动缩进”框。这似乎违反直觉,但它为我解决了问题。输入图片描述

我以前也遇到过这种情况,TeamViewer客户端控制TAB键。直到您关闭在后台打开的电视窗口,您才会知道这一点。

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

单击状态栏右下角的“选项卡移动焦点”。就是这样。

在此处输入图片描述

我想我按了ctrl+M。执行此操作时,右下角出现了“Tab Moves Focus”选项卡/按钮。单击该选项卡会使其消失并重新开始工作。

你可以再次输入ctrl+M来切换它,就像其他答案所指出的那样,但这并不像点击它那么容易记住。

由于某种原因,在一次更新之后,我的tab键没有绑定tab的默认行为。所以我必须打开文件>首选项>键盘快捷键,搜索简单的“tab”行,然后再次绑定到tab键。很尴尬,但有效。

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

检查您的键映射(文件>首选项>键映射)[Ctrl+K Ctrl+S]。在顶部的输入行中写入“tab”并将tab命令tab键绑定。

它为我工作。一些扩展覆盖它。

在Mac上,
首选项->设置->搜索“选项卡”
取消选中Insert spaces when pressing tab输入图片描述

2022年,上面不再工作,微软更改了密钥绑定

在Mac上,Cmd+Shift+M不再工作

您应该使用:ctrl+Shift+M

以下是证据:输入图片描述

以上方法都不适合我。对我来说,问题是VSCode无法编辑该文件。您会在顶部的文件选项卡上看到一个小挂锁。只需关闭选项卡并再次打开文件。选项卡应该可以正常工作。