JupyterLab 4.5 的 Open With 用一次就少了 Editor 选项
JupyterLab 4.5.0 至 4.5.2 的菜单回归可在再次打开时移除 Editor。说明 Jupytext 默认查看器条件、局部禁用无内核入口和恢复验证。
Python 文件默认用 Jupytext Notebook 打开,第一次右键选择 Open With → Editor 正常,关闭编辑器后再次右键,Editor 却消失了。JupyterLab 4.5.0、4.5.1、4.5.2 均有这条菜单回归,Windows 和 macOS 的 Chrome、Edge 环境都有对应触发记录。
这里要区分“编辑器打不开文件”与“菜单选项被移除”。同一路径能够打开一次,随后少了菜单项,不能立即认定文件权限坏了或 .py 内容损坏。Notebook 文件的 JSON 查看器也可能在相近菜单流程中消失。
核对无内核打开入口,而不是卸载整个 Notebook 扩展
触发路径与 Notebook (no kernel) 菜单插件有关。它更新上下文菜单时释放上次创建的项,而菜单可能已经由文件浏览器重建;旧的底层移除逻辑会在找不到目标项时错误移除末项。
如果暂时无法采用经相同场景验证的前端组合,且允许暂时失去“无内核打开”入口,可以只禁用这一插件:
jupyter labextension disable @jupyterlab/notebook-extension:open-with-no-kernel
命令应在真正提供该 JupyterLab 前端的环境及适当配置范围执行,并记录原有状态。它取消的是这一菜单功能,不是为了移除此问题卸载 Jupytext,也不是关闭全部 Notebook 能力。共享部署由管理员管理配置时,应按其变更流程处理,不能把个人环境的修改当成全站修复。
保留未保存编辑,再按部署方式重新加载前端或重启相关服务。不要清空工作目录、删除文件类型关联,或修改 .py 的实际内容来让菜单重新出现。
恢复插件前,重复打开菜单验证
之后采用更新的前端依赖组合时,应先确认相同查看器设置下的反复打开行为。恢复这项功能使用:
jupyter labextension enable @jupyterlab/notebook-extension:open-with-no-kernel
恢复与禁用应在同一环境和配置范围,随后确认前端实际加载的是预期版本。只更新 Python 内核环境不会替换运行在浏览器里的 JupyterLab 菜单代码;浏览器也可能仍缓存旧前端资源。
验收至少覆盖第二次操作
保留 Python 文件的原默认查看器:先按默认方式打开,再用 Editor 打开、关闭,重复几次,并检查其他文件的 JSON 或 Notebook 打开选项是否仍在。只验证第一次成功,会漏掉本题。
若本来就没有 Editor、禁用相关插件后仍然缺失,继续检查文件类型注册、扩展兼容和前端日志。不能把所有“没有编辑器菜单”的情况都归到这个回归。禁用是有功能代价的局部缓解;恢复无内核入口和菜单稳定性都验证后,才撤销它。


