IPython 8.0大版本更新:Debug报错提示更清晰,加入自动代码补全

开发 前端
酝酿了3年多,IPython 8.0终于来了。现在,用上最新版本,你不仅能在命令行里使用Black重新格式化代码,还能获得更好的自动代码补全和Debug体验。

本文经AI新媒体量子位(公众号ID:QbitAI)授权转载,转载请联系出处。

酝酿了3年多,IPython 8.0终于来了。

现在,用上最新版本,你不仅能在命令行里使用Black重新格式化代码,还能获得更好的自动代码补全和Debug体验。

IPython 8.0大版本更新:Debug报错提示更清晰,加入自动代码补全

更多详情,咱们接着往下看。

优化报错

在8.0版本之前,如果代码出错,IPython的错误回溯会显示一个哈希值,用于编译Python AST,就像这样:

IPython 8.0大版本更新:Debug报错提示更清晰,加入自动代码补全

而现在,错误回溯已经正确格式化,能够显示出bug所在的具体单元格编号。

IPython 8.0大版本更新:Debug报错提示更清晰,加入自动代码补全

另外,IPython 8.0还集成了stack_data,这个包提供了更智能的追踪信息,能够突出显示发生错误的AST节点,帮助快速定位bug。

比如对于这样一段代码:

IPython 8.0大版本更新:Debug报错提示更清晰,加入自动代码补全

调用bar(),就能获得一个IndexError,IPython 8.0会告诉你索引错误具体发生在哪里。

IPython 8.0大版本更新:Debug报错提示更清晰,加入自动代码补全

注:在终端和notebook中,用^标记的位置将显示为高亮。

还有一个对生产力有较大影响的改进,就是在错误回溯的文件名后面添加冒号和行号。

IPython 8.0大版本更新:Debug报错提示更清晰,加入自动代码补全

许多终端和编辑器都允许在使用这种语法时,直接跳转到相关文件/行。

自动代码补全建议

除了更好的Debug体验,如果你很喜欢Ptpython里的代码自动补全功能,那么现在在IPython 8.0里你也能用上了。

IPython 8.0大版本更新:Debug报错提示更清晰,加入自动代码补全

通过ctrl-f,或ctrl-e,或按下右箭头,就可以接受这些建议。

alt-f快捷键则可以只接受建议的第一个单词。

目前,自动建议只能在emacs或vi模式中显示。

使用“?”和”??”查看对象信息

在IPDB中,现在可以用“?”和“??”来显示对象信息,在使用IPython提示符时也一样:

IPython 8.0大版本更新:Debug报错提示更清晰,加入自动代码补全

在CLI中用black自动格式化

如果black被安装在与IPython相同的环境中,那么现在,终端IPython将在默认情况下尽可能重新格式化命令行(CLI)中的代码。

当然,你也可以用 —TerminalInteractiveShell.autoformatter=None 来禁用该选项。

历史范围全局功能

此前,在使用%history时,用户可以指定session和行:

IPython 8.0大版本更新:Debug报错提示更清晰,加入自动代码补全

或是使用全局模式:

IPython 8.0大版本更新:Debug报错提示更清晰,加入自动代码补全

但在8.0以前,这两种模式不能兼得。如果用户同时指定了2种模式,IPython将应用全局模式(对所有历史记录进行全局化)并忽略指定范围。

现在,此功能得到加强,如果用户同时指定了范围和glob模式,则glob模式将应用于指定的历史范围。

如果你还想了解更多信息,官网链接在此奉上:

https://ipython.readthedocs.io/en/stable/whatsnew/version8.html#ipython-8-0

对了,还要提醒一点,如果想用IPython 8.0,你得先把Python升级到3.8以上版本

 

 

责任编辑:张燕妮 来源: 量子位
相关推荐

2022-01-25 09:58:21

IPython 8.代码命令行

2023-10-13 08:00:00

网络层开发

2020-12-08 05:45:16

JavaScript代码开发

2020-07-31 07:44:12

代码自动补全

2021-01-06 19:48:40

QQQQ PC版

2021-07-02 05:27:31

iOS PDFOffice 应用

2024-03-27 09:09:57

模型AI开源

2009-06-03 17:00:08

Eclipse自动补全

2009-04-03 08:06:39

2022-10-31 17:50:47

2023-12-18 10:01:40

Golang代码开发

2023-12-19 22:40:23

Golang编程函数

2021-09-27 05:28:32

微信iOS腾讯

2023-10-23 12:28:18

AI训练

2019-02-20 09:24:12

AST IDE语法

2019-08-02 10:31:21

深度学习编程人工智能

2020-03-20 10:13:15

Linux 系统 数据

2015-12-16 15:38:29

Windows 10RedStone功能

2021-01-23 09:36:08

微信更新移动应用

2021-09-16 14:16:50

微信安卓测试版腾讯
点赞
收藏

51CTO技术栈公众号