酝酿3年多,IPython8.0终于来了。现在,有了最新版本,您不仅可以在命令行上使用Black重新格式化代码,还可以获得更好的自动代码补全和Debug体验。更多详情,我们往下看。优化错误报告在8.0版本之前,如果代码出错,IPython的错误回溯会显示一个哈希值,用于编译PythonAST,如下所示:现在,错误回溯被正确格式化以显示错误所在的具体单元位于格号。此外,IPython8.0还集成了stack_data,提供更智能的跟踪信息,可以高亮出现错误的AST节点,帮助快速定位bug。例如,对于这样一段代码:调用bar(),你可以得到一个IndexError,IPython8.0会告诉你哪里发生了索引错误。注意:在终端和notebook中,标有^的位置会高亮显示。另一个对生产力有很大影响的改进是在错误回溯的文件名后添加一个冒号和行号。使用此语法时,许多终端和编辑器允许直接跳转到相关文件/行。代码自动补全建议除了更好的Debug体验,如果你喜欢Ptpython中的代码自动补全功能,现在可以在IPython8.0中使用。使用ctrl-f或ctrl-e或按向右箭头接受这些建议。alt-f快捷方式将只接受建议的第一个单词。目前,autosuggestion只能在emacs或vi模式下显示。使用”?”和”??”查看对象信息在IPDB中,您现在可以使用“?”和”??”显示对象信息,也在使用IPython提示符时:如果black安装在与IPython相同的环境中,则在CLI中自动使用black进行格式化,现在,TerminalIPython将在默认情况下尽可能多地重新格式化命令行(CLI)中的代码.当然,您也可以使用--TerminalInteractiveShell.autoformatter=None禁用此选项。Historyscopeglobalfunction之前使用%history时,用户可以指定session和row:,也可以使用globalmode:,但在8.0之前,这两种模式不能结合使用。如果用户指定这两种模式,IPython将应用全局模式(全球化所有历史记录)并忽略指定的范围。此功能现已得到增强,因此如果用户同时指定范围和glob模式,则glob模式将应用于指定的历史范围。如果你还想了解更多信息,这里是官网链接:https://ipython.readthedocs.io/en/stable/whatsnew/version8.html#ipython-8-0是的,但也作为一个提醒,如果要使用IPython8.0,必须先将Python升级到3.8以上的版本。
