ChatGPT解决这个技术问题 Extra ChatGPT

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

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

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

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

我遇到了一个问题,其中选项卡只会在编辑器之外进行选项卡(在 UI 元素之间导航)。重新启动编辑器修复它。
不回答操作问题,但对于在搜索“visual studio tab not working”或在 Visual Studio 中点击 Tab 时出现问题的其他人来说,选择块而不是添加缩进。您可以通过Karel Tamayo参考this answer
从 2020 年 6 月起,代码 v1.45.1 中仍然存在问题。解决方案是删除 Ctrl + MToggle Tab Key Moves Focus 键绑定(请参阅@Addison 的答案)。奇怪的“功能”。
谢谢!按 ctrl+M 为我修复了它。无需重新启动
@AlainD 这个想法可能是允许在不离开键盘的情况下在编辑器中移动:)

A
Arad

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

Visual Studio Code Keybinding docs

|钥匙 |命令 |命令编号 | | Ctrl + M | Toggle 使用 Tab 键设置焦点 | editor.action.toggleTabFocusMode |

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

https://i.stack.imgur.com/RTMqF.png


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

解决问题

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

禁用快捷方式

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


这次真是万分感谢!我使用 ctrl + m -> ctrl + k -> ctrl + 0 折叠代码,几乎每天我都在此之前不小心破坏了我的标签 :)
我刚刚安装了 MSVS 2019。我没有在“文件”选项卡下看到“首选项”。 ctrl-k, ctrl-s 打开一个片段列表。我没有看到“切换 Tab 键移动焦点”选项。您使用的是哪个版本的 MSVS?
@riderBill - 这是最新的 VS Code 1.39.2 (2019-10-15)。您正在使用 Microsoft Visual Studio,不要将其与 Visual Studio Code 混淆。
哦。 <:^|我的错。但不是(完全)我的错。我会辩解说:“微软在新产品命名选择不当方面是行业领导者。”就像谷歌一样。曾经尝试在 Google Messages 上搜索帮助吗? [叹]
没有明显的迹象表明发生了什么,这是一个完全愚蠢的 UI 设计。感谢你的回答。 :)
T
Tony L.

点击状态栏右下角的“Tab Moves Focus”。而已。

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

https://i.stack.imgur.com/O0wxo.png


救了我,我不知道我是如何启用它的,但我安装了一个新键盘,突然 TAB 跳到不同的窗口。
微软产品内置了很多垃圾。另一个著名的是 Windows 10 中的多桌面,或者无法在 Windows 10 中创建桌面快捷方式。因此,当您尝试将 Skype 应用程序的快捷方式添加到桌面时,祝您好运
ctrl + M 切换解决问题
我什至不能……
J
JBallin

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


有没有办法禁用这个“功能”?
@AlexanderRyanBaggett 只需删除键绑定
L
Lucas Basquerotto

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

"emmet.triggerExpansionOnTab": false

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


r
rubimbura brian

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


f
flux9998

截至 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
D
Dharman

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


S
Sagi

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

文件 -> 首选项 -> 设置

搜索“keyboard.dispatch”

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

重新加载代码


N
Nazim Kerimbekov

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

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

第二天早上编辑...

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


完美的!感谢您找出有效的 when 条件。
r
riderBill

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

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

https://i.stack.imgur.com/1fFou.png


S
Steven Delrue

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


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

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


A
Archon 808

确保未选中:

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

让我知道这是否有帮助!


这与 Visual Studio 有关吗?我猜这个问题是针对 VS Code 提出的。
N
Nazim Kerimbekov

对于那些不关心空格键生活的人(- _ - )( - _ -)

⇥ Tab 的键绑定未设置为任何内容,因此您必须手动进行导航到 Preferences/Environment/Keybindings 并搜索“tab”单击底部的 Edit Binding 并按 tab 键。按“应用”然后“确定”键绑定!


A
Alexandre Macedo

出于某种原因,更新后,我的选项卡键与“选项卡”默认行为解除绑定。所以我必须打开 File>Preferences>Keyboad Shortcuts,搜索简单的“tab”行,然后再次绑定到 tab 键。很尴尬,但工作。


K
Kishorekumar Yakkala

https://i.stack.imgur.com/u0Fsu.png


M
Matt

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

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


h
hoogw

2022 年,以上不再工作,微软更改了键绑定

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

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

https://i.stack.imgur.com/SwnGP.jpg


Ctrl+M 在 Windows 上的 vscode 1.64.1 上仍然适用于我。你用的是什么版本的vscode?
D
Devorein

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


h
hxlnt

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

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

来源和更多信息:

https://code.visualstudio.com/Updates


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