VSCode Python交互窗口中能否交换Shift-Enter与Enter的功能?
当然可以!VS Code的键盘快捷键完全支持自定义,你只需要修改对应的按键绑定就能实现交互窗口里Enter和Shift+Enter功能的交换,具体步骤如下:
1. 打开自定义键盘快捷键配置文件
- 按下快捷键
Ctrl+K Ctrl+S(Windows/Linux)或者Cmd+K Cmd+S(Mac)打开键盘快捷键面板; - 点击面板右上角的「打开键盘快捷方式(JSON)」按钮(就是那个大括号
{}图标),进入自定义配置文件。
2. 添加交换按键的配置
在打开的keybindings.json文件中,添加以下代码块:
// 交换交互式窗口中 Enter 与 Shift+Enter 的功能 { "key": "enter", "command": "interactive.execute", "when": "interactiveEditorFocused && inputFocus" }, { "key": "shift+enter", "command": "interactive.insertNewLine", "when": "interactiveEditorFocused && inputFocus" }, // 移除默认的按键绑定 { "key": "enter", "command": "-interactive.insertNewLine", "when": "interactiveEditorFocused && inputFocus" }, { "key": "shift+enter", "command": "-interactive.execute", "when": "interactiveEditorFocused && inputFocus" }
3. 保存并测试
保存keybindings.json文件后,回到VS Code的交互窗口:
- 按下Enter就能直接运行当前输入的代码;
- 按下Shift+Enter则会换行,继续输入内容。
小提示
如果你的交互窗口是Jupyter笔记本的单元格(而非独立的交互式窗口),可以把配置里的when条件改成notebookCellEditMode && inputFocus,这样就能在笔记本单元格里生效啦。
内容的提问来源于stack exchange,提问作者Jorrit de boer




