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 のどれなのかを確認し、現在の環境が対応している拡張機構に従って対応するのがよいでしょう。
