コードのインデントをタブとスペースで変換する

貼ったコードがファイルのインデント慣習と合わない、ツールが混合インデントを拒否する。行頭の空白を一括で揃えます。

このガイドで使う道具

やりたいこと

タブ派とスペース派に分かれるため、別プロジェクトからコピーしたコードはインデントが合わないことがあります。1行ずつ直すのでなく、行頭の空白を一括で変換します。

使い方

コードを貼り、タブ→スペースかスペース→タブを選び、幅(1段分のスペース数、通常2か4)を設定します。変換結果と変更行数が出るので、元のコードへコピーして戻します。

  • スペース→タブは指定幅のまとまり単位です。幅4なら8スペースはタブ2個、6スペースはタブ1個+余り2スペースになります。
  • 変換するのは各行の先頭だけで、行の途中の桁揃え用の空白はそのままです。
  • 空行やインデントのない行はそのまま通ります。

具体例

タブでインデントされたYAMLの断片を貼るとツールに拒否された、という場合。その部分を貼って幅2のタブ→スペースを実行すれば、各タブが2スペースになりlinterが通ります。

注意点

ファイルがどちらの慣習かは自動判定しません。周囲のコードや.editorconfigを確認してください。行の途中にあるタブ(字下げではなく桁揃え用)は意図的に変換しません。