スポンサーリンク
概要
久しぶりにVS Code上でPythonのコードを書いた際に、保存時にコードフォーマッタが効かずに困った際に対応した忘備録です。
現象としては、下記のようにPythonをCommand+Sで保存した際にコードフォーマットがされずに下記のような文言が表示されている状態となっていました。
(拡張機能 Prettier - Code Formatterはxxxx.pyをフォーマットできませんというエラーメッセージが表示。)
スポンサーリンク
スポンサーリンク
原因と対応
結論から言うと、以前下記で対応したprettierの設定のせいでした。
VSCode上のデフォルトのフォーマッタとしてprettierを指定していますが、pythonには対応していないためフォーマッタが機能せずにエラーとなっていました。
VSCode上の設定は言語別に設定可能なため、下記のようにpythonの時にはデフォルトフォーマッタをnullに設定する事で解決。
1 2 3 4 |
"editor.defaultFormatter": "esbenp.prettier-vscode" "[python]": { "editor.defaultFormatter": null } |
代わりにpython用のlinterやformatterを有効にする設定を流し込みます。
この辺りの設定は色々とお好みで。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
{ "editor.formatOnSave": true, "python.formatting.provider": "autopep8", "python.linting.enabled": true, "python.linting.pylintEnabled": false, "python.linting.flake8Enabled": true, "python.linting.flake8Args": ["--ignore=E402, E501, W503"], "python.formatting.autopep8Args": [ "--ignore", "E50", "--max-line-length", "120", "--aggressive" ], "python.jediEnabled": false, "python.linting.mypyEnabled": true } |
スポンサーリンク
参考元
https://dev.to/eegli/quick-guide-to-python-formatting-in-vs-code-2040