如果我输入以下内容:
TEST
然后点击TAB,代码现在看起来像这样:
test
我不知道发生了什么,但标签不再缩进,并将当前行的文本更改为小写。
知道如何恢复TAB功能吗?
答案 0 :(得分:0)
在一般情况下,一个可能的原因是您安装了第三方软件包,该软件包窃取了 Tab 密钥绑定,以便执行它自己的操作,在这种情况下,将把前一个词改为小写。
如果您碰巧按下 Tab 之后的任何单词,则会出现这种情况。在这种情况下,解决方案是找到执行此操作的程序包并禁用或重新配置它。
在您的情况下,我认为更可能的原因是,您当前正在编辑单词TEST
的文件中出现,并且您启用了以下设置:
// When enabled, pressing tab will insert the best matching completion.
// When disabled, tab will only trigger snippets or insert a tab.
// Shift+tab can be used to insert an explicit tab when tab_completion is
// enabled.
"tab_completion": true,
当设置设置为true
(这是默认设置)时,按 Tab 将尝试执行选项卡完成,该选项卡不仅会考虑片段和完成,还会考虑当前的缓冲区。
在这种情况下,如果您要在缓冲区中出现单词test
的位置输入单词TEST
并按 Tab ,则表示'被视为可能完成并将成为替代。
如果这是问题,您只需输入t
并按 Tab 即可看到类似的行为,这将循环遍历缓冲区中的所有T
个字词落成。
假设这是您发生的事情,以下其中一项应该为您解决问题:
在您的偏好设置中将tab_completion
设为false
;这将完全禁用该功能
仅在您遇到问题的特定文件类型的设置中将tab_completion
设置为false
;这会在一般情况下启用该功能,但会阻止它发生在您不希望它出现的文件中。
改用 Shift + Tab ;该键序列将执行 Tab 通常所做的操作并插入制表符,即使 Tab 会尝试完成。
要使#3生效,请确保将此设置设置如下:
// By default, shift+tab will only unindent if the selection spans
// multiple lines. When pressing shift+tab at other times, it'll insert a
// tab character - this allows tabs to be inserted when tab_completion is
// enabled. Set this to true to make shift+tab always unindent, instead of
// inserting tabs.
"shift_tab_unindent": false,
此值的默认值为false
,在这种情况下,注释会提到绑定将执行选项卡,除非您选择了多行,在这种情况下,它会取而代之。