既存のファイルでタブをスペースに、またはその逆に変換するにはどうすればよいですか?


106

4つのスペースでfind-replaceを実行し、タブに変換する以外に、これを一生行う方法を理解することはできません(バージョン0.10.2)。これを行うための特定の機能を備えていないエディター/ IDEは考えられません。VSCodeはありますか?

回答:


184

https://github.com/Microsoft/vscode/issues/1228の修正以降、エディターはそのままでサポートします。単に行く:

  1. F1
  2. indentationToSpacesまたはindentationToTabs(必要に応じて)
  3. Enter

22
これは、先頭のスペース/タブのみを変換します。
ナイジェルスコット

13
ステップ1では、次のこともできますctrl+shift+p
AlexG 2018

先行しないスペース/タブの変換については、以下の私の回答を参照してください。stackoverflow.com/a/51735845/263139
jrupe 2018

7
いずれの回答も、各タブを正しいさまざまな数のスペースに変換しません。たとえば、次のテキストを入力してから変換します。1行目:「A \ tB」。2行目:「ABC \ tD」。
typpo 2018

ありがとう私は2時間スレッドで迷子になりました、そしてこれは私が必要としていたものです
ブライアンホワイト

52

別の方法は、フッターの現在のインデント(Tab / Spaces:n)をクリックすることです。これにより、インデントオプションが開き、実行する操作を選択できます。 ここに画像の説明を入力してください


9
これは、すべてのタブではなく、インデントでタブを変換するだけです。
デビッドギブン

38

先頭以外のタブをスペースに(またはその逆に)変換しようとしている場合は、正規表現の検索と置換を使用できます。

  1. Ctrl + Hを押します
  2. .*ボタンをクリックして、正規表現を使用して検索します。
  3. タブを検索するに[\t]は、[検索]ボックスに入力します。
  4. [置換]ボックスにスペースを入力して、置換を実行します。

正規表現モードの検索ボックス: VSCode正規表現検索ボックスのスクリーンショット


21
これにより、各タブが同じ数のスペースに変換されますが、これは正しくありません。
デビッドギブン

動作しない、スペースを追加すると、すべてが台無しになります
エマニュアル

これは、タブ区切りのデータ形式をカンマ区切りに変換する場合に非常に役立ちます。:)
繁殖的に

6
  1. [置換]を選択します:CTRL-H
  2. [検索]ボックスに[水平]タブを入力します。ATLを押したまま、キーパッドに009と入力します。
  3. [置換]ボックスにスペース(または複数のスペース)を入力します。スペースバーを押します
  4. Enterキーを押して、タブをスペースに置き換え始めます。

1
これは私にはうまくいきませんでしたが、正規表現を使用して先頭以外のスペース/タブに対してこれを行うことについて、以下の回答を投稿しました。
jrupe 2018

8
これにより、各タブが同じ数のスペースに変換されますが、これは正しくありません。
デビッドギブン
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.