我正在使用Visual Studio Code作为我的代码编辑器。我在谷歌上搜索了一下,但没有找到任何关于我的问题的东西。
问题很简单,在编辑器中按Tab没有任何作用。我希望它插入4个空格。
谁知道我能做些什么让Tab像预期的那样工作?
不确定您使用的是什么操作系统,但最新版本的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:
false
"emmet.triggerExpansionOnTab": false
我正在重新发现错误Cannot read property 'value' of null。它立即解决了问题。
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+Shift+M
做Command+K Command+S拉起热键设置,然后搜索Toggle Tab Key Moves Focus或editor.action.toggleTabFocusMode如果你想改变键组合。
Command+K Command+S
Toggle Tab Key Moves Focus
editor.action.toggleTabFocusMode
以上这些都失败了。但我注意到转变+Tab按预期工作(超出线路)。
于是我寻找“缩进行”快捷方式(分配给alt+ctrl+cmd+),分配给tab,现在我又高兴了。
我还使用选项卡来接受片段建议,因此我将“缩进行”的“何时”设置为editorTextFocus && !editorReadonly && !inSnippetMode && !suggestWidgetVisible。
editorTextFocus && !editorReadonly && !inSnippetMode && !suggestWidgetVisible
请确保没有选中此项:
[]工具|选项|文本编辑器|C/C++|格式化|制表符上的自动缩进
让我知道这是否有帮助!
对于那些你不知道空格键寿命(-_ - )( - _-)
的键绑定Tab未设置为任何值,因此您必须手动执行
导航到首选项/环境/键绑定并搜索“tab”
单击底部的编辑绑定,然后按tab键。
按“<强>应用强>”,然后按“<强>好的强>”
钥匙绑定!
按ctrl+M会使Tab键移动焦点,而不是插入Tab字符。再次按快捷键将其关闭。
toggle tab key moves focus
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
Insert spaces when pressing tab
2022年,上面不再工作,微软更改了密钥绑定
在Mac上,Cmd+Shift+M不再工作
您应该使用:ctrl+Shift+M
以下是证据:
以上方法都不适合我。对我来说,问题是VSCode无法编辑该文件。您会在顶部的文件选项卡上看到一个小挂锁。只需关闭选项卡并再次打开文件。选项卡应该可以正常工作。