Python 在 VSCode 中使用 IPython Kernel 的方法详解


Posted in Python onSeptember 05, 2020

本文介绍,在 VSCode 使用 IPython Kernel的设置方法,详细介绍如下所示:

要达到的效果:

只需按下 Ctrl+;,选中的几行代码,就会自动发送到 IPython Kernel,并运行,得到结果!当然,快捷键也可以另行设置!

Python 在 VSCode 中使用 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 的方法内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Python 相关文章推荐
Python __setattr__、 __getattr__、 __delattr__、__call__用法示例
Mar 06 Python
Python的Tornado框架异步编程入门实例
Apr 24 Python
Python实现的矩阵类实例
Aug 22 Python
快速了解Python相对导入
Jan 12 Python
python合并同类型excel表格的方法
Apr 01 Python
python selenium 对浏览器标签页进行关闭和切换的方法
May 21 Python
pandas 按照特定顺序输出的实现代码
Jul 10 Python
Django 接收Post请求数据,并保存到数据库的实现方法
Jul 12 Python
python 基于dlib库的人脸检测的实现
Nov 08 Python
python字符串,元组,列表,字典互转代码实例详解
Feb 14 Python
基于Python获取docx/doc文件内容代码解析
Feb 17 Python
Python脚本实现Zabbix多行日志监控过程解析
Aug 26 Python
Python中猜拳游戏与猜筛子游戏的实现方法
Sep 04 #Python
Python实现快速大文件比较代码解析
Sep 04 #Python
基于python实现图片转字符画代码实例
Sep 04 #Python
Python HTMLTestRunner如何下载生成报告
Sep 04 #Python
详解python中的lambda与sorted函数
Sep 04 #Python
如何利用Python动态模拟太阳系运转
Sep 04 #Python
python装饰器三种装饰模式的简单分析
Sep 04 #Python
You might like
[原创]php使用curl判断网页404(不存在)的方法
2016/06/23 PHP
PHP生成二维码与识别二维码的方法详解【附源码下载】
2019/03/07 PHP
基于jQuery的ajax功能实现web service的json转化
2009/08/29 Javascript
js sort 二维数组排序的用法小结
2014/01/24 Javascript
基于javascript实现彩票随机数生成(升级版)
2020/04/17 Javascript
angular route中使用resolve在uglify压缩后问题解决
2016/09/21 Javascript
EasyUI折叠表格层次显示detailview详解及实例
2016/12/28 Javascript
详解打造 Vue.js 可复用组件
2017/03/24 Javascript
import与export在node.js中的使用详解
2017/09/28 Javascript
Vue组件的使用及个人理解与介绍
2019/02/09 Javascript
Vue实现固定定位图标滑动隐藏效果
2019/05/30 Javascript
ES6中异步对象Promise用法详解
2019/07/31 Javascript
vue路由教程之静态路由
2019/09/03 Javascript
[55:44]完美世界DOTA2联赛决赛 FTD vs Phoenix 第二场 11.08
2020/11/11 DOTA
使用python将mdb数据库文件导入postgresql数据库示例
2014/02/17 Python
django输出html内容的实例
2018/05/27 Python
Django开发的简易留言板案例详解
2018/12/04 Python
python 限制函数执行时间,自己实现timeout的实例
2019/01/12 Python
Python字典的基本用法实例分析【创建、增加、获取、修改、删除】
2019/03/05 Python
Python统计分析模块statistics用法示例
2019/09/06 Python
jupyter notebook 多行输出实例
2020/04/09 Python
Docker如何部署Python项目的实现详解
2020/10/26 Python
python 下载文件的多种方法汇总
2020/11/17 Python
总结python 三种常见的内存泄漏场景
2020/11/20 Python
Django多个app urls配置代码实例
2020/11/26 Python
HTML5 device access 设备访问详解
2018/05/24 HTML / CSS
NARS化妆品官方商店:美国彩妆品牌
2017/08/26 全球购物
纬创Java面试题笔试题
2014/10/02 面试题
党校学习自我鉴定
2014/02/24 职场文书
办公室打字员岗位职责
2014/04/16 职场文书
公司贷款承诺书
2014/05/30 职场文书
工厂仓管员岗位职责范本
2014/07/17 职场文书
工作批评与自我批评范文
2014/10/16 职场文书
2014年学校财务工作总结
2014/12/06 职场文书
2015小学毕业班工作总结
2015/07/21 职场文书
Python使用scapy模块发包收包
2021/05/07 Python