实现jupyter notebook中代码块自动换行

本文最后更新于:2024年3月3日星期日上午10点11分

问题描述

在jupyter notebook中,假设我们输入到代码块(或是Markdown块)中的内容比较长,可能在jupyter中就需要通过块下方的滚动条进行横向滚动,而没有自动换行,就像下面这样:

问题:没有自动换行

通过本文可以实现自动换行,效果如下:

效果展示

解决方案

找到jupyter配置主目录.jupyter

通过在终端中输入以下命令,会返回配置主目录路径

jupyter --config-dir

一般来说,返回的结果可能为以下形式:

  • 在Windows中:
C:\Users\你的用户名\.jupyter
  • 在linux中:
/home/你的用户名/.jupyter # 其实就是 ~/.jupyter

那我们要修改的目标文件路径其实就是该目录下的nbconfig下的notebook.json文件了,即.../.jupyter/nbconfig/notebook.json

找到配置文件

修改配置文件notebook.json

在修改该文件之前,最好对该文件先进行备份,比如可以像我上面那张图一样,复制一份,然后命名为notebook.json_bak,以在意外情况下还能恢复原样。

我们打开这个文件,在第一个{即最外层的”{“后面加入以下内容:

"MarkdownCell": {
    "cm_config": {
      "lineWrapping": true
    }
  },
  "CodeCell": {
    "cm_config": {
      "lineWrapping": true
    }
  }

注意:如果你的notebook.json文件中本来就有内容了,那么需要在上述内容的末尾再加个,(这是为了符合json的格式),即:

"MarkdownCell": {
    "cm_config": {
      "lineWrapping": true
    }
  },
  "CodeCell": {
    "cm_config": {
      "lineWrapping": true
    }
  },

示例

以我自己的配置为例,在加入前我的文件内容如下:

{
  "keys": ... 
}

加入后为:

{
  "MarkdownCell": {
    "cm_config": {
      "lineWrapping": true
    }
  },
  "CodeCell": {
    "cm_config": {
      "lineWrapping": true
    }
  },  
  "keys": ... 
}

效果

效果展示


实现jupyter notebook中代码块自动换行
https://asyu.in/2024/03/03/jupyter-notebook-lineWrapping/
作者
Yu
发布于
2024年3月3日
更新于
2024年3月3日 10时
许可协议