Visual Studio Codeのインデントを変更するにはどうすればよいですか?


341

すべてのtypescriptファイルに対して、Visual Studioコードは8スペースの自動インデントを使用します。これは私の好みには少なすぎますが、どこを変更すればいいのかわかりません。

多分それは設定として利用できますが、インデントに関連するものを見つけることができないので別の名前で使用できます。

更新

私は現在Prettierコードフォーマッタを使用しており、保存時に自動フォーマットすることですべてのフォーマットの問題を解決します(構文エラーがない場合)

回答:


109

これは、グローバルUserレベルまたはWorkspaceレベルで変更できます。

設定を開き:ショートカットの使用ctrl + ,またはクリックFile> Preferences> Settings以下に示すように。

VS Codeメニューの設定

次に、次の2つの変更を行います:(tabSize検索バーに入力)

  1. のチェックボックスをオフにします Detect Indentation
  2. タブサイズを2/4に変更します(JSの場合は2が正しいと強く思いますが:))

ここに画像の説明を入力してください


1
インデントには4つのスペースを使用してください。
Bohdan Kuts

3
@BohdanKutsハハ、これは無限の議論になります
Xin

うん:)私はそれをいくつか検索し、なぜそれが2つのスペースになったのかを見つけました。そして、私には理由が古くなっているようですので、4つのスペースを使用することをお勧めします。
Bohdan Kuts

これは主観的なものであり、実際の利点はありません。読みやすくするために、js、html、cssなどの一部のファイルタイプには2つのスペース、コードには3つのスペースを使用しています。4つのスペースがあるHTMLおよびXMLでは、すぐに右にスクロールする必要があります。
Pablo Pazos

574

右下のツールバーに、次のようなアイテムが表示されます。ここに画像の説明を入力してください それをクリックすると、スペースまたはタブを使用してインデントするオプションが表示されます。インデントの種類を選択すると、インデントの大きさを変更するオプションが表示されます。上記の例の場合、インデントはインデントごとに4つの空白文字に設定されています。インデント文字としてタブが選択されている場合、スペースではなくタブサイズが表示されます。

これを個別のファイルベースではなく、すべてのファイルに適用する場合は、必要に応じて、ユーザー設定またはワークスペース設定Editor: Tab SizeおよびEditor: Insert Spaces設定を上書きします

編集1

ユーザーまたはワークスペースの設定を取得するには、[設定] -> [設定]に移動します。ニーズに応じて[ ユーザー ]タブまたは[ ワークスペース ]タブが表示されていることを確認し、検索バーを使用して設定を見つけます。Editor: Detect Indentationこの設定は、何を設定したかEditor: Insert SpacesEditor: Tab Sizeいつ有効になるかを上書き するため、無効にすることもできます。


画像リンクが壊れています。

34
変更editor.tabSpacesして、すべてのファイルの間隔は変わりませ。将来作成されるファイルに対してのみ変更されます。1つのアクションですべてのファイルを修正するための解決策はまだありません。
Jacob Stamm

3
ワオ。吹き飛ばされた心。時には物事はただありふれた風景の中に隠れている
ピンゴ

4
これは非常に直感的ではありません。スペースを使用するようにインデントを設定しています。なぜスペースオプションをクリックして、スペースの数を設定するための2番目の非表示メニューにアクセスする必要があるのですか?私が使用した他のすべてのエディターは、ステータスバーのインデントの詳細を1回クリックするだけで、いくつかのスペースオプションがあります。VSコードでは、必要なメニューが変更しないオプションの後ろに隠れているため、スタックオーバーフローでこれを調べる必要があります。
ian.pvd

1
新しいファイルを作成するたびに、デフォルトの4スペースに戻るようです。
オールドボーイ、

141

プログラミング言語に基づいてインデントを変更するには:

  1. (コマンドパレットを開きCtrlShiftP| MacOSのを:P
  2. 設定:設定言語固有の設定...(コマンドID: workbench.action.configureLanguageBasedSettings
  3. プログラミング言語(TypeScriptなど)を選択します
  4. このコードを追加します。

    "[typescript]": {
        "editor.tabSize": 2
    }
    

参照:VSコードドキュメント


コマンドidをどのように(どこで)使用しますか?File-Preferencesに "Configure Language Specific Settings"が表示されません。
Alan Baljeu

@AlanBaljeuキーボードショートカット、拡張機能などのコマンドIDを使用できます。そのため、[ファイル] > [ 設定] > [ キーボードショートカット]に移動し、IDを入力に貼り付けて、コマンドにCtrl + K Ctrl + Lなどを割り当てます。
Martin Schneider

55

editor.detectIndentationElliot-Jの回答に加えて、をfalse に設定することもできます。

VSCodeは、ファイルのタブまたはスペースのインデントパターンが異なることを検出すると、ファイルごとにeditor.tabSizeeditor.insertSpaces設定を上書きします。プロジェクトに既存のファイルを追加したり、Angular Cliなどのコードジェネレーターを使用してファイルを追加したりすると、この問題が発生する可能性があります。上記の設定により、VSCodeはこれを実行できなくなります。


44

コードフォーマットのショートカット:

WindowsのVSCode-Shift + Alt + F

MacOSのVSCode-Shift + Option + F

UbuntuのVSCode-Ctrl + Shift + I

必要に応じて、プリファレンス設定を使用してこのショートカットをカスタマイズすることもできます。

キーボードによる列の選択 Ctrl + Shift + Alt + Arrow


1
Shift + Alt + Fファイル内のすべてのインデントを8スペースからデフォルトの4スペースに変更しました。私が探していたもの:)
Harry12345

24

私の場合、「VS CodeのEditorConfig」拡張がVSCode設定を上書きしています。インストールされている場合は、プロジェクトのルートフォルダーにある.editorconfigファイルを確認します。

これは設定例です。「indent_size」はタブのスペース数を設定します。

# editorconfig.org
root = true

[*]
indent_style = space
indent_size = 4
end_of_line = lf
charset = utf-8
trim_trailing_whitespace = true
insert_final_newline = true

[*.md]
trim_trailing_whitespace = false

7

「VS Codeのインデントを変更する」をググった人のための写真付きの簡単な説明

ステップ1:[設定]> [設定]をクリックします

ここに画像の説明を入力してください

ステップ2:探している設定は「インデントの検出」です。それを入力してください。「エディタ:タブサイズ」をクリックします

ここに画像の説明を入力してください

ステップ3:「エディター:タブサイズ」までスクロールし、2(または必要なもの)を入力します。

ここに画像の説明を入力してください



変更は自動的に保存されます

ここに画像の説明を入力してください

私の変更の例

ここに画像の説明を入力してください


6

すべての既存のファイルと新しいファイルをスペースIDに2に設定するには、それをsettingsns.json(jsonのルート)に配置するだけです。

"[typescript]": {
        "editor.defaultFormatter": "vscode.typescript-language-features",
        "editor.tabSize": 2,
        "editor.insertSpaces": true,
        "editor.detectIndentation":false
 }

構成の言語タイプを追加できます。

"[javascript]": {
    "editor.tabSize": 2,
    "editor.insertSpaces": true,
    "editor.detectIndentation":false
} 

最近、私はprettier.jsとjsプラグインを使用します。これは、スペースの配置や長い行の再配置など、他のほとんどすべてのことを処理するためです。
HMR

1
ありがとう、素晴らしい答え、私にとって最良の方法。
Swetabja Hazra

5

VS Codeのすべてのファイルで4つのスペースインデントを2つのスペースに変える方法

  • ファイル検索を開く
  • 正規表現をオンにする
  • 入力:( {2})(?: {2})(\b|(?!=[,'";\.:\*\\\/\{\}\[\]\(\)]))検索フィールドに
  • 入力:$1置換フィールドに

VS Codeのすべてのファイルの2つのスペースインデントを4つのスペースに変える方法

  • ファイル検索を開く
  • 正規表現をオンにする
  • 入力:( {2})(\b|(?!=[,'";\.:\\*\\\/{\}\[\]\(\)]))検索フィールドに
  • 入力:$1$1置換フィールドに

注:最初にPERL Regexをオンにする必要があります。こうやって:

  • 設定を開き、JSONファイルに移動します
  • 以下をJSONファイルに追加します "search.usePCRE2": true

誰かがこれを見てほしい。


1
特にVSコードの場合、4から2のスペースに変換するための拡張機能あります。
タニアス

4

問題:受け入れられた回答は、現在のドキュメントのインデントを実際には修正しません。

解決策:実行Format Documentして、現在の(新しい)設定に従ってドキュメントを再処理します。

問題:私のプロジェクトのHTMLドキュメントは、「HTML」ではなく「Django HTML」タイプであり、利用可能なフォーマッターがありません。

解決策:それらを構文「HTML」に切り替え、フォーマットしてから、「Django HTML」に切り替えます。

問題:HTMLフォーマッターは、Djangoテンプレートタグの処理方法を認識しておらず、注意深く適用されたネストの多くを元に戻します。

解決策:インデント4-2拡張機能をインストールします。これは、現在の言語構文(この場合は私が欲しいもの)に関係なく、インデントを厳密に実行します。


2

既存の HTMLファイルのインデントを4スペースから2スペースに変更したいと思いました。

ステータスバーの[スペース:4]ボタンをクリックし、次のダイアログボックスで2つに変更しました。

「vim」拡張機能を使用しています。vimなしで再インデントする方法はありません

現在のファイルを再度インデントするために、これを使用しました:

gg

=

G

0

追加:はい、右下のUIを使用してスペース設定を構成できます。ただし、新しい間隔でフォーマットされていない既存のコードがある場合は、ファイル内の任意の場所を右クリックして、[ ドキュメントのフォーマット ]をクリックできます。私がこの問題に出くわすまで、これを理解するのにしばらくかかりました。

ドキュメントの書式設定メニュー

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.