用 Ctrl + / 给 Jupyter Notebook 里的代码块添加注释时,默认注释符号可能会出现在行首,缩进看起来比较乱。这个问题可以参考 Jupyter Notebook 的相关讨论:
https://github.com/jupyter/notebook/issues/954
一个可行的办法是安装并启用 jupyter_contrib_nbextensions 里的 comment-uncomment 扩展。
conda update notebook
conda install jupyter notebook
conda install -c conda-forge jupyter_contrib_nbextensions
conda install -c conda-forge jupyter_nbextensions_configurator
jupyter contrib nbextension install --user
jupyter nbextension enable comment-uncomment/main
启用之后,再使用 Ctrl + / 注释代码时,注释符号会更好地跟随原有缩进。例如:
# This program prints Hello, world!
print('Hello, world!')
在 macOS 上可能会遇到如下错误:
[jupyter_nbextensions_configurator] error loading comment-uncomment/main
如果用 conda 安装后扩展加载失败,可以改用 pip 安装这两个包:
conda update notebook
conda install jupyter notebook
pip install jupyter_contrib_nbextensions jupyter_nbextensions_configurator
jupyter contrib nbextension install --user
jupyter nbextension enable comment-uncomment/main
安装后可以重启 Jupyter Notebook,并在浏览器里重新打开 Notebook 页面。如果仍然没有生效,可以检查扩展是否已经启用:
jupyter nbextension list
如果使用的是新版 JupyterLab,这套 nbextension 方案未必适用;应优先确认自己运行的是 classic Notebook、Notebook 7,还是 JupyterLab,并按当前环境支持的扩展机制处理。
