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中matplotlib的颜色及线条控制的示例
Mar 16 Python
对Python实现累加函数的方法详解
Jan 23 Python
Python3实现的简单工资管理系统示例
Mar 12 Python
分析经典Python开发工程师面试题
Apr 08 Python
Python中的单下划线和双下划线使用场景详解
Sep 09 Python
python如何从文件读取数据及解析
Sep 19 Python
用Python解数独的方法示例
Oct 24 Python
Python全面分析系统的时域特性和频率域特性
Feb 26 Python
PyCharm2020.1.1与Python3.7.7的安装教程图文详解
Aug 07 Python
如何从csv文件构建Tensorflow的数据集
Sep 21 Python
解析目标检测之IoU
Jun 26 Python
一行Python命令实现批量加水印
Apr 07 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
一个ubbcode的函数,速度很快.
2006/10/09 PHP
模仿OSO的论坛(四)
2006/10/09 PHP
Discuz 模板语句分析及知识技巧
2009/08/21 PHP
php中用于检测一个地理IP地址是否可用的代码
2012/02/19 PHP
PHP网页游戏学习之Xnova(ogame)源码解读(五)
2014/06/23 PHP
php中strtotime函数性能分析
2016/11/20 PHP
PHP面向对象之里氏替换原则简单示例
2018/04/08 PHP
php校验公钥是否可用的实例方法
2019/09/17 PHP
js的.innerHTML = ""IE9下显示有错误的解决方法
2013/09/16 Javascript
jquery.autocomplete修改实现键盘上下键自动填充示例
2013/11/19 Javascript
使用js操作css实现js改变背景图片示例
2014/03/10 Javascript
JSONP跨域的原理解析及其实现介绍
2014/03/22 Javascript
JavaScript排序算法之希尔排序的2个实例
2014/04/04 Javascript
jQuery绑定事件不执行但alert后可以正常执行
2014/06/03 Javascript
基于javascript、ajax、memcache和PHP实现的简易在线聊天室
2015/02/03 Javascript
js实现新浪微博首页效果
2015/10/16 Javascript
极易被忽视的javascript面试题七问七答
2016/02/15 Javascript
Js自动截取字符串长度,添加省略号(……)的实现方法
2017/03/06 Javascript
Vue2.0仿饿了么webapp单页面应用详细步骤
2018/07/08 Javascript
Js视频播放器插件Video.js使用方法详解
2020/02/04 Javascript
[03:02]安得倚天剑,跨海斩长鲸——中国军团出征DOTA2国际邀请赛
2018/08/14 DOTA
python之Socket网络编程详解
2016/09/29 Python
python 返回列表中某个值的索引方法
2018/11/07 Python
python 回溯法模板详解
2020/02/26 Python
python脚本定时发送邮件
2020/12/22 Python
美国标志性加大尺码时装品牌:Ashley Stewart
2016/12/15 全球购物
Etam德国:内衣精品店
2019/08/25 全球购物
保荐人的岗位职责
2013/11/19 职场文书
大学运动会通讯稿
2014/01/28 职场文书
如何撰写岗位职责
2014/02/01 职场文书
警察群众路线对照检查材料思想汇报
2014/10/01 职场文书
基层党组织整改方案
2014/10/25 职场文书
python tkinter Entry控件的焦点移动操作
2021/05/22 Python
springboot+VUE实现登录注册
2021/05/27 Vue.js
Go语言grpc和protobuf
2022/04/13 Golang
netty 实现tomcat的示例代码
2022/06/05 Servers