Come modificare il rientro nel codice di Visual Studio?


345

Per ogni file dattiloscritto il codice di Visual Studio utilizza un rientro automatico di 8 spazi. Questo è un po 'troppo per i miei gusti, ma non riesco a trovare dove cambiarlo.

Forse è disponibile come impostazione ma con un nome diverso in quanto non riesco a trovare nulla correlato al rientro.

AGGIORNARE

Attualmente sto usando il formattatore di codice Prettier e questo risolve tutti i problemi di formattazione mediante la formattazione automatica al salvataggio (se non si verifica alcun errore di sintassi)

Risposte:


114

Puoi modificarlo a Userlivello o Workspacelivello globale .

Aprire le impostazioni: Usando la scorciatoia ctrl + ,o facendo clic File> Preferences> Settingscome illustrato di seguito.

Impostazioni nel menu VS Code

Quindi, apportare le seguenti 2 modifiche: (digitare tabSizenella barra di ricerca)

  1. Deseleziona la casella di controllo di Detect Indentation
  2. Modificare le dimensioni della scheda in 2/4 (anche se penso fortemente che 2 sia corretto per JS :))

inserisci qui la descrizione dell'immagine


1
Per favore, usa 4 spazi per il rientro.
Bohdan Kuts,

4
@BohdanKuts ah ah, questa sarà una discussione infinita
Xin

Sì :) Ho fatto qualche ricerca per quello e ho scoperto perché è diventato 2 spazi. E per me il motivo sembra obsoleto, quindi consiglierò di usare 4 spazi di sicuro.
Bohdan Kuts il

1
Questo è soggettivo e non ha alcun vantaggio reale, conservo 2 spazi per alcuni tipi di file come js, html e css e 3 spazi per il codice, solo per leggibilità. In HTML e XML con 4 spazi dovrai scorrere a destra molto presto.
Pablo Pazos

574

Nella barra degli strumenti nell'angolo in basso a destra vedrai un elemento simile al seguente: inserisci qui la descrizione dell'immagine Dopo aver fatto clic su di esso otterrai l'opzione per rientrare usando gli spazi o le schede. Dopo aver selezionato il tipo di rientro, avrai la possibilità di modificare la dimensione di un rientro. Nel caso dell'esempio precedente, il rientro è impostato su 4 caratteri spaziali per rientro. Se la scheda è selezionata come carattere di rientro, vedrai Dimensione scheda anziché Spazi

Se si desidera che questo si applichi a tutti i file e non su base file individuale, sovrascrivere le impostazioni Editor: Tab Sizee Editor: Insert Spacesin Impostazioni utente o Impostazioni area di lavoro in base alle proprie esigenze

Modifica 1

Per accedere alle impostazioni dell'utente o dell'area di lavoro, vai su Preferenze -> Impostazioni . Verifica di essere nella scheda Utente o Area di lavoro in base alle tue esigenze e utilizza la barra di ricerca per individuare le impostazioni. Potresti anche voler disabilitare Editor: Detect Indentationpoiché questa impostazione sovrascriverà ciò che hai impostato Editor: Insert Spacese Editor: Tab Sizequando è abilitata


Il collegamento all'immagine è interrotto.

34
La modifica editor.tabSpacesnon non modificare la spaziatura in tutti i file. Lo cambia solo per i file creati in futuro. Non esiste ancora una soluzione per correggere tutti i file in una sola azione.
Jacob Stamm,

3
Wow. sbalordire. a volte le cose si nascondono in bella vista
pingo il

4
Questo è super intuitivo. Ho già impostato il rientro per usare gli spazi. Perché devo fare clic sull'opzione degli spazi per accedere a un secondo menu nascosto per impostare il numero di spazi? Ogni altro editor che ho usato è un clic sui dettagli del rientro nella barra di stato e c'è una serie di opzioni di spazi. In VS Code devo cercare questo su Stack Overflow perché il menu che voglio è nascosto dietro un'opzione che non sto cercando di cambiare.
ian.pvd,

1
sembra sempre tornare al valore predefinito di 4 spazi ogni volta che creo un nuovo file?!?!
Oldboy,

143

Per modificare il rientro in base al linguaggio di programmazione :

  1. Apri la palette dei comandi ( CtrlShiftP| macOS:P )
  2. Preferenze: configura impostazioni specifiche della lingua ... (ID comando:workbench.action.configureLanguageBasedSettings )
  3. Seleziona il linguaggio di programmazione (ad esempio TypeScript)
  4. Aggiungi questo codice:

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

Vedi anche: VS Code Docs


Come (dove) si usa l'id comando? Non vedo "Configura impostazioni specifiche della lingua" in Preferenze file.
Alan Baljeu,

@AlanBaljeu puoi usare l'id del comando per scorciatoie da tastiera, estensioni, ecc. Quindi, puoi andare su File > Preferenze > Scorciatoie da tastiera , incollare l'ID nell'input e assegnare ad esempio Ctrl + K Ctrl + L al comando.
Martin Schneider,

55

Potresti anche voler impostare editor.detectIndentationfalse su, oltre alla risposta di Elliot-J.

VSCode sovrascriverà il tuo editor.tabSizee le editor.insertSpacesimpostazioni per file se rileva che un file ha una diversa scheda o pattern di rientro degli spazi. È possibile riscontrare questo problema se si aggiungono file esistenti al progetto o se si aggiungono file utilizzando generatori di codice come Angular Cli. L'impostazione sopra impedisce a VSCode di farlo.


44

Scorciatoia per la formattazione del codice:

VSCode su Windows - Maiusc + Alt + F

VSCode su MacOS - Maiusc + Opzione + F

VSCode su Ubuntu - Ctrl + Shift + I

Puoi anche personalizzare questo collegamento usando l'impostazione delle preferenze, se necessario.

selezione di colonne con tastiera Ctrl + Shift + Alt + Arrow


1
Shift + Alt + Fha cambiato tutti i rientri nel mio file da 8 spazi ai miei 4 spazi predefiniti. Proprio quello che stavo cercando :)
Harry12345,

24

Nel mio caso " EditorConfig per VS Code " ha la precedenza sulle impostazioni VSCode. Se lo hai installato, controlla il file .editorconfig nella cartella principale del progetto.

Ecco un esempio di configurazione. "Indent_size" imposta il numero di spazi per una scheda.

# 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

Spiegazione semplificata con immagini per coloro che cercavano su google "Cambia rientro nel codice VS"

Passaggio 1: fare clic su Preferenze> Impostazioni

inserisci qui la descrizione dell'immagine

Passaggio 2: L'impostazione che stai cercando è "Rileva rientro", inizia a digitarlo. Fai clic su "Editor: dimensioni scheda"

inserisci qui la descrizione dell'immagine

Passaggio 3: Scorri verso il basso fino a "Editor: dimensioni scheda" e digita 2 (o qualsiasi altra cosa ti serva).

inserisci qui la descrizione dell'immagine



Le modifiche vengono salvate automaticamente

inserisci qui la descrizione dell'immagine

Esempio delle mie modifiche

inserisci qui la descrizione dell'immagine


6

Per impostare tutti i file esistenti e i nuovi file su Identificazione spazio su 2, basta inserirlo in settingns.json (nella radice di JSON):

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

puoi aggiungere il tipo di lingua della configurazione:

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

In questi giorni uso prettier.js e il plug-in js perché si occupa della spaziatura e di altre linee di ri-allineamento delle linee lunghe e di qualsiasi altra cosa.
HMR,

1
Grazie, risposta fantastica, il modo migliore per me.
Swetabja Hazra,

5

Come trasformare 4 rientri di spazi in tutti i file in VS Code in 2 spazi

  • Apri la ricerca di file
  • Attiva le espressioni regolari
  • Inserisci: ( {2})(?: {2})(\b|(?!=[,'";\.:\*\\\/\{\}\[\]\(\)]))nel campo di ricerca
  • Immettere: $1nel campo Sostituisci

Come trasformare 2 rientri di spazi in tutti i file in VS Code in 4 spazi

  • Apri la ricerca di file
  • Attiva le espressioni regolari
  • Inserisci: ( {2})(\b|(?!=[,'";\.:\\*\\\/{\}\[\]\(\)]))nel campo di ricerca
  • Immettere: $1$1nel campo Sostituisci

NOTA: è necessario prima attivare PERL Regex. Questo è come:

  • Apri le impostazioni e vai al file JSON
  • aggiungere quanto segue al file JSON "search.usePCRE2": true

Spero che qualcuno lo veda.


1
In particolare per VS Code, esiste anche un'estensione per convertire da 4 a 2 spazi.
tanius

4

Problema: la risposta accettata non risolve effettivamente il rientro nel documento corrente.

Soluzione: eseguire Format Documentper rielaborare il documento in base alle impostazioni (nuove) correnti.

Problema: i documenti HTML nei miei progetti sono di tipo "HTML Django" e non "HTML" e non sono disponibili formattatori.

Soluzione: passali alla sintassi "HTML", formattali, quindi torna a "Django HTML".

Problema: il formattatore HTML non sa come gestire i tag del modello Django e annulla gran parte del mio annidamento applicato con cura.

Soluzione: installare l' estensione Indent 4-2 , che esegue rigorosamente il rientro, indipendentemente dalla sintassi della lingua corrente (che è ciò che voglio in questo caso).


2

Volevo cambiare il rientro del mio file HTML esistente da 4 spazi a 2 spazi.

Ho fatto clic sul pulsante "Spazi: 4" nella barra di stato e li ho cambiati in due nella finestra di dialogo successiva.

Uso l'estensione 'vim'. Non riesco a rientrare di nuovo senza VIM

Per rientrare nel rientro del mio file corrente, ho usato questo:

gg

=

G

0

Aggiunta: sì, è possibile utilizzare l'interfaccia utente in basso a destra per configurare le impostazioni dello spazio. Ma se hai un codice esistente che non è formattato con la nuova spaziatura, puoi fare clic con il pulsante destro del mouse in qualsiasi punto del file e fare clic su Formato documento . Mi ci è voluto un po 'per capire fino a quando mi sono imbattuto in questo problema .

Menu Formato documento

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.