Eclipse: PyDevメモ: Mixed Indentation: Spaces foundへの対応

2017-07-16

旧ブログ

t f B! P L
コードをコピペしたらMixed Indentation: Spaces foundという警告が多発してちょっと手間取ったのでその対応メモです。

行頭はタブで統一して再発しないようにする



PyDevエディタからコピペするとMixed Indentation: Spaces foundという警告がでてきました。

PyDevエディタでのタブとスペースの設定を確認します。

Window→Preferences。

PyDev→Editor→Tabs。


デフォルトの設定はこのようになっています。

Replace tabs with spaces when typing?
入力時にタブをスペースで置換するか?

Assume tab spacing when files contain tabs?
タブが含まれているファイルではタブを使うと判断するか?

どちらもチェックされているので、キーで入力したときはスペース、そうでないときはタブというふうにちぐはぐになってしまうようです。

ということでReplace tabs with spaces when typing?のチェックははずして、行頭はタブで統一することにしました。
(2017.8.22追記。このチェックを付けたままにしているとMerge Toolでコードをコピーしたときはスペースになるようです。なので、マージしたときにタブとスペースの違いでコンフリクトしたとき、Git(29)EclipseのMerge Toolでコンフリクトを修正するの方法でMerge Toolで修正してコンフリクトがなくなったはずなのに、マージするとまたコンフリクトがでてくるという問題で悩まされました。このチェックを外すと問題は解決しました。マシンを変えたときは忘れずにこの項目を確認しておかなくてはいけません。)

Pythonは本来そうあるべきですし。

これで再発は予防できますが、すでにでている警告は消えません。

(2017.11.4追記。このブログのあるBlogger.comでは1個のタブは1個の半角スペースに変換されて保存されてしまいます。なので、このブログにPyDevからコードをコピペして保存するとタブインデントがおかしくなってしまいます。そこでSyntaxHighlighterで表示するときに行頭のスペースを4個のスペースに変換するようにしました。Blogger:SyntaxHighlighterにコピペしたタブインデントをスペースインデントに置換する)


警告Mixed Indentation: Spaces foundを消す方法


Edit→Select All。

Source→Convert space-tabs to tabs。


スペース何個分をタブで置換するのか聞かれます。

これでOKすると4個のスペースが1個のタブに置換されて警告が消えました。

次の関連記事:Eclipse: PyDevメモ: ブレークしたところでコマンドを実行する

ブログ検索 by Blogger

Translate

最近のコメント

Created by Calendar Gadget

QooQ