【发布时间】:2020-10-22 02:20:18
【问题描述】:
选项卡的默认设置是使用当前建议... 但我想使用 tab 切换到下一个建议并补充并使用 shift+tab 到上一个建议,使用 Enter 选择当前建议... 我应该怎么做才能实现这个键盘映射? 我的 VSC 版本是 1.50.1,我使用 vim 键盘映射....
【问题讨论】:
选项卡的默认设置是使用当前建议... 但我想使用 tab 切换到下一个建议并补充并使用 shift+tab 到上一个建议,使用 Enter 选择当前建议... 我应该怎么做才能实现这个键盘映射? 我的 VSC 版本是 1.50.1,我使用 vim 键盘映射....
【问题讨论】:
这可以在when 子句的帮助下完成,方法是将其添加到您的keybindings.json:
{
"key": "tab",
"command": "selectNextSuggestion",
"when": "suggestWidgetVisible && suggestWidgetMultipleSuggestions"
}
这样绑定不会影响 Tab 在没有显示建议时的行为(即在编辑文本时,当然取决于 vim 键绑定覆盖的内容);如果它只有一个,它仍然会插入建议(因为 suggestWidgetMultipleSuggestions 将评估为 false;如果您想要一致性,只需将其从 when 子句中删除,只留下 suggestWidgetVisible 那里)。
Shift+Tab 的类似情况:
{
"key": "shift+tab",
"command": "selectPrevSuggestion",
"when": "suggestWidgetVisible && suggestWidgetMultipleSuggestions"
}
Enter 不需要被覆盖,但如果出于某种原因需要覆盖,它应该是这样的:
{
"key": "enter",
"command": "acceptSelectedSuggestion",
"when": "suggestWidgetVisible"
}
关于when指令的详细信息可以在here找到。
【讨论】: