Tab是vs代码中的智能感知和片段冲突

时间:2016-12-27 15:44:41

标签: autocomplete visual-studio-code code-snippets

我想使用' for'例如,摘录。我写了两次并按Tab键,所以它自动完成整个for循环并选择计数器,所以我可以改变它。我更改了它,然后按Tab键转到下一个变量(条件语句中的'计数器< [here]')。那问题就是我写的#arr'并自动填充类似' ANGLE_instanced_arrays'。 我想写下#arr'然后按Tab键转到循环中的下一个变量,但是如果我按Tab键它会自动完成。任何解决方案?

3 个答案:

答案 0 :(得分:10)

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

将以下内容添加到keybindings.json

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

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

答案 1 :(得分:1)

您可以做的是禁用tab上的接受建议并启用纯tabCompletion。相应的设置为"editor.acceptSuggestionOnEnter": false"editor.tabCompletion": true。使用这些设置,您可以完成代码段,例如for仅使用选项卡(不会弹出智能感知)以及智能感知显示建议时只能使用enter

答案 2 :(得分:0)

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

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