[英]Format a Jupyter notebook on save in VSCode
根据Github还没有计划。
我认为您只能手动格式化。
来自 janosh 对 GitHub 的回复:
有一个设置editor.codeActionsOnSave
但它不允许运行任意 shell 命令(出于安全原因?)所以你需要安装像Run On Save这样的扩展并让它调用black path/to/file.ipynb
on保存事件。
可悲的是,由于 VS Code 尚未公开笔记本的生命周期事件,因此即使这样现在也不起作用。 要对此表示赞同的问题是:改进工作区 API 以支持(至少)保存事件的笔记本生命周期
如果两者都实现了,您应该能够将其添加到您的设置中以自动格式化 Jupyter 笔记本:
"emeraldwalk.runonsave": {
"commands": [
{
"match": "\\.ipynb$",
"cmd": "black ${file}"
}
]
}
一个足够简单的解决方案是按照您的建议将格式笔记本选项设置为与保存相同的键绑定。 以下是如何使用 VSCode 任务执行此操作:
tasks.json(在命令面板“任务:打开用户任务”中):
{
"version": "2.0.0",
"tasks": [
{
"label": "cmd:save",
"command": "${command:workbench.action.files.save}"
},
{
"label": "cmd:format-notebook",
"command": "${command:notebook.format}"
},
{
"label": "cmd:format-notebook+save",
"dependsOrder": "sequence",
"dependsOn": [
"cmd:format-notebook",
"cmd:save"
]
}
]
}
keybindings.json(在命令面板“首选项:打开键盘快捷方式(JSON)”中):
[
{
"key": "ctrl+s",
"command": "workbench.action.tasks.runTask",
"args": "cmd:format-notebook+save"
}
]
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.