本文介绍,在 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

最新文章

  1. 【设计模式之装饰者模式InJava】
  2. RabbitMQ入门教程——工作队列
  3. ab网站压力测试
  4. iOS宏定义
  5. Jquery获得服务器控件的方法
  6. Amoeba实现mysql主从读写分离
  7. HDU 4283 You Are the One
  8. drop table xx purge
  9. Struts2、spring2、hibernate3在SSH中各起什么作用
  10. IOS UI 第十一篇: UITABLEVIEW
  11. Jmeter:相应断言介绍
  12. 算法模板——Dinic最小费用最大流
  13. SQL Server AG集群启动不起来的临时自救大招
  14. 使用python
  15. navicat创建存储过程、触发器和使用游标
  16. LruCache的使用及原理
  17. flush()清空文件缓存区
  18. 坚持:学习Java后台的第一阶段,我学习了那些知识
  19. Class:DbConnectionManipulator.cs
  20. Failed to execute 'write' on 'Document'动态载入的js不能执行write

热门文章

  1. 【HNOI2012】永无乡 题解(并查集+线段树合并)
  2. 解惑4:java是值传递还是引用传递
  3. Go 中的动态作用域变量
  4. java 判断集合元素唯一的原理
  5. C#LeetCode刷题之#48-旋转图像(Rotate Image)
  6. C#LeetCode刷题之#231-2的幂(Power of Two)
  7. Vue <script></script>区域使用filter过滤器
  8. vue自定义可输入的选择框组件
  9. 【SDOI2009】 HH的项链 - 莫队
  10. Qt开发技术:QCharts(三)QCharts样条曲线图介绍、Demo以及代码详解