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 15 Python
介绍Python的Django框架中的静态资源管理器django-pipeline
Apr 25 Python
python 与GO中操作slice,list的方式实例代码
Mar 20 Python
详解如何利用Cython为Python代码加速
Jan 27 Python
在python中使用xlrd获取合并单元格的方法
Dec 26 Python
浅谈python常用程序算法
Mar 22 Python
Python中xml和dict格式转换的示例代码
Nov 07 Python
Matplotlib使用字符串代替变量绘制散点图的方法
Feb 17 Python
Python range与enumerate函数区别解析
Feb 28 Python
利用python下载scihub成文献为PDF操作
Jul 09 Python
Sentry错误日志监控使用方法解析
Nov 12 Python
Python实现微信表情包炸群功能
Jan 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
thinkphp实现上一篇与下一篇的方法
2014/12/08 PHP
PHP中字符串长度的截取用法示例
2017/01/12 PHP
Swoole 5将移除自动添加Event::wait()特性详解
2019/07/10 PHP
Nginx+php配置文件及原理解析
2020/12/09 PHP
JavaScript 函数参数是传值(byVal)还是传址(byRef) 分享
2013/07/02 Javascript
JS+CSS实现一个气泡提示框
2013/08/18 Javascript
js清理Word格式示例代码
2014/02/13 Javascript
jQuery中的val()示例应用
2014/02/26 Javascript
js delete 用法(删除对象属性及变量)
2014/08/24 Javascript
基于Css3和JQuery实现打字机效果
2015/08/11 Javascript
JavaScript人脸识别技术及脸部识别JavaScript类库Tracking.js
2015/09/14 Javascript
基于JavaScript实现手机短信按钮倒计时(超简单)
2015/12/30 Javascript
基于Bootstrap实现的下拉菜单手机端不能选择菜单项的原因附解决办法
2016/07/22 Javascript
javascript回到顶部特效
2016/07/30 Javascript
vue2滚动条加载更多数据实现代码
2017/01/10 Javascript
jquery——九宫格大转盘抽奖实例
2017/01/16 Javascript
Bootstrap table学习笔记(2) 前后端分页模糊查询
2017/05/18 Javascript
JavaScript闭包和回调详解
2017/08/09 Javascript
Vue.js 踩坑记之双向绑定
2018/05/03 Javascript
JavaScript设计模式之观察者模式实例详解
2019/01/16 Javascript
Vue插件从封装到发布的完整步骤记录
2019/02/28 Javascript
使用layui的layer组件做弹出层的例子
2019/09/27 Javascript
Python中对元组和列表按条件进行排序的方法示例
2015/11/10 Python
Python3匿名函数用法示例
2018/07/25 Python
python实现给微信指定好友定时发送消息
2019/04/29 Python
Pyqt5自适应布局实例
2019/12/13 Python
中专生职业生涯规划书范文
2014/01/10 职场文书
商场活动策划方案
2014/01/24 职场文书
家长评语和期望
2014/02/10 职场文书
《小小雨点》教学反思
2014/02/18 职场文书
理想点亮人生演讲稿
2014/05/21 职场文书
幽默自我介绍演讲稿
2014/08/21 职场文书
入党积极分子自我批评思想汇报
2014/10/10 职场文书
消防验收申请报告
2015/05/15 职场文书
2016新年问候语大全
2015/11/11 职场文书
Python中request的基本使用解决乱码问题
2022/04/12 Python