VSCodeのJupyter上ではeditor.formatOnSave
を指定しても保存時にフォーマットが実行されません.そういうものだと思っていましたが,専用の設定を追加すればフォーマットできるみたいです
検証用リポジトリ
settings.json
settings.json
にnotebook.formatOnSave
,notebook.codeActionsOnSave
を追加します.これでコード保存時にフォーマットが走るはずです
settings.json
{
"files.insertFinalNewline": true,
"editor.tabSize": 4,
"editor.formatOnSave": true,
"editor.codeActionsOnSave": {
"source.organizeImports.ruff": "explicit"
},
"editor.defaultFormatter": "esbenp.prettier-vscode",
"[python]": {
"editor.defaultFormatter": "charliermarsh.ruff"
},
"[toml]": {
"editor.defaultFormatter": "tamasfe.even-better-toml"
},
"notebook.formatOnSave.enabled": true,
"notebook.codeActionsOnSave": {
"source.organizeImports.ruff": "explicit"
}
}
フォーマッタには,セルの言語ごとにeditor.defaultFormatter
で指定したものが使われます.つまり,markdownセルはprettier
,pythonセルはruff
でフォーマットみたいなことができます
notebook.defaultFormatter
やnotebook.insertFinalNewline
のようなオプションもあるみたいです.必要に応じて使えそうですね