您可以在IPython中使用扩展程序或display
帮助程序,在输出单元格上突出显示您想要的任何语法。
对于某些特殊的单元格魔法,例如%%javascript
,您还可以看到输入单元格本身是使用该语言的自然语法高亮显示的。
如何使用一些选定的非Python语法高亮显示每个输入单元格(无论单元格上使用何种魔法,无论单元格是否包含Python代码,还有其他语言)。
就我而言,我正在使用专有语言定制的单元魔法。 %%javascript
语法突出显示适用于此语言,但如果我拥有自己的%%proprietarylang
魔术功能,我显然无法使用%%javascript
来帮助我了解单元格的显示方式。< / p>
我启动笔记本时是否可以启用设置,或者ipython
对象本身的某些属性可以在我的魔术函数内以编程方式设置,这将导致相同的显示逻辑发生,就好像它是%%javascript
。
我知道当前笔记本不支持通用的动态语法高亮显示。我特别询问如何利用预先存在的语法高亮效果,例如%%javascript
的效果。
我看到some documentation指的是IPython.config.cell_magic_highlight
,但这似乎不存在了。它有标准替代品吗?
答案 0 :(得分:4)
要替换IPython.config.cell_magic_highlight
,您可以使用类似
import IPython
js = "IPython.CodeCell.config_defaults.highlight_modes['magic_fortran'] = {'reg':[/^%%fortran/]};"
IPython.core.display.display_javascript(js, raw=True)
所以以%%fortran
开头的单元格将像FORTRAN一样以语法突出显示。 (但是,如果只进行此操作,它们仍将被评估为python。)
答案 1 :(得分:2)
对于最近的IPython版本,所选答案不再有效。 'config_default'属性重命名为options_default(Ipython 6.0.0)。 以下作品:
import IPython
js = "IPython.CodeCell.options_default.highlight_modes['magic_fortran'] = {'reg':[/^%%fortran/]};"
IPython.core.display.display_javascript(js, raw=True)