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

Posted

技术标签:

【中文标题】Visual Studio Code 选项卡键不插入选项卡【英文标题】:Visual Studio Code Tab Key does not insert a tab 【发布时间】:2016-06-01 20:47:32 【问题描述】:

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

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

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

【问题讨论】:

我遇到了一个问题,即选项卡只会在编辑器之外进行选项卡(在 UI 元素之间导航)。重新启动编辑器修复它。 不回答操作问题,但对于在搜索“visual studio tab not working”或在 Visual Studio 中点击 Tab 时出现问题后登陆此处的任何人选择块而不是添加缩进。可以参考this answerKarel Tamayo 自 2020 年 6 月起在 Code v1.45.1 中仍然存在问题。解决方案是删除 Ctrl + MToggle Tab Key Moves Focus 键绑定(请参阅 @Addison 的答案)。奇怪的“功能”。 见VS reference for Tab trapping 谢谢!按ctrl+M 为我修复了它。无需重启 【参考方案1】:

我不小心为 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 |

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

【讨论】:

当我尝试使用代码折叠 (Ctrl + M, Ctrl + O) 时发生在我身上。谢谢。 Setting Focus 是什么? 如果你误按了Ctrl+M,底部状态栏会有一个亮绿色的​​“Tab Moves Focus”。 @Jannunen 你是对的,可悲的是,对于我们这些拥有 25 英寸屏幕的人来说,没有人会注意到角落里那个小小的东西...... 多么奇特的环境啊。这尤其令人困惑,因为 Ctrl-M 用于在 android 模拟器中打开开发菜单(用 React Native / Expo 编写)。当 VSCode 打开而不是模拟器时,我一定是不小心按下了它。不过,这是一个多么令人眼花缭乱的奇怪功能。【参考方案2】:

解决问题

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

禁用快捷方式

    ctrl+K 打开“键盘快捷键”,然后用 ctrl+S。 或转到文件 > 首选项 > 键盘快捷键。 搜索toggle tab key moves focus。 右键,Remove Keybinding

【讨论】:

谢谢你!我使用ctrl + m -> ctrl + k -> ctrl + 0 折叠代码,几乎每天我都会在此之前不小心破坏我的标签:) 我刚刚安装了 MSVS 2019。我没有在“文件”选项卡下看到“首选项”。 ctrl-k, ctrl-s 打开一个 sn-ps 列表。我没有看到“切换 Tab 键移动焦点”选项。您使用的是哪个版本的 MSVS? @riderBill - 这是最新的 VS Code 1.39.2 (2019-10-15)。您使用的是Microsoft Visual Studio,请不要与Visual Studio Code 混淆。 哦。 <: google messages> 没有明显的迹象表明发生了什么,多么愚蠢的 UI 设计。感谢您的回答。 :)【参考方案3】:

点击状态栏右下角的“Tab Moves Focus”。就是这样。

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

【讨论】:

救了我,我不知道我是如何启用它的,但我安装了一个新键盘,突然 TAB 跳到不同的窗口。 微软产品内置了很多垃圾。另一个著名的是Windows 10中的Multiple Desktop,或者无法在Windows 10中创建桌面快捷方式。因此,当您尝试将 Skype 应用程序的快捷方式添加到桌面时,祝您好运【参考方案4】:

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

【讨论】:

有什么办法可以禁用这个“功能”吗? @AlexanderRyanBaggett 只需删除键绑定【参考方案5】:

在我的情况下,我关注this advice并将vscode中的这个emmet设置更改为false

"emmet.triggerExpansionOnTab": false

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

【讨论】:

【参考方案6】:

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

【讨论】:

【参考方案7】:

截至 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,如果您想更改组合键。

【讨论】:

在 Windows 上它只是 Ctrl+M 默认为 Toggle Tab Key Moves Focus。 Dan,这有点夸张,考虑到 Visual Studio 中格式化文档的默认设置实际上是 Ctrl+K、Ctrl+D - visualstudioshortcuts.com/2017【参考方案8】:

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

【讨论】:

【参考方案9】:

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

文件 -> 首选项 -> 设置

搜索“keyboard.dispatch”

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

重新加载代码

【讨论】:

【参考方案10】:

[编辑] 此答案适用于 MSVS(IDE,与 VS Code 相对)。微软和谷歌似乎不遗余力地为新产品选择令人困惑的名称。我暂时将这个答案留在这里,同时我(继续)寻找关于 MSVS 的等效 *** 问题。如果您认为我应该删除它,请在 cmets 中告诉我。或者更好的是,请指出这个问题的 MSVS 版本。

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

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

【讨论】:

【参考方案11】:

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

所以我寻找“缩进线”快捷方式(分配给 alt + ctrl + cmd + 0 ),将其分配给选项卡,现在我又高兴了。


第二天早上编辑...

我也使用tab来接受sn-p建议,所以我将“Indent Line”的“when”设置为editorTextFocus &amp;&amp; !editorReadonly &amp;&amp; !inSnippetMode &amp;&amp; !suggestWidgetVisible

【讨论】:

完美!感谢您找出有效的 when 条件。【参考方案12】:

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

【讨论】:

我也一样!!!我从来没有打开过 TeamViewer,而且我不小心把它打开了。添加更多信息:我运行了另一个 VS Code 实例,其中的选项卡工作正常,而在另一个选项卡中则无法正常工作。关闭 TeamViewer 后,选项卡在两种情况下都有效!【参考方案13】:

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

【讨论】:

【参考方案14】:

确保未选中此项:

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

如果这有帮助,请告诉我!

【讨论】:

这与 Visual Studio 有关吗?我猜这个问题是针对 VS Code 提出的。【参考方案15】:

对于那些不喜欢空格键的人 (- _ - )( - _ -)

    ⇥ Tab 的键绑定未设置为任何内容,因此您必须手动进行

    导航到 Preferences/Environment/Keybindings 并搜索“tab

    单击底部的编辑绑定,然后按 Tab 键。

    按“应用”,然后按“Ok

    键绑定!

【讨论】:

【参考方案16】:

由于某种原因,更新后,我的 tab 键被解除了“tab”默认行为的绑定。所以我必须打开File>Preferences>Keyboad Shortcuts,搜索简单的“tab”行,然后再次绑定到tab键。很尴尬,但很有效。

【讨论】:

【参考方案17】:

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

它对我有用。一些扩展会覆盖它。

【讨论】:

【参考方案18】:

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

【讨论】:

【参考方案19】:

不确定您使用的是什么操作系统,但在最新版本的 VS Code for Mac OS X 上存在一个已知问题。该错误已在最新版本 (0.10.0) 中修复。 9).

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

来源和更多信息:

https://code.visualstudio.com/Updates

【讨论】:

最新的更新对我没有帮助 - 我取消了 3 月的内部人员发布,效果很好。

以上是关于Visual Studio Code 选项卡键不插入选项卡的主要内容,如果未能解决你的问题,请参考以下文章

如何更改 Visual Studio Code 中的格式选项?

如何在 Visual Studio Code 快速打开视图中设置默认选项?

Visual Studio Code 中是不是有快速更改选项卡功能?

在 Visual Studio Code 中更改无标题选项卡的标题

如何在 Visual Code Studio 中为 pug lang 选择选项卡大小?

如何在 Visual Studio Code 的新选项卡中打开文件