VS Code Jupyter Notebook中GitHub Copilot快捷键冲突问题咨询
VS Code 下 GitHub Copilot 与 Jupyter Notebook 的 Ctrl+Enter 快捷键冲突解决方法
目前两个扩展的官方团队都没有针对这个高频冲突场景预设统一的替代快捷键,常规解决方式都是自定义按键规则,没有强制要求的固定方案,可根据自己的使用习惯选择调整方式:
- 第一步打开快捷键配置面板:直接按下组合键
Ctrl + K后松开再按Ctrl + S(macOS环境替换为Cmd + K+Cmd + S),或是点击左下角齿轮图标选择「键盘快捷方式」进入配置页 - 在配置页顶部搜索框输入
Ctrl + Enter,就能直接定位到两个冲突的命令项:- Jupyter 扩展绑定项:
notebook.cell.executeAndStay,对应功能是执行当前单元格、执行后光标停留在当前单元格 - GitHub Copilot 绑定项:
github.copilot.showAdditionalCompletions,对应功能是拉取10条额外的行内补全推荐
- Jupyter 扩展绑定项:
- 三种常用调整方案按需选择即可:
- 方案1(适配绝大多数Notebook用户习惯):保留Jupyter的
Ctrl+Enter执行单元格默认逻辑,给Copilot的额外补全功能绑定新快捷键。找到github.copilot.showAdditionalCompletions条目双击,按下你习惯的无冲突组合键即可,常用的可选绑定有Alt + Enter、Ctrl + Alt + Space这类不容易误触的组合 - 方案2(零改键方案,最省心):给两个命令分别加触发条件,不用替换任何按键。右键对应命令条目选择「更改 when 表达式」:给Jupyter的执行命令设置触发条件为
notebookEditorFocused,给Copilot的额外补全命令设置触发条件为editorHasInlineSuggestion && !notebookEditorFocused。设置后在Notebook编辑场景下Ctrl+Enter永远触发单元格执行,在普通代码文件编辑、且Copilot弹出了行内补全的场景下,Ctrl+Enter才会触发拉取更多补全,完全不会冲突 - 方案3:保留Copilot的
Ctrl+Enter触发额外补全逻辑,找到Jupyter对应的notebook.cell.executeAndStay命令,重新绑定你习惯的单元格执行按键即可
配置完成后可以分别在普通代码编辑页、Notebook单元格编辑页测试按键触发效果,确认没有和其他常用功能产生新的冲突即可正常使用
- 方案1(适配绝大多数Notebook用户习惯):保留Jupyter的
内容的提问来源于stack exchange,提问作者Maximilian Jesch
相关产品推荐
相关产品推荐

