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文本数据相似度的度量
Mar 12 Python
Python使用到第三方库PyMuPDF图片与pdf相互转换
May 03 Python
Pytorch修改ResNet模型全连接层进行直接训练实例
Sep 10 Python
Python 类属性与实例属性,类对象与实例对象用法分析
Sep 20 Python
Python基础之函数基本用法与进阶详解
Jan 02 Python
使用Python来做一个屏幕录制工具的操作代码
Jan 18 Python
Python实现不规则图形填充的思路
Feb 02 Python
Python+redis通过限流保护高并发系统
Apr 15 Python
Python实现Word表格转成Excel表格的示例代码
Apr 16 Python
Python3+Appium安装及Appium模拟微信登录方法详解
Feb 16 Python
python3美化表格数据输出结果的实现代码
Apr 14 Python
一起来学习Python的元组和列表
Mar 13 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
自制短波长线天线频率预选器 - 成功消除B2K之流的镜像
2021/03/02 无线电
php5 图片验证码实现代码
2009/12/11 PHP
PHP写日志的实现方法
2014/11/05 PHP
Discuz!X中SESSION机制实例详解
2015/09/23 PHP
js 单引号 传递方法
2009/06/22 Javascript
再谈javascript 动态添加样式规则 W3C校检
2009/12/25 Javascript
php对mongodb的扩展(小试牛刀)
2012/11/11 Javascript
网页加载时页面显示进度条加载完成之后显示网页内容
2012/12/23 Javascript
详解Angular的双向数据绑定(MV-VM)
2016/12/26 Javascript
JSON与JS对象的区别与对比
2017/03/01 Javascript
详解VUE的状态控制与延时加载刷新
2017/03/27 Javascript
angularjs定时任务的设置与清除示例
2017/06/02 Javascript
Jquery EasyUI $.Parser
2017/06/02 jQuery
vue项目优化之通过keep-alive数据缓存的方法
2017/12/11 Javascript
jQuery EasyUI window窗口使用实例代码
2017/12/25 jQuery
vue二级路由设置方法
2018/02/09 Javascript
Vue中如何实现proxy代理
2018/04/20 Javascript
vue动画之点击按钮往上渐渐显示出来的实例
2018/09/29 Javascript
vue实现记事本功能
2019/06/26 Javascript
js数组的基本使用总结
2021/01/18 Javascript
Vue实现摇一摇功能(兼容ios13.3以上)
2021/01/26 Vue.js
Python程序员开发中常犯的10个错误
2014/07/07 Python
PyQt5实现类似别踩白块游戏
2019/01/24 Python
详解python中的hashlib模块的使用
2019/04/22 Python
Python中关于浮点数的冷知识
2019/09/22 Python
python base64库给用户名或密码加密的流程
2020/01/02 Python
Python基于pandas绘制散点图矩阵代码实例
2020/06/04 Python
无惧面试,带你搞懂python 装饰器
2020/08/17 Python
博柏利美国官方网站:Burberry美国
2020/11/19 全球购物
校园招聘策划书
2014/01/09 职场文书
农业开发项目建议书
2014/05/16 职场文书
施工安全承诺书
2014/05/22 职场文书
三八妇女节超市活动方案
2014/08/18 职场文书
酒会开场白大全
2015/06/01 职场文书
孝女彩金观后感
2015/06/10 职场文书
《藏戏》教学反思
2016/02/23 职场文书