Autocomplete 选项卡与vs代码中的intellisense和代码段冲突

Autocomplete 选项卡与vs代码中的intellisense和代码段冲突,autocomplete,visual-studio-code,code-snippets,Autocomplete,Visual Studio Code,Code Snippets,例如,我想使用“for”代码段。我写for并按tab键两次,这样它会自动完成整个for循环,并选择计数器,这样我就可以更改它。我更改该值,然后按tab键转到下一个变量(条件语句中的一个“counter

例如,我想使用“for”代码段。我写for并按tab键两次,这样它会自动完成整个for循环,并选择计数器,这样我就可以更改它。我更改该值,然后按tab键转到下一个变量(条件语句中的一个“counter<[here]”)。然后问题是我写'arr',它会自动完成类似于'ANGLE\u instanced\u array'的内容我只想写'arr',然后按tab键转到循环中的下一个变量,但如果我按tab键,它将自动完成。有解决方案吗?

您可以做的是禁用接受
选项卡上的建议,并启用纯
选项卡完成
。相应的设置为
“editor.acceptsuggestionenter”:false
“editor.tabCompletion”:true
。通过这些设置,您可以完成代码片段,例如只需使用选项卡(无IntelliSense弹出窗口)即可完成
,当IntelliSense显示建议时,可以使用
输入

我专门创建了一个帐户来回答这个问题,因为这是一个非常烦人的问题:)

将以下内容添加到
keybindings.json

{"key": "tab", "command": "-acceptSelectedSuggestion", "when": "editorTextFocus && suggestWidgetVisible"},    
{"key": "tab", "command": "acceptSelectedSuggestion", "when": "editorTextFocus && suggestWidgetVisible && !inSnippetMode" },    

第一行禁用现有规则,第二行重新启用它,除非您处于代码段模式。

这是my keybindings.json 按tab键转到循环中的下一个变量 ctrl+p转到上一个

[  
    {   
      "key": "tab",               
      "command": "selectNextSuggestion",  
      "when": "editorTextFocus && suggestWidgetMultipleSuggestions && suggestWidgetVisible" },  
    {  
      "key": "ctrl+p",                    
      "command": "selectPrevSuggestion",  
      "when": "editorTextFocus && suggestWidgetMultipleSuggestions && suggestWidgetVisible" },  
]

我以前确实设置过,但仍然是两者都有。但我发现它的工作原理是使用箭头键去掉intellisense,然后用tab键切换到下一个变量名称这是一个恼人的问题。唯一对我有效的解决方案是在代码段模式下出现自动完成时按esc键。这对我有效。必须重新启动vs代码以使其工作,但一旦重新打开,就没有问题了。