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

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

有人知道我可以做什么来让⇥标签像预期的工作吗?


不知道你在什么操作系统上,但在Mac OS x的VS Code的一个最新版本上,tab键有一个已知的问题。该错误已在最新版本(0.10.9)中修复。

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

来源和更多信息:

https://code.visualstudio.com/Updates


我不小心为tab键启用了不同的模式。固定按Cmd+Shift+M (Mac),或Ctrl+M (Windows)。

来自Visual Studio Code Keybinding文档:

|关键字|命令|命令id | | Ctrl + M |切换使用Tab键设置焦点| editor.action.toggleTabFocusMode |

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


在我的案例中,我遵循了这个建议,并将vscode中的emmet设置更改为false:

"emmet.triggerExpansionOnTab": false

我收到错误不能读取属性“值”为空。它立即解决了问题。


我在xfce上使用代码-做了以下修复Tab键行为:

File -> Preferences -> Settings

搜索“keyboard.dispatch”

复制到右边面板并将值从"code"改为"keyCode"

重新加载代码


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


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

做Command+K Command+S拉出热键设置,然后搜索切换Tab键移动焦点或editor.action.toggleTabFocusMode如果你想改变键组合。


以上这些对我来说都失败了。 但我注意到shift +⇥Tab按预期工作(突出行)。

所以我寻找“缩进行”快捷键(它被分配给alt + ctrl + cmd + 0),分配给制表符,现在我又高兴了。 第二天早上编辑……

我还使用选项卡来接受片段建议,所以我已经设置了“缩进行”的“当”到editorTextFocus && !editorReadonly && !inSnippetMode && !


确保这个没有被选中:

[]工具|选项|文本编辑| C/ c++ |格式化|自动缩进标签

如果有帮助,请告诉我!


对于那些不了解空格键的人来说生命(- _ -)(- _ -)

⇥标签的键绑定没有设置为任何东西,所以你必须手动操作 导航到Preferences/Environment/Keybindings并搜索“tab” 点击底部的编辑绑定,然后按tab键。 按“应用”,然后按“确定” 键绑定!


解决问题

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

禁用快捷方式。

用ctrl+K打开“键盘快捷键”,然后按ctrl+S。 或者去文件>首选项>键盘快捷键。 搜索切换标签键移动焦点。 右键单击,删除键绑定。


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


[编辑]这个答案是针对MSVS (IDE,而不是VS Code)。微软和谷歌似乎特意为新产品选择了令人困惑的名字。我现在把这个答案留在这里,而我(继续)寻找关于MSVS的等效stackoverflow问题。如果你认为我应该删除它,请在评论中告诉我。或者更好的是,给我指出这个问题的MSVS版本。

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

在“工具->选项->文本编辑器-> C/ c++ ->格式->通用”下,尝试取消选中“键入制表符时自动缩进”框。这似乎有违直觉,但它为我解决了问题。


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


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


点击状态栏右下方的“Tab移动焦点”。就是这样。

我记得我按了ctrl+M。当这样做时,“Tab移动焦点”标签/按钮出现在右下角。点击它会让它消失并重新开始工作。

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


出于某种原因,在更新后,我的tab键被解除了'tab'默认行为的绑定。所以我必须打开文件>首选项>键盘快捷方式,搜索简单的“tab”行,并再次绑定到tab键。很尴尬,但很有效。


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


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

这对我很管用。一些扩展覆盖了它。


在Mac上, 首选项->设置->搜索“选项卡” 按制表符时取消勾选插入空格


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

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

相反,你应该使用:ctrl + shift + M

证据如下:


以上这些方法对我都没用。对我来说,问题是VSCode无法编辑文件。您将看到顶部的文件标签上有一个小挂锁。只需关闭选项卡并再次打开文件。标签应该像往常一样工作。