VSCode Jupyter是否支持保存notebook前自动清理单元格输出?
VSCode Jupyter 保存前自动清理单元格输出实现方法
VSCode 搭载的 Jupyter 扩展完全支持保存前自动清理所有单元格输出的需求,你可以根据使用场景选择以下两种实现方案:
方案1:VSCode 内置设置(无需修改Jupyter配置)
这是最便捷的实现方式,仅对VSCode环境生效:
- 打开VSCode设置面板:快捷键
Ctrl+,(Windows/Linux)或Cmd+,(macOS) - 在顶部搜索框输入
Jupyter: Clear Output On Save - 勾选该选项即可完成配置,后续所有.ipynb文件保存时会自动清空全部代码单元格的输出、执行计数等内容
方案2:沿用原生Jupyter配置(多端通用)
如果你同时使用原生Jupyter Notebook,想要多环境配置统一,可以继续使用pre_save_hook方案,VSCode调用本地Jupyter内核时会自动读取该配置:
- 执行终端命令
jupyter --config-dir获取Jupyter配置文件的存储目录 - 若目录中不存在
jupyter_notebook_config.py,先执行jupyter notebook --generate-config生成默认配置文件 - 打开
jupyter_notebook_config.py,在文件末尾添加如下代码:
def scrub_output_pre_save(model, **kwargs): # 仅处理notebook类型文件 if model['type'] != 'notebook': return # 遍历所有代码单元格清空输出 for cell in model['content']['cells']: if cell['cell_type'] == 'code': cell['outputs'] = [] cell['execution_count'] = None c.FileContentsManager.pre_save_hook = scrub_output_pre_save
- 保存配置文件后重启VSCode即可生效
内容的提问来源于stack exchange,提问作者RockTown
相关产品推荐
相关产品推荐

