
JupyterLab[1]4.1 和Notebook[2]7.1 现已发布!这些版本为扩展开发人员提供了多项新功能、错误修复和增强功能。该版本与支持 JupyterLab 4.0 和 Notebook 7.0 的扩展兼容。
JupyterLab 4.1 包含了 6 个全新功能、39 项增强功能以及 114 项错误修复,同时解决了 140 项维护任务,这使得它成为 JupyterLab 迄今为止最庞大的一个小版本。我们由衷感谢 Project Jupyter 团队的 70 位贡献者,其中包括 13 位新的代码/文档贡献者,他们的帮助使得这个新版本的创建成为可能。
经过迁移至新代码库后,Jupyter Notebook 7.1 成为了首个小版本,新代码库重新应用了 JupyterLab 组件。因此,Notebook 7.1 继承了 JupyterLab 4.1 中的众多新功能和修正,并改进了与 Notebook 6 的功能一致性。
JupyterLab 现在支持自动加载自定义 CSS。主题是定制 JupyterLab 外观和感觉的推荐方式,而自定义 CSS 则适用于细微的个人调整。
与 GitHub-Flavoured Markdown 相匹配,JupyterLab 和 Notebook 现在支持mermaid[3]图表。要创建美人鱼图,可在标记符单元格或文档中的代码块使用美人鱼语言指定符,例如
flowchart LR
A[Hard] -->|Text| B(Round)
B --> C{Decision}
C -->|One| D[Result 1]
C -->|Two| E[Result 2]

现在,JupyterLab 和Notebook已经支持在单元格和文件编辑器中自动以幽灵文本格式显示的代码(和文本)补全,这意味着生成式人工智能模型可以提供多行补全。我们建议实现 IInlineCompletionProvider API 的插件提供此功能。默认情况下,只有一个使用用户内核历史记录的提供程序可用。

建议可以在输入时调用,也可以使用可配置的快捷键(默认为 Alt + \)手动调用。当鼠标悬停在幽灵建议上时,默认的键盘快捷键会显示在小部件中。
要启用基于内核历史记录的内联建议,请进入 "设置" → "设置编辑器" → "内联完成程序" → "历史记录提供程序" → 选中 "已启用"复选框。
除了内置的历史建议,还可以安装其他内联完成程序提供程序。例如,jupyter-ai[4] 扩展(2.10.0[5] 及更新版本)可从兼容的大型语言模型中提供建议。
注意:Inline Completter API 仍处于试验阶段,可能会有变动。
本次更新致力于优化键盘导航功能,特别关注提升用户体验和操作便利性:
用户可以使用之前执行的代码来填充空白单元,从而可以查看特定内核如何存储先前单元或会话中的代码历史,让用户可以遍历先前的代码。
要在历史项之间循环,请按 Alt + 向上箭头和 Alt + 向下箭头。
要启用执行历史,请进入 "设置编辑器"→"笔记本"→选中 "内核历史访问 "复选框。
在以前的版本中,该功能已在控制台中提供;它只适用于支持执行历史请求的内核。要清除执行历史,请查阅所用内核的文档(如 IPython/ipykernel)。
现在,代码错误跟踪检测到的文件路径已经转换为链接。当文件位于Jupyter根目录中时,这些链接会打开相应的文件以进行编辑;如果文件在根目录之外,且当前内核支持调试器,这些链接将以只读模式打开预览。

当单元格在执行过程中出现故障时,相应的标题会显示一个错误指示符,以提高对笔记本状态的认识,并使用户能够快速导航到需要注意的单元格。

现在用户可以通过新的插件管理器用户界面实现对单个插件的禁用或启用。尽管现有的扩展管理器可以启用或禁用整个扩展,但每个扩展都由一个或多个插件组成(插件是 JupyterLab 本身的基础),因此除了以往的扩展管理功能,插件管理器可以更全面地定制 JupyterLab 的体验。

该功能面向高级用户,在jupyterlab文档[6]中有详细说明。
管理员可能希望锁定特定插件,如果出于任何原因需要这些插件的话;这将防止用户通过插件管理器和远程 API 调用禁用插件。插件管理器本身可以使用 CLI 禁用。
窗口笔记本现在有一个可选的滚动条,可显示活动单元格和选定单元格。用户可以跳转到特定单元格。

要启用虚拟滚动条,请进入 "设置"→"笔记本"→"窗口模式",选择 "全屏",然后点击出现在笔记本工具栏上的汉堡包图标 (≡)。
注意:虚拟滚动条是一项试验性功能。
JupyterLab 3.6 添加了一个通知中心,迄今为止只用于发布公告和版本更新通知(均为选择加入)。JupyterLab 4.1 增加了两种通知,以便在可能出现混乱的情况下为用户提供指导:
全窗口模式下的笔记本只渲染可见单元格,大大提高了应用程序的性能。本版本对全窗口模式行为(如滚动、搜索、渲染和导航)进行了大量改进。
[1]
JupyterLab: https://github.com/jupyterlab/jupyterlab
[2]
Jupyter Notebook: https://github.com/jupyter/notebook
[3]
mermaid: https://github.com/mermaid-js/mermaid
[4]
jupyter-ai: https://github.com/jupyterlab/jupyter-ai
[5]
2.10.0: https://github.com/jupyterlab/jupyter-ai/releases/tag/v2.10.0
[6]
jupyterlab文档: https://jupyterlab.readthedocs.io/en/latest/user/extensions.html#managing-plugins-with-plugin-manager