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程序添加图形化界面的教程
Apr 29 Python
Python实现运行其他程序的四种方式实例分析
Aug 17 Python
Python 基础教程之str和repr的详解
Aug 20 Python
Python实现简单的用户交互方法详解
Sep 25 Python
Python3多目标赋值及共享引用注意事项
May 27 Python
选择python进行数据分析的理由和优势
Jun 25 Python
Django实现基于类的分页功能
Oct 31 Python
让你的Python代码实现类型提示功能
Nov 19 Python
使用Python求解带约束的最优化问题详解
Feb 11 Python
python virtualenv虚拟环境配置与使用教程详解
Jul 13 Python
python在地图上画比例的实例详解
Nov 13 Python
python多次执行绘制条形图
Apr 20 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文本转图片自动换行的方法
2013/03/13 PHP
PHP多维数组元素操作类的方法
2016/11/14 PHP
php读取本地json文件的实例
2018/03/07 PHP
Laravel实现短信注册的示例代码
2018/05/29 PHP
Yii2框架redis基本应用示例
2018/07/13 PHP
身份证号码前六位所代表的省,市,区, 以及地区编码下载
2007/04/12 Javascript
效率高的Javscript字符串替换函数的benchmark
2008/08/02 Javascript
JavaScript 脚本将当地时间转换成其它时区
2009/03/19 Javascript
使用jQuery的将桌面应用程序引入浏览器
2010/11/19 Javascript
js,jQuery 排序的实现代码,网页标签排序的实现,标签排序
2011/04/27 Javascript
JS冒泡事件的快速解决方法
2013/12/16 Javascript
关于编写性能高效的javascript事件的技术
2014/11/28 Javascript
javascript嵌套函数和在函数内调用外部函数的区别分析
2016/01/31 Javascript
jquery实现ajax加载超时提示的方法
2016/07/23 Javascript
Jquery Easyui日历组件Calender使用详解(23)
2016/12/18 Javascript
Vue.js中轻松解决v-for执行出错的三个方案
2017/06/09 Javascript
bootstrap中selectpicker下拉框使用方法实例
2018/03/22 Javascript
react配合antd组件实现的管理系统示例代码
2018/04/24 Javascript
微信小程序使用wxParse解析html的方法教程
2018/07/06 Javascript
基于vue-cli 路由 实现类似tab切换效果(vue 2.0)
2019/05/08 Javascript
在Python的列表中利用remove()方法删除元素的教程
2015/05/21 Python
Python利用matplotlib生成图片背景及图例透明的效果
2017/04/27 Python
Python实现统计英文文章词频的方法分析
2019/01/28 Python
python几种常用功能实现代码实例
2019/12/25 Python
python两个_多个字典合并相加的实例代码
2019/12/26 Python
Python安装whl文件过程图解
2020/02/18 Python
Python OpenCV去除字母后面的杂线操作
2020/07/05 Python
详解python定时简单爬取网页新闻存入数据库并发送邮件
2020/11/27 Python
总结html5自定义属性有哪些
2020/04/01 HTML / CSS
Linden Leaves官网:新西兰纯净护肤品
2020/12/20 全球购物
银行个人求职自荐信范文
2013/12/16 职场文书
讲文明树新风公益广告宣传方案
2014/02/25 职场文书
学校党的群众路线教育实践活动制度建设计划
2014/11/03 职场文书
员工2014年度工作总结
2014/12/09 职场文书
python基于tkinter制作m3u8视频下载工具
2021/04/24 Python
Vue.Draggable实现交换位置
2022/04/07 Vue.js