IT商业网-解读信息时代的商业变革
当前位置: 首页 > 软件 > 正文

交互式shell IPython 8.0大版本更新:自动代码补全和 Debug 体验

2022-01-13 16:13:03  来源:IT之家    

  IPython(interactivepython)是一个用于多种编程语言交互计算的命令 shell,最初是为 Python 编程语言开发的,它提供了内省、富媒体、shell 语法、制表符完成和历史记录。

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

  

 

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

  优化报错

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

  

 

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

  

 

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

  比如对于这样一段代码:

  

 

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

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

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

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

  自动代码补全建议

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

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

  alt-f 快捷键则可以只接受建议的第一个单词。目前,自动建议只能在 emacs 或 vi 模式中显示。

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

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

  在 CLI 中用 black 自动格式化

  如果 black 被安装在与 IPython 相同的环境中,那么现在,终端 IPython 将在默认情况下尽可能重新格式化命令行(CLI)中的代码。当然,你也可以用 —TerminalInteractiveShell.autoformatter=None 来禁用该选项。

  历史范围全局功能

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

  或是使用全局模式:

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

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

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

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

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

原标题:交互式 shell IPython 8.0 大版本更新:Debug 报错提示更清晰,加入自动代码补全

免责声明: IT商业新闻网遵守行业规则,本站所转载的稿件都标注作者和来源。 IT商业新闻网原创文章,请转载时务必注明文章作者和来源“IT商业新闻网”, 不尊重本站原创的行为将受到IT商业新闻网的追责,转载稿件或作者投稿可能会经编辑修改或者补充, 如有异议可投诉至:post@itxinwen.com
微信公众号:您想你获取IT商业新闻网最新原创内容, 请在微信公众号中搜索“IT商业网”或者搜索微信号:itxinwen,或用扫描左侧微信二维码。 即可添加关注。
标签:

品牌、内容合作请点这里: 寻求合作 ››

相关阅读RELEVANT