設(shè)置
  • 日夜間
    隨系統(tǒng)
    淺色
    深色
  • 主題色

交互式 shell IPython 8.0 大版本更新:Debug 報(bào)錯(cuò)提示更清晰,加入自動(dòng)代碼補(bǔ)全

量子位 2022/1/13 15:18:12 責(zé)編:瀟公子

IPython(interactivepython)是一個(gè)用于多種編程語(yǔ)言交互計(jì)算的命令 shell,最初是為 Python 編程語(yǔ)言開(kāi)發(fā)的,它提供了內(nèi)省、富媒體、shell 語(yǔ)法、制表符完成和歷史記錄。

醞釀了 3 年多,IPython 8.0 終于來(lái)了?,F(xiàn)在,用上最新版本,你不僅能在命令行里使用 Black 重新格式化代碼,還能獲得更好的自動(dòng)代碼補(bǔ)全和 Debug 體驗(yàn)。

更多詳情,咱們接著往下看。

優(yōu)化報(bào)錯(cuò)

在 8.0 版本之前,如果代碼出錯(cuò),IPython 的錯(cuò)誤回溯會(huì)顯示一個(gè)哈希值,用于編譯 Python AST,就像這樣:

而現(xiàn)在,錯(cuò)誤回溯已經(jīng)正確格式化,能夠顯示出 bug 所在的具體單元格編號(hào)。

另外,IPython 8.0 還集成了 stack_data,這個(gè)包提供了更智能的追蹤信息,能夠突出顯示發(fā)生錯(cuò)誤的 AST 節(jié)點(diǎn),幫助快速定位 bug。

比如對(duì)于這樣一段代碼:

調(diào)用 bar (),就能獲得一個(gè) IndexError,IPython 8.0 會(huì)告訴你索引錯(cuò)誤具體發(fā)生在哪里。

注:在終端和 notebook 中,用 ^ 標(biāo)記的位置將顯示為高亮。

還有一個(gè)對(duì)生產(chǎn)力有較大影響的改進(jìn),就是在錯(cuò)誤回溯的文件名后面添加冒號(hào)和行號(hào)。

許多終端和編輯器都允許在使用這種語(yǔ)法時(shí),直接跳轉(zhuǎn)到相關(guān)文件 / 行。

自動(dòng)代碼補(bǔ)全建議

除了更好的 Debug 體驗(yàn),如果你很喜歡 Ptpython 里的代碼自動(dòng)補(bǔ)全功能,那么現(xiàn)在在 IPython 8.0 里你也能用上了。

通過(guò) ctrl-f,或 ctrl-e,或按下右箭頭,就可以接受這些建議。

alt-f 快捷鍵則可以只接受建議的第一個(gè)單詞。目前,自動(dòng)建議只能在 emacs 或 vi 模式中顯示。

使用“?”和”??”查看對(duì)象信息

在 IPDB 中,現(xiàn)在可以用“?”和“??”來(lái)顯示對(duì)象信息,在使用 IPython 提示符時(shí)也一樣:

在 CLI 中用 black 自動(dòng)格式化

如果 black 被安裝在與 IPython 相同的環(huán)境中,那么現(xiàn)在,終端 IPython 將在默認(rèn)情況下盡可能重新格式化命令行(CLI)中的代碼。當(dāng)然,你也可以用 —TerminalInteractiveShell.autoformatter=None 來(lái)禁用該選項(xiàng)。

歷史范圍全局功能

此前,在使用 % history 時(shí),用戶可以指定 session 和行:

或是使用全局模式:

但在 8.0 以前,這兩種模式不能兼得。如果用戶同時(shí)指定了 2 種模式,IPython 將應(yīng)用全局模式(對(duì)所有歷史記錄進(jìn)行全局化)并忽略指定范圍。

現(xiàn)在,此功能得到加強(qiáng),如果用戶同時(shí)指定了范圍和 glob 模式,則 glob 模式將應(yīng)用于指定的歷史范圍。

如果你還想了解更多信息,官網(wǎng)鏈接在此奉上:

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

對(duì)了,還要提醒一點(diǎn),如果想用 IPython 8.0,你得先把 Python 升級(jí)到 3.8 以上版本。

廣告聲明:文內(nèi)含有的對(duì)外跳轉(zhuǎn)鏈接(包括不限于超鏈接、二維碼、口令等形式),用于傳遞更多信息,節(jié)省甄選時(shí)間,結(jié)果僅供參考,IT之家所有文章均包含本聲明。

相關(guān)文章

關(guān)鍵詞:Python,ipythonshell,代碼

軟媒旗下網(wǎng)站: IT之家 最會(huì)買 - 返利返現(xiàn)優(yōu)惠券 iPhone之家 Win7之家 Win10之家 Win11之家

軟媒旗下軟件: 軟媒手機(jī)APP應(yīng)用 魔方 最會(huì)買 要知