本文介绍,在 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,而且很占用屏幕的地方,不够简洁!关于这两个功能,虽然非常好,但这里就不详细介绍了!
  • 所以,我还是,最喜欢,也最推荐上面的方法!

篇尾结语:

OK,就先写到这儿吧!小白贡献,语失莫怪,希望对大家有帮助。

喜欢我的博客,就请来关注吧:Bitssea

(^_^)

参考阅读:

  1. How to set ipython/jupyter as the default python terminal for vscode?
  2. How can i force SHIFT+ENTER to run selection and execute it immediately running ipython in vscode?
  3. 快捷键绑定 - VScode 中文文档
  4. Visual Studio Code Key Bindings

Python の 在 VSCode 中使用 IPython Kernel 的方法的更多相关文章

  1. Python+selenium自动化测试中Windows窗口跳转方法

    Python+selenium自动化测试中Windows窗口跳转方法 #第一种方法 #获得当前窗口 nowhandle=driver.current_window_handle #打开弹窗 drive ...

  2. Python在VSCode中进入交互界面调试

    VSCode非常强大,断点好用,美中不足,每次只能通过下面窄窄一行进行各种检查,而python的优点就在于交互式的调试,所以希望能够在断点时能够进入到正常的交互界面进行调试. 我用的插件是: 设置交互 ...

  3. python之vscode中手动选择python解释器(mac)

    要选择特定的解释器,请从命令选项板(⇧⌘P)调用Python:Select Interpreter命令. 更详细请看:http://www.cnblogs.com/it-tsz/p/9312151.h ...

  4. python 旧类中使用property特性的方法

    在python中,我们可以拦截对象的所有特性访问.通过这种拦截的思路,我们可以在旧式类中实现property方法. __getattribute__(self, name) #当特性name被访问时自 ...

  5. python删除list中元素的三种方法

    a.pop(index):删除列表a中index处的值,并且返回这个值. del(a[index]):删除列表a中index处的值,无返回值. del中的index可以是切片,所以可以实现批量删除. ...

  6. python库argparse中type的新奇指定方法

    最近在看一些项目的源码,总是能学到好多东西. 关于arparse中type的类型指定 不止可以指定常规类型,还可以加一些自己类型判断,具体用法如下(来源): def str2bool(v): &quo ...

  7. vscode中执行gulp task的简便方法

    本文重点是gulp在vscode中执行task任务的方法 如何像webstorm那样简便操作gulp 的task 第1步:安装node.下载地址:https://nodejs.org/zh-cn/ 检 ...

  8. 解决忽略VScode中Python插件pylint报错的问题

    pylint是VScode中python自带的插件,可以帮助代码规范,美观. 但是有些报错是你不想看到的,你可以选择性的忽略. 例如,在re.compile()中,可以添加参数re.S使. 匹配任意字 ...

  9. VScode中python环境配置

    vscode中python环境配置 想要在vscode中运行python代码必须要告诉vscode使用哪个解释器才行 方法1. 打开命令面板(Ctrl+Shift+P)输入Python: Select ...

随机推荐

  1. 3行!仅3行代码就能抓取B站(弹幕、评论、用户)数据

    今天介绍一个获取B站数据的Python扩展库-bilibili_api 可以获取的数据包括: video-视频模块 user-用户模块 dynamic-动态模块 这次用“Running Man”十周年 ...

  2. LinuX操作系统基础------>初始并安装系统

    b了解LinuX操作系统的来历和发展史 掌握虚拟机(Vbox)的安装方法 掌握CentOS6.5的安装方法 操作系统: 操作系统简称OS ,是管理计算机硬件与软件资源的计算机程序,同时也是计算机系统的 ...

  3. Vue 引用图片的三种方式

    首先给图片地址绑定变量 <template> <img :src="imgUrl"> </template> 在script中设置变量 < ...

  4. javascript Math对象 、Date对象笔记

    Math对象     Math 是一个内置对象, 它具有数学常数和函数的属性和方法.不是一个函数对象.     Math数学对象不是构造函数使用的时候不需要new来调用,可以直接使用里面的属性和方法 ...

  5. Flutter 入门

  6. EfficientNet

  7. 文件上传Upload 漏洞挖掘思路

    1:尽可能多的找出网站存在的上传点2:尝试使用如上各种绕过方法3:尝试 geshell4:无法上传webshel的情况下: 尝试上传html等,或可造成存储XSS漏洞 上传点构造XSS等,结合上传后的 ...

  8. MySQL数据库的约束

    一 默认值约束 约束语句 default  ‘默认值’ 在建立表的时候在想要加默认约束的字段名,数据类型后面加default ‘默认值’ 例如 : create table emp( uid  int ...

  9. python设计模式之原型模式

    python设计模式之原型模式 ​ 对于原型模式而言,其中最主要的部分就是关于一个对象的复制,其中就包含两个方面:1.浅复制:2.深复制.具体的区别请看我相关的随笔.这里简略的说明一下,浅复制就等于对 ...

  10. Mybatis-03-日志

    日志 1 日志工厂 如果一个数据库操作,出现了异常,需要排错,此时需要日志. 曾经:sout debug 现在:日志工厂 logImpl SLF4J/log4j(掌握)/log4j2 设置中可以设定日 ...