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实现按任意键继续执行程序
Dec 30 Python
Python实现视频下载功能
Mar 14 Python
Python实现自定义函数的5种常见形式分析
Jun 16 Python
Python基于多线程实现抓取数据存入数据库的方法
Jun 22 Python
Python实现多属性排序的方法
Dec 05 Python
浅析Python 实现一个自动化翻译和替换的工具
Apr 14 Python
基于python实现从尾到头打印链表
Nov 02 Python
三个python爬虫项目实例代码
Dec 28 Python
Python全面分析系统的时域特性和频率域特性
Feb 26 Python
python实现mean-shift聚类算法
Jun 10 Python
python Scrapy爬虫框架的使用
Jan 21 Python
python网络爬虫实现发送短信验证码的方法
Feb 25 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
Yii2 rbac权限控制之rule教程详解
2016/06/23 PHP
详解php 使用Callable Closure强制指定回调类型
2017/10/26 PHP
Locate a File Using a File Open Dialog Box
2007/06/18 Javascript
一款Jquery 分页插件的改造方法(服务器端分页)
2011/07/11 Javascript
formValidator3.3的ajaxValidator一些异常分析
2011/07/12 Javascript
Js 导出table内容到Excel的简单实例
2013/11/19 Javascript
form.submit()不能提交表单的原因分析
2014/10/23 Javascript
node.js中的fs.read方法使用说明
2014/12/17 Javascript
javascript实现点击提交按钮后显示loading的方法
2015/07/03 Javascript
JavaScript lodash常见用法系列小结
2016/08/24 Javascript
谈谈target=_new和_blank的不同之处
2016/10/25 Javascript
浅谈javascript的闭包
2017/01/23 Javascript
Vue实现手机扫描二维码预览页面效果
2020/05/28 Javascript
JavaScript鼠标悬停事件用法解析
2020/05/15 Javascript
javascript实现移动端上传图片功能
2020/08/18 Javascript
vue实现禁止浏览器记住密码功能的示例代码
2021/02/03 Vue.js
使用python实现省市三级菜单效果
2016/01/20 Python
matplotlib savefig 保存图片大小的实例
2018/05/24 Python
Django实现登录随机验证码的示例代码
2018/06/20 Python
利用Python如何生成便签图片详解
2018/07/09 Python
python list格式数据excel导出方法
2018/10/31 Python
python批量下载网站马拉松照片的完整步骤
2018/12/05 Python
Python实现去除图片中指定颜色的像素功能示例
2019/04/13 Python
python manage.py runserver流程解析
2019/11/08 Python
python 多维高斯分布数据生成方式
2019/12/09 Python
Django单元测试中Fixtures用法详解
2020/02/25 Python
Python3如何判断三角形的类型
2020/04/12 Python
为什么是 Python -m
2020/06/19 Python
Python中猜拳游戏与猜筛子游戏的实现方法
2020/09/04 Python
浅谈Selenium 控制浏览器的常用方法
2020/12/04 Python
python音频处理的示例详解
2020/12/23 Python
贝玲妃美国官方网站:Benefit美国
2016/08/28 全球购物
建筑工程毕业生自我鉴定
2014/01/14 职场文书
我的五年职业生涯规划
2014/01/23 职场文书
学习型党组织建设经验材料
2014/05/26 职场文书
golang 接口嵌套实现复用的操作
2021/04/29 Golang