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正则表达式操作指南(re使用)
Sep 06 Python
linux下安装easy_install的方法
Feb 10 Python
如何运行Python程序的方法
Apr 21 Python
python代码制作configure文件示例
Jul 28 Python
Python中struct模块对字节流/二进制流的操作教程
Jan 21 Python
python引入导入自定义模块和外部文件的实例
Jul 24 Python
python3大文件解压和基本操作
Dec 15 Python
pandas实现将日期转换成timestamp
Dec 07 Python
django执行数据库查询之后实现返回的结果集转json
Mar 31 Python
Python中使用socks5设置全局代理的方法示例
Apr 15 Python
keras 读取多标签图像数据方式
Jun 12 Python
Python趣味挑战之实现简易版音乐播放器
May 28 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 通过Socket收发十六进制数据的实现代码
2013/08/16 PHP
PHP内核探索:哈希表碰撞攻击原理
2015/07/31 PHP
PHP十六进制颜色随机生成器功能示例
2017/07/24 PHP
Laravel框架实现多个视图共享相同数据的方法详解
2019/07/09 PHP
Mootools 1.2教程 排序类和方法简介
2009/09/15 Javascript
使用js显示当前时间示例
2014/03/02 Javascript
基于jquery实现的可编辑下拉框实现代码
2014/08/02 Javascript
php,js,css字符串截取的办法集锦
2014/09/26 Javascript
jQuery设置和移除文本框默认值的方法
2015/03/09 Javascript
移动手机APP手指滑动切换图片特效附源码下载
2015/11/30 Javascript
学习Bootstrap滚动监听 附调用方法
2016/07/02 Javascript
webix+springmvc session超时跳转登录页面
2016/10/30 Javascript
vuejs2.0运用原生js实现简单的拖拽元素功能示例
2017/02/24 Javascript
Vue.js tab实现选项卡切换
2017/05/16 Javascript
Vue 2.0在IE11中打开项目页面空白的问题解决
2017/07/16 Javascript
Javascript实现跨域后台设置拦截的方法详解
2017/08/04 Javascript
seajs中最常用的7个功能、配置示例
2017/10/10 Javascript
Vue项目history模式下微信分享爬坑总结
2019/03/29 Javascript
Vue 页面权限控制和登陆验证功能的实例代码
2019/06/20 Javascript
vue vant Area组件使用详解
2019/12/09 Javascript
JS可断点续传文件上传实现代码解析
2020/07/30 Javascript
Vue 实现拨打电话操作
2020/11/16 Javascript
原生js实现自定义滚动条组件
2021/01/20 Javascript
PyQt5 加载图片和文本文件的实例
2019/06/14 Python
Python安装selenium包详细过程
2019/07/23 Python
python实现录屏功能(亲测好用)
2020/03/02 Python
Python3 socket即时通讯脚本实现代码实例(threading多线程)
2020/06/01 Python
利用Python优雅的登录校园网
2020/10/21 Python
如何使用css3实现一个类在线直播的队列动画的示例代码
2020/06/17 HTML / CSS
会计毕业生求职简历的自我评价
2013/10/20 职场文书
伊琍体标语
2014/06/25 职场文书
宣传普通话标语
2014/06/27 职场文书
民主生活会汇报材料
2014/12/15 职场文书
导游词之北京明十三陵
2019/10/28 职场文书
德劲DE1108畅想
2021/04/22 无线电
Android Studio 计算器开发
2022/05/20 Java/Android