配置VS2015 Intellisense确认按键:保留自动提示指定触发键
如何自定义IntelliSense补全的确认按键(不关闭自动提示)
我之前也碰到过一模一样的糟心情况——想敲个(创建新方法,结果IntelliSense直接把当前选中的补全提示给确认了,每次都得先按Esc关掉提示才能继续,效率低得离谱。好在咱们不用关掉自动提示,只要调整编辑器的键绑定,就能指定只有特定按键才会触发补全确认,其他按键该干嘛干嘛。
下面以VS Code为例(大部分主流IDE的逻辑类似,只是操作路径略有不同),给你一步步说明:
1. 打开键绑定设置
可以用快捷键快速打开:
- Windows/Linux:按下
Ctrl+K再按Ctrl+S - Mac:按下
Cmd+K再按Cmd+S
或者手动操作:点击左下角的设置图标 → 选择「键盘快捷方式」。
2. 定位补全确认的绑定命令
在搜索框里输入acceptSelectedSuggestion,这就是负责"确认选中的补全提示"的命令。你会看到默认情况下,除了Enter和Tab,可能还有shift+9(也就是输入(的按键组合)这类被绑定了这个命令——这就是问题的根源!
3. 移除不需要的按键绑定,保留你想要的
- 找到所有绑定了
acceptSelectedSuggestion的条目,对于你不想用来确认补全的按键(比如shift+9),右键点击它,选择「删除键绑定」。 - 如果你只想保留某一个按键(比如只让
Tab来确认补全),那就把其他所有绑定了这个命令的条目都删掉。
4. 可选:禁用Enter触发补全确认
如果你连Enter都不想用来确认补全,可以在设置里搜索acceptSelectedSuggestionOnEnter,把这个选项设为false,这样按Enter只会换行,不会触发补全确认。
手动修改keybindings.json的示例
如果你习惯直接编辑配置文件,可以打开keybindings.json(在键绑定设置页面点击右上角的图标即可打开),添加或修改以下内容:
[ // 保留Tab作为唯一的补全确认键 { "key": "tab", "command": "acceptSelectedSuggestion", "when": "suggestWidgetVisible && textInputFocus" }, // 移除Enter的默认补全确认绑定 { "key": "enter", "command": "-acceptSelectedSuggestion", "when": "suggestWidgetVisible && textInputFocus" }, // 移除shift+9的补全确认绑定(解决输入(时触发补全的问题) { "key": "shift+9", "command": "-acceptSelectedSuggestion", "when": "suggestWidgetVisible && textInputFocus" } ]
注意:配置里的-前缀表示移除原来的默认绑定,这样这些按键就只会执行原本的输入功能,不会再触发补全确认了。
这样设置之后,当IntelliSense的补全提示出现时,你按shift+9只会输入括号,不会确认补全,再也不用先按Esc关掉提示啦!
内容的提问来源于stack exchange,提问作者AnExoticllama
相关产品推荐
相关产品推荐

