如何使用 Black Formatter 在 Jupyter Notebooks 的 VSCode 中自动进行代码格式化?

问题描述 投票:0回答:1

我一直在享受 Visual Studio Code 中 Black Formatter 扩展的便利,尤其是它针对 Python 文件的“保存时格式化”功能。使用 Ctrl+S 保存时能够自动格式化我的代码,这显着简化了我的工作流程。

但是,我在 VSCode 中使用 Jupyter 笔记本(.ipynb 文件)时遇到了限制。虽然 Black Formatter 在保存时无缝格式化 .py 文件,但我注意到在 Jupyter 笔记本中格式化代码需要使用 Alt+Shift+F 手动触发每个单元格的格式命令。 .py 文件和 .ipynb 文件之间的用户体验不一致会扰乱工作流程,并降低 Python 脚本的“保存时格式化”功能所带来的效率。

我正在联系,看看是否有人找到了解决方案或解决方法,将“保存时格式化”功能扩展到 VSCode 中的 Jupyter 笔记本。理想情况下,我正在寻找一种在保存笔记本文件时自动格式化笔记本中所有代码单元格的方法,类似于 .py 文件的工作方式。

是否有其他人遇到过此问题或找到了一种方法可以使 .ipynb 文件中的代码格式化与 VSCode 中的 .py 文件中的代码格式化一样轻松?任何有助于实现这一目标的建议、插件或设置建议将不胜感激。

为了简化我的开发工作流程,我已在 VSCode 中成功配置 Black Formatter 扩展,以在保存时自动格式化 Python (.py) 文件,使用 settings.json 中的以下设置:

"[python]": {
  "editor.defaultFormatter": "ms-python.black-formatter",
  "editor.formatOnSave": true
}

此设置非常适合 Python 脚本,每次按 Ctrl+S 时都会自动格式化它们,这符合我对无缝高效编码体验的期望。

在 VSCode 中过渡到 Jupyter Notebook,我的期望是复制这种级别的自动化。鉴于笔记本在数据科学和机器学习项目中的广泛使用,在这些笔记本中自动进行代码格式化将大大提高生产力。我预计要么应用相同的设置,要么有一个直接替代 .ipynb 文件的方法。

我尝试的是应用相同的逻辑和设置,希望 VSCode 能够解释并将“保存时格式化”功能扩展到 Jupyter 笔记本的单元格。我探索了 VSCode 和 Black Formatter 扩展设置,但没有找到在保存时对 .ipynb 文件应用自动格式化的直接参考或解决方案,类似于 .py 文件。

我正在寻求确认 VSCode 中的 .ipynb 文件目前不存在此功能,或者寻求解决方法的指导。也许可以使用不同的配置或扩展来弥补这一功能差距?任何允许在保存时自动格式化 Jupyter 笔记本单元格、增强 VSCode 内开发过程的一致性和效率的共享经验、建议或解决方案都将是非常宝贵的。

python visual-studio-code jupyter-notebook code-formatting
1个回答
0
投票

设置黑色格式化程序后,您可以在设置中搜索

Notebook: formatOnSave
Notebook: formatOnCellExecution
Ctrl+,)。

选中这些选项,您可以在将文件保存在jupyter笔记本中时使格式化程序工作。

© www.soinside.com 2019 - 2024. All rights reserved.