若VSCode中Jupyter Notebook快捷键失效,需依次检查:一、启用并更新Microsoft官方Jupyter扩展;二、清理keybindings.json中冲突绑定;三、手动添加shift+enter等标准快捷键规则;四、切换至命令模式使用A/B/M/DD等Cell操作键;五、排查工作区级keybindings.json覆盖。
如果您在vscode中使用jupyter notebook,但发现默认快捷键无法响应或与预期行为不符,则可能是由于keymap未正确加载、扩展未启用或快捷键被其他命令覆盖。以下是恢复和启用jupyter快捷键支持的多种方法:
本文运行环境:MacBook Pro M3,macOS Sequoia。
一、验证Jupyter扩展是否已启用并更新
VSCode的Jupyter快捷键功能依赖于官方Jupyter扩展的完整加载与激活。若扩展处于禁用、损坏或旧版本状态,快捷键将无法注册或触发。
1、按下 Cmd+Shift+X 打开扩展面板。
2、在搜索框中输入 Jupyter,确认由 Microsoft 发布的扩展已安装且状态为“已启用”。
3、点击该扩展右下角的齿轮图标,选择“检查更新”,确保版本号不低于 v2025.10.x。
4、若存在更新,点击“更新”按钮;更新完成后重启 VSCode。
二、重置Jupyter相关快捷键绑定
用户自定义的 keybindings.json 可能覆盖了Jupyter核心命令的默认快捷键,导致 Shift+Enter 等关键组合失效。需清除冲突或显式还原绑定。
1、按下 Cmd+Shift+P 打开命令面板。
2、输入并选择 Preferences: Open Keyboard Shortcuts (JSON)。
3、查找是否存在如下形式的重复或覆盖项:
{ "key": "shift+enter", "command": "..." }。
4、若存在非 jupyter.execSelectionInteractive 的 command 值,将其整条删除或注释掉。
5、保存文件,VSCode 将自动重新加载快捷键配置。
三、手动注入Jupyter标准Keymap规则
当VSCode未能自动注册Jupyter命令时,可通过手动添加标准快捷键映射强制启用支持,尤其适用于企业策略限制或沙盒环境。
1、再次打开 Preferences: Open Keyboard Shortcuts (JSON)。
2、在数组内插入以下两条基础规则(注意逗号分隔):
{ "key": "shift+enter", "command": "jupyter.execSelectionInteractive", "when": "editorTextFocus && jupyter.hasNotebookProvider && !notebookEditorFocused" }
{ "key": "ctrl+enter", "command": "jupyter.execSelectionInTerminal", "when": "editorTextFocus && jupyter.hasNotebookProvider" }
3、确保每条规则末尾有英文逗号(除最后一条外),且整个文件为合法 JSON 数组格式。
4、保存后立即测试 Shift+Enter 是否可在代码单元格中执行。
四、切换至命令模式并验证Cell级快捷键
Jupyter在VSCode中区分编辑模式(Edit Mode)与命令模式(Command Mode),部分快捷键(如 A/B/M/Y/DD)仅在命令模式下生效,需先退出编辑状态。
1、点击任意代码单元格内部,按 Esc 键退出编辑模式,进入命令模式(此时光标变为灰色方块,无闪烁竖线)。
2、按 A 在当前单元格上方插入新代码单元格。
3、按 B 在当前单元格下方插入新代码单元格。
4、按 M 将当前单元格切换为 Markdown 单元格。
5、连续按两次 D 删除当前选中单元格。
五、检查工作区级别Keymap覆盖
某些项目根目录下的 .vscode/keybindings.json 或 settings.json 可能包含 workspace-scoped 快捷键覆盖,优先级高于全局设置,易造成Jupyter快捷键静默失效。
1、在资源管理器中展开当前工作区,查看是否存在 .vscode/keybindings.json 文件。
2、若存在,用文本编辑器打开,搜索关键词 jupyter 或 shift+enter。
3、临时重命名该文件为 keybindings.json.bak。
4、重启 VSCode 并测试快捷键是否恢复正常响应。









