VS Code中Tabnine行内建议与IntelliSense建议面板冲突问题求助
解决VS Code中Tabnine行内建议与IntelliSense面板的冲突问题
问题描述
使用VS Code的Tabnine插件时,碰到了行内建议和IntelliSense建议面板的冲突。想要实现的操作逻辑是:
- 输入过程中按
tab键,自动补全Tabnine的行内建议 - 按
enter键,直接插入IntelliSense建议面板里默认选中的第一项
但实际情况是:
- 建议面板的第一项不会被预先选中,按
enter只会换行 - 必须先按
arrow down选中第一项,再按enter才能插入该建议 - 目前
tab键可以正常补全Tabnine的行内建议
当前部分编辑器配置如下:
"editor.inlineSuggest.enabled": true, "editor.suggestSelection": "first", "editor.suggest.selectionMode": "never", "[javascript]": { "editor.defaultFormatter": "esbenp.prettier-vscode", "editor.suggestSelection": "recentlyUsed" }, "[typescript]": { "editor.defaultFormatter": "esbenp.prettier-vscode", "editor.suggestSelection": "recentlyUsed" }
解决方案
通过调整VS Code的编辑器配置,就能实现预期效果:
修改
editor.suggest.selectionMode设置
将原配置中的"editor.suggest.selectionMode": "never"改为"editor.suggest.selectionMode": "always",这个设置会让IntelliSense建议面板弹出时自动选中第一项。统一全局与语言特定的建议选中规则
如果希望JavaScript和TypeScript文件也默认选中建议面板第一项,把这两个语言配置里的"editor.suggestSelection": "recentlyUsed"改成"first",或者直接删除这两行,继承全局的"editor.suggestSelection": "first"设置。
修改后的完整配置示例:
"editor.inlineSuggest.enabled": true, "editor.suggestSelection": "first", "editor.suggest.selectionMode": "always", "[javascript]": { "editor.defaultFormatter": "esbenp.prettier-vscode", "editor.suggestSelection": "first" }, "[typescript]": { "editor.defaultFormatter": "esbenp.prettier-vscode", "editor.suggestSelection": "first" }
效果验证
调整配置后:
- IntelliSense建议面板弹出时会自动选中第一项,按
enter键直接插入该建议 tab键依然负责补全Tabnine的行内建议,两者操作互不冲突
内容的提问来源于stack exchange,提问作者Amir Meimari
相关产品推荐
相关产品推荐

