本文介绍,在 VSCode 使用 IPython Kernel的设置方法,详细介绍如下所示:
要达到的效果:
只需按下 Ctrl+;
,选中的几行代码,就会自动发送到 IPython Kernel,并运行,得到结果!当然,快捷键也可以另行设置!
为什么要这么做:
首先,这种配置方式,比较轻量快速;
主要用于,增加写代码时的“互动性”,可以边写代码,边测试;例如,在写代码时候,快速测试下,一行或几行代码,看看效果;
所以,非常适合新手,边写边学习,或者,需要写个几十行代码,迅速解决问题,的情况;
另外,这种配置也比较方便 Debug 的过程,因为可以逐行运行,或者,不按顺序的运行测试任意一行代码;
基本配置:
- 安装 Python 程序
- 安装 IPython (pip install)
VSCode 插件配置:
- Python 插件 (Python 编程必备插件)
- multi-command 插件 (支持多步骤的命令)
设置方式:
1. 在 "setting.json" 中添加如下代码并保存:
"python.terminal.launchArgs": ["-m", "IPython", "--no-autoindent"], "multiCommand.commands": [ { "command": "multiCommand.executeIPython", "sequence": [ "python.execSelectionInTerminal", "workbench.action.terminal.focus", "workbench.action.terminal.scrollToBottom", {"command": "workbench.action.terminal.sendSequence", "args": { "text": "\u000D" }}, "workbench.action.focusActiveEditorGroup" ] }, ]
2. 在 "keybindings.json" 中添加如下代码并保存:
{ "key": "ctrl+;", "command": "multiCommand.executeIPython", "when": "editorTextFocus && python.datascience.featureenabled && python.datascience.ownsSelection && !findInputFocussed && !notebookEditorFocused && !replaceInputFocussed && editorLangId == 'python'" }
然后,就可以做到,按下 Ctrl+;
,直接发送选中行,到 IPython Kernel 了!
微小的不足:
就是,首次,按下 Ctrl+;
,运行代码的时候,需要切换到 Terminal 窗口,手动按下回车,才会运行代码,
之后再运行代码时,直接按 Ctrl+;
即可,代码会自动发送过去,并运行出结果,就再也不需要按回车了。
关于设置方式的解释:
如果不感兴趣设置原理,这部分,就可以跳过了,感兴趣原理的,请继续观看!
首先,"setting.json" 中,设置的第一行,是为了让,Python Interpreter 打开时,自动调出 IPython Kernel;
而,"setting.json" 中的,第二项设置,是设置的,把选中代码发送到 Kernel,并按下回车,的这一系列动作,这里需要 multi-command 插件的支持;
最后,在 "keybindings.json" 中的设置,是为了把,调用上面命令的快捷键,设置为 Ctrl+;
,如果想设置成其他快捷键,改掉 Key 后面的值就行了!
其他设置方法及互动模式 (Interactive Mode):
当然还有其他的设置方式也能达到同样的效果
- 例如,直接运行代码
from IPython import embed; embed()
,也可以立刻打开 IPython Kernel;只不过,这时候,就没有快捷键那么方便和舒服了;而且这样打开的 Kernel 都是黑白的,没有彩色; - 也可以直接使用 VSCode 的 Python 插件,自带的 Interactive Mode 和 Jupyter Notebook 的功能;这两个功能都超级好用,但若,只想快速解决个小问题,写个几十行代码的话,这两个功能稍微有点 too much 了,而且很占用屏幕的地方,不够简洁!关于这两个功能,虽然非常好,但这里就不详细介绍了!
- 所以,我还是,最喜欢,也最推荐上面的方法!
到此这篇关于Python 在 VSCode 中使用 IPython Kernel 的方法详解的文章就介绍到这了,更多相关VSCode 使用 IPython Kernel 的方法内容请搜索易盾网络以前的文章或继续浏览下面的相关文章希望大家以后多多支持易盾网络!