【问题标题】:Tab is conflicting intellisense and snippets in vs code标签与 vs 代码中的智能感知和片段冲突
【发布时间】:2016-12-27 15:44:40
【问题描述】:

例如,我想使用“for”sn-p。我写了 for 并按了两次 tab,所以它会自动完成整个 for 循环并选择计数器,以便我可以更改它。我更改它,然后按 Tab 键转到下一个变量(条件语句中的一个 'counter 我只想写 'arr' 然后按 Tab 键转到循环中的下一个变量,但是如果我按 Tab 键它会自动完成。有什么解决方案吗?

【问题讨论】:

  • 这样一个烦人的问题。唯一对我有用的解决方案是在 sn-p 模式下出现自动完成时按 esc。

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


【解决方案1】:

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

将以下内容添加到您的keybindings.json

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

第一行禁用现有规则,第二行重新启用它,除非您处于 sn-p 模式。

【讨论】:

  • 这对我有用。必须重新启动 vs 代码才能使其工作,但是一旦重新打开,就没有问题了。
【解决方案2】:

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

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

【讨论】:

    【解决方案3】:

    您可以做的是禁用tab 上的接受建议并启用纯tabCompletion。各自的设置是"editor.acceptSuggestionOnEnter": false"editor.tabCompletion": true。使用这些设置,您可以完成 sn-ps,例如 for 仅使用选项卡(没有 IntelliSense 弹出),当 IntelliSense 显示建议时,可以仅使用 enter 接受

    【讨论】:

    • 我之前确实将其设置为完全一样,但标签仍然适用于两者。我发现正在工作的是使用箭头键摆脱智能感知,然后使用 Tab 键切换到下一个变量名
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-04-26
    • 1970-01-01
    • 1970-01-01
    • 2019-07-26
    • 1970-01-01
    • 1970-01-01
    • 2018-01-19
    相关资源
    最近更新 更多