Python 在 VSCode 中使用 IPython Kernel 的方法详解
本文介绍,在VSCode使用IPythonKernel的设置方法,详细介绍如下所示:
要达到的效果:
只需按下Ctrl+;,选中的几行代码,就会自动发送到IPythonKernel,并运行,得到结果!当然,快捷键也可以另行设置!
为什么要这么做:
首先,这种配置方式,比较轻量快速;
主要用于,增加写代码时的“互动性”,可以边写代码,边测试;例如,在写代码时候,快速测试下,一行或几行代码,看看效果;
所以,非常适合新手,边写边学习,或者,需要写个几十行代码,迅速解决问题,的情况;
另外,这种配置也比较方便Debug的过程,因为可以逐行运行,或者,不按顺序的运行测试任意一行代码;
基本配置:
- 安装Python程序
- 安装IPython(pipinstall)
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+;,直接发送选中行,到IPythonKernel了!
微小的不足:
就是,首次,按下Ctrl+;,运行代码的时候,需要切换到Terminal窗口,手动按下回车,才会运行代码,
之后再运行代码时,直接按Ctrl+;即可,代码会自动发送过去,并运行出结果,就再也不需要按回车了。
关于设置方式的解释:
如果不感兴趣设置原理,这部分,就可以跳过了,感兴趣原理的,请继续观看!
首先,"setting.json"中,设置的第一行,是为了让,PythonInterpreter打开时,自动调出IPythonKernel;
而,"setting.json"中的,第二项设置,是设置的,把选中代码发送到Kernel,并按下回车,的这一系列动作,这里需要multi-command插件的支持;
最后,在"keybindings.json"中的设置,是为了把,调用上面命令的快捷键,设置为Ctrl+;,如果想设置成其他快捷键,改掉Key后面的值就行了!
其他设置方法及互动模式(InteractiveMode):
当然还有其他的设置方式也能达到同样的效果
- 例如,直接运行代码fromIPythonimportembed;embed(),也可以立刻打开IPythonKernel;只不过,这时候,就没有快捷键那么方便和舒服了;而且这样打开的Kernel都是黑白的,没有彩色;
- 也可以直接使用VSCode的Python插件,自带的InteractiveMode和JupyterNotebook的功能;这两个功能都超级好用,但若,只想快速解决个小问题,写个几十行代码的话,这两个功能稍微有点toomuch了,而且很占用屏幕的地方,不够简洁!关于这两个功能,虽然非常好,但这里就不详细介绍了!
- 所以,我还是,最喜欢,也最推荐上面的方法!
到此这篇关于Python在VSCode中使用IPythonKernel的方法详解的文章就介绍到这了,更多相关VSCode使用IPythonKernel的方法内容请搜索毛票票以前的文章或继续浏览下面的相关文章希望大家以后多多支持毛票票!
声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:czq8825#qq.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。