VSCode Python如何正确配置快捷键在终端执行选中代码
结论
你遇到的不是预期行为,是快捷键绑定的命令与触发场景不匹配导致的。
异常原因
- 你绑定的
interactive.execute是VS Code交互式窗口(Interactive Window)的专用执行命令,配置的when条件也限定了仅在交互式窗口上下文生效 - 在普通.py文件编辑界面触发该快捷键时,命令无法匹配对应上下文,会触发编辑区默认Ctrl+Enter行为:在当前行上方插入空行
- 该命令不会自动给发送到终端的代码追加换行符,因此代码粘贴到终端后不会自动执行,需要手动按回车触发
正确配置方案
如果要实现和Spyder F9一致的、选中代码/当前行自动发送到终端执行的效果,替换快捷键绑定规则即可:
{ "key": "ctrl+enter", "command": "python.execSelectionInTerminal", "when": "editorLangId == 'python' && editorTextFocus && !findInputFocussed && !replaceInputFocussed" }
若需要同时保留交互式窗口的执行逻辑,保留你原有的配置即可,两条规则互不冲突。
效果验证
配置保存后,在Python文件编辑界面选中目标代码或者将光标停在目标行上,按下ctrl+enter即可实现代码自动发送到终端并执行,编辑区不会插入多余空行。
内容的提问来源于stack exchange,提问作者alanTri
相关产品推荐
相关产品推荐

