【VSCode】Pythonのimport文の順番が勝手に入れ替わらないようにする(editor.formatOnPasteを使用)

304 語
2 分
【VSCode】Pythonのimport文の順番が勝手に入れ替わらないようにする(editor.formatOnPasteを使用)

はじまり#

リサちゃん avatar
リサちゃん
あーー! なぜだああぁぁぁあああ!!?
135ml avatar
135ml
どうしたんだ、急にがなり始めて。
リサちゃん avatar
リサちゃん
VSCodeでPythonを書いてたら、勝手にfrom文がフォーマットされてしまうのだよ・・・せっかく、`sys.path.append`したのに・・・
135ml avatar
135ml
あららら。その場合は、settings.jsonを編集すると解消できるぞ。今回は、どのフィールドを編集すればよいかを紹介します。
リサちゃん avatar
リサちゃん
おっ

問題点#

今回、from文を以下のようにペーストした際に、from文の順番が前に移動してしまうためにソースにエラーが発生してしまいました。どうやら、ファイルを保存した際にも、この事象が発生するようです。

せっかく、sys.path.appendしたのに・・・

以下で、僕がこの事象を解消した方法を紹介します。

解消法#

"editor.formatOnPaste“と"editor.formatOnSave"のフィールドを黙らせると勝手に順番を入れ替わることはなくなりそうです。

解消前はこのように記述していますが・・・、

settings.json (解消前):

{
...
"[python]": {
"editor.tabSize": 4,
// "editor.formatOnPaste": false,
// "editor.formatOnSave": false
},
"editor.formatOnPaste": true,
"editor.formatOnSave": true,
...
}

解消後のコードは以下のように記述しています。

settings.json (解消後):

{
...
"[python]": {
"editor.tabSize": 4,
"editor.formatOnPaste": false,
"editor.formatOnSave": false
},
"editor.formatOnPaste": true,
"editor.formatOnSave": true,
...
}

解消後の動きはこの様になっています。

補足#

ここでも"editor.formatOnPaste“と"editor.formatOnSave"のフィールドをいじれますが、Pythonだけにフォーマットを無効化したい場合は、settings.jsonでないとおそらく編集できません。

おしまい#

リサちゃん avatar
リサちゃん
は〜、よかった〜、一生 VSCodeが使えなくなるかと思った〜。
135ml avatar
135ml
`settings.json`で色々設定をいじれるから、VSCodeの挙動で何か困ったら、いじってみましょ。

以上になります!

記事を共有

この記事が役に立ったなら、ぜひ他の人と共有してください!

【VSCode】Pythonのimport文の順番が勝手に入れ替わらないようにする(editor.formatOnPasteを使用)
https://endorphinbath.com/posts/vscode-setting-python-format-false/
著者
kinkinbeer135ml
公開日
2022-01-07
ライセンス
CC BY-NC-SA 4.0
関連記事 スマート
1
Pythonのタブサイズがどうしても「4」にならない
Software Pythonのタブサイズがどうしても「4」にならなかった。というか、インデントのサイズがどうしても「4」にならなかった。settings.jsonの設定に足らないものがあるのかもしれない。
2
【Python】Pydanticのvalidatorが非推奨だからfield_validatorを使って2段階バリデーションを実装する
Code @validatorはdeprecatedになってるし、@field_validatorにはpreとかalwaysフラグが無いから、from pydantic.functional_validators import field_validatorでインポートしたfield_validatorを使用する方法と、BeforeValidatorとAfterValidatorをAnnotateの中に入れる実装方法を試した。
3
【Python】複数の区切り文字を指定して文字列を配列に分割する
Code Pythonで文字列を配列に分割するスクリプトを掲載します。分割文字は配列で指定するように作っています。
4
【Python】文字列の先頭と末尾にあるスペース、空白文字を削除する
Code Pythonで文字列の先頭と末尾にスペース(空白文字)が混じっていることがあります。そのスペースを削除するスクリプトを掲載します。
5
【Python】pytestで同じディレクトリのモジュールをimportして、"ModuleNotFoundError: No module named"を出さなくする
Code Pythonスクリプトをpytestするとき、"ModuleNotFoundError: No module named"が表示されてしまった場合、この記事の方法でそのエラーが解決するかも。
ランダム記事 ランダム
Profile Image of the Author
kinkinbeer135ml
SIerをやめて、プログラミングを勉強しています。※Amazonアソシエイトに参加しています。
お知らせ
私のブログへようこそ!これはサンプルのお知らせです。
音楽
カバー

音楽

再生中なし

0:00 0:00
歌詞なし
カテゴリ
タグ
サイト統計
記事
287
カテゴリー
8
タグ
93
総文字数
486,174
運用日数
0
最終活動
0 日前

目次