Python 在 VSCode 中使用 IPython Kernel 的方法详解
作者:Bitssea 发布时间:2023-07-25 10:10:23
本文介绍,在 VSCode 使用 IPython Kernel的设置方法,详细介绍如下所示:
要达到的效果:
只需按下 Ctrl+;
,选中的几行代码,就会自动发送到 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 了,而且很占用屏幕的地方,不够简洁!关于这两个功能,虽然非常好,但这里就不详细介绍了!
所以,我还是,最喜欢,也最推荐上面的方法!
来源:https://www.cnblogs.com/bitssea/p/13616586.html


猜你喜欢
- python提取照片坐标信息的代码如下所示:from PIL import Imagefrom PIL.ExifTags import TA
- table单元格新增行并编辑,具体内容如下需要bootstrap.min.css —— [ Bootstrap ]jquery-1.8.2.
- 在写移动端页面的时候,弹出遮罩层后,我们仍然可以滚动页面。vue中提供 @touchmove.prevent 方法可以完美解决这个问题<
- 在开发中有个需求是一个选择城市的列表,看了看做成 * 联动好像不是特别方便 还是做成一整页可以按导航选取的就可以了话不多说开始上码我用的是va
- 众所周知,透明的PNG图片在IE6中是不透明的。为了在IE6中显示透明的PNG图片,找了一下方法,在网页中嵌入JS语句,可是执行效果并不尽如
- Linux下MySQL整个数据库的备份与还原[root]# /usr/bin/mysqldump -h127.0.0.1 -uusernam
- 背景手机型号:型号:iphone 7 / iphone xs max版本:ios 10.3.1 / ios 12.1微信版本:WeChat
- 启动IDLE后会打开Python shell窗口。当键入代码 时,它会基于Python语法提供自动缩进和代码着色功能。使用IDLE中的Pyt
- 本文实例讲述了php面象对象数据库操作类。分享给大家供大家参考。具体实现代码如下://此处构造一个数据库操作类,封装所有数据库操作 //可以
- 一:车辆识别成果展示二:车辆识别超详细步骤解析步骤一:灰度化处理灰度处理目的 RGB三通道转灰度单通道 压缩到原图片三分之一大小效果展示:【
- 本实验中分别针对空库、脱机、联机三种方式,配置一主两从的mysql标准异步复制。只做整服务器级别的复制,不考虑对个别库表或使用过滤复制的情况
- 本文实例讲述了PHP+redis实现添加处理投票的方法。分享给大家供大家参考,具体如下:<?php header("Cont
- 什么是.netMicrosoft® .NET 是 Microsoft XML Web services 平台。XML Web
- [1]好好规划自己的路,不要跟着感觉走!根据个人的理想决策安排,绝大部分人并不指望成为什么院士或教授,而是希望活得滋
- 上周在去杭州betacafe的路上,有幸和绿人网梁宁和饭统网李耀东、千鸟一道,在出租车上聊起了地理和历史,其中有一个共同的观点是说,人们对事
- 您可以使用 ObjectContext 对象提交或放弃一项由 Microsoft Transaction Server (MTS) 管理的事
- vue单向数据流在vue中需要遵循单向数据流原则在父传子的前提下,父组件的数据发生会通知子组件自动更新子组件内部,不能直接修改父组件传递过来
- 便携文档格式 (PDF) 是由 Adobe 开发的格式,主要用于呈现可打印的文档,其中包含有 pixel-perfect 格式,嵌入字体以及
- 测试结果: 整个买票流程可以再快一点,不过为了稳定起见,有些地方等待了一些时间完整程序,拿去可用 整个程序分了三个模块:购票模块(
- 利用seek监控文件内容,并打印出变化内容:#/usr/bin/env python#-*- coding=utf-8 -*-pos = 0