四种方式启用Jupyter行号:1. Shift+L快捷键(命令模式下);2. View→Toggle Line Numbers菜单;3. 修改custom.js永久生效(仅原生Notebook);4. VS Code中设notebook.lineNumbers为on。

默认不显示行号,但有四种可靠方式可立即启用,选哪种取决于你用的是原生 Jupyter Notebook、JupyterLab 还是 VS Code 内置的 Notebook。
Shift+L 快捷键(原生 Notebook / JupyterLab)
这是最常用、最即时的方案,适用于临时调试或单个 notebook 场景。
- 确保当前单元格处于命令模式(按
Esc,左侧边框变蓝) - 按
Shift+L—— 全部代码单元格立刻显示/隐藏行号(注意不是Ctrl+L或小写l) - 旧版本可能用
Esc+l(小写 L),但 2024 年后主流发行版已统一为Shift+L - 如果无效,检查是否误入编辑模式(单元格内光标闪烁),先按
Esc再试
View → Toggle Line Numbers 菜单(所有浏览器端 Notebook)
图形界面兜底方案,适合不记得快捷键或共享环境里不敢乱按键盘的场景。
- 点击顶部菜单栏
View→Toggle Line Numbers - 该操作只影响当前 notebook,重启后恢复默认(不保存状态)
- 在 JupyterLab 中路径略有不同:
Settings→Advanced Settings Editor→Notebook→ 搜索lineNumbers并设为true
永久生效:修改 custom.js(仅原生 Notebook)
如果你每天打开多个 notebook,且不想每次手动开行号,这个配置一劳永逸。
- 运行
jupyter --config-dir查看配置目录(通常是~/.jupyter) - 进入
custom/子目录,若无则新建;编辑或创建custom.js - 填入以下内容并保存:
define(['base/js/namespace', 'base/js/events'], function(ipython, events) { events.on("app_initialized.notebookapp", function() { ipython.cell.options_default.cm_config.linenumbers = true; }); }); - 重启 Jupyter Notebook 服务才生效;JupyterLab 不读此文件,需另配
VS Code 中启用 notebook 行号(notebook.lineNumbers)
VS Code 的 Jupyter 扩展不复用浏览器端逻辑,必须单独配置,否则 Shift+L 无效。
- 打开设置(
Ctrl+,),搜索notebook.lineNumbers - 选择
on(不是inherit或off) - 或者直接编辑
settings.json,加入:"notebook.lineNumbers": "on"
- 注意字段名是
notebook.lineNumbers,不是notebook.linenumbers(大小写敏感)
容易被忽略的一点:JupyterLab 和 VS Code 的配置互不兼容,改了这边不影响那边;而原生 Notebook 的 custom.js 对 JupyterLab 完全无效。别指望一个配置打遍天下。


















