Come cambiare la modalità di rientro in Atom?


195

Non sono ancora riuscito a capirlo. Atom sembra utilizzare gli spazi come modalità di rientro predefinita. Preferisco avere schede invece. Sublime Text ha funzionalità integrate per il passaggio e la conversione del rientro.

Qualcuno ha scoperto come cambiare la modalità di rientro di Atom?

Alcuni screenshot da Sublime Text:

Si apre il menu di rientro del testo sublime Menu di rientro del testo sublime


4
per convertire il rientro puoi fare un'espressione regolare trovare e sostituire e usare \ t per trovare o inserire schede.
mer10z_tech,

1
c'è un modo semplice per cambiare il codice corrente in 4 dalla modalità di rientro 2?
Charlie Parker,

1
Uso il plug-in di rilevamento automatico del rientro, che non solo configurerà automaticamente il tasto tab per fare tutto ciò che è già nel file, ma visualizza la modalità di rientro in basso a sinistra.
while1fork

@CharlieParker Vai alle preferenze, fai clic sulla scheda dell'editor e imposta Indentation su 4.
Craig

Nota: Atom per impostazione predefinita mostra e attraversa spazi come le schede! Vedi la risposta di tparker qui: stackoverflow.com/a/46333677/1599699
Andrew,

Risposte:


219

Vedi Schede soft e Lunghezza schede in Impostazioni> Impostazioni dell'editor .

Per attivare e disattivare rapidamente le modalità di rientro, puoi usare Ctrl-Maiusc-P e cercare Editor: Attiva / Disattiva schede .


1
Come ha detto @zamber, se il rientro automatico di una pagina non rileva le impostazioni di rientro, riaprilo e riprova.
Victor S

58
Proprio come una nota a margine: le schede morbide sono caratteri di spazio come schede, le schede rigide sono caratteri di scheda. Inoltre, se le impostazioni non vengono riproposte, provareCtrl-Shift-P Editor: Toggle Soft Tabs
ivan-k

2
Vorrei aggiungere che NESSUNA delle soluzioni in questo thread ha funzionato per me FINO A che non ho scambiato con un carattere mono-spaziato. Dopo aver scambiato un font mono-spaziato ho provato ogni metodo e tutti funzionano davvero. Spero che questo aiuti qualcuno in futuro ...
Native Coder

c'è un modo semplice per cambiare il codice corrente in 4 dalla modalità di rientro 2?
Charlie Parker,

Non vedo alcun vantaggio a NON utilizzare un carattere a spaziatura fissa durante la codifica, devo ammetterlo.
Frank Bailey,

65

Vai a File -> Impostazioni

Ci sono 3 diverse opzioni qui.

  1. Schede morbide
  2. Lunghezza della linguetta
  3. Tipo di scheda

Ho fatto alcuni test e sono giunto a queste conclusioni su ciò che ognuno fa.

Schede software - Abilitando questo significa che utilizzerà gli spazi per impostazione predefinita (cioè per i nuovi file).

Lunghezza scheda : l'ampiezza del carattere della scheda o quanti spazi sono inseriti per una scheda se le schede software sono abilitate.

Tipo di scheda : determina la modalità di rientro da utilizzare per i file esistenti. Se lo si imposta su automatico, utilizzerà il rientro esistente (schede o spazi). Se lo imposti su soft o hard, forzerà spazi o tab indipendentemente dall'indentazione esistente. Meglio lasciarlo su auto.

Nota: Soft = spazi, hard = tab


Puoi anche parlare di Atomic Soft Tabs ?
Neeh,

3
c'è un modo semplice per cambiare il codice corrente in 4 dalla modalità di rientro 2?
Charlie Parker,

1
Grazie per aver contribuito a chiarire alcuni dei linguaggi che Atom usa per comprendere questo problema.
MiFiHiBye


15

OS X:

  1. Vai a Atom -> prefrencesoCMD + ,

  2. Scorri verso il basso e seleziona "Lunghezza scheda" che preferisci.

inserisci qui la descrizione dell'immagine


11

Puoi provare ad andare su "Atom> Preferenze> Editor" e impostare la lunghezza della scheda su 4.

inserisci qui la descrizione dell'immagine

Questo è per mac. Per Windows dovrai trovare il menu appropriato.


7

Aggiungendo la risposta @Manbroski qui che ha funzionato per me:

provare Ctrl-Shift-P Editor: Toggle Soft Tabs


6

In ritardo alla festa, ma un modo chiaro per farlo in base al progetto, è aggiungere un file .editorconfig alla radice del progetto. Ti evita di dover modificare le impostazioni di Atom quando lavori su più progetti contemporaneamente.

Questo è un esempio di una configurazione di base che sto attualmente utilizzando. Funziona con Atom, ST, ecc ...

http://editorconfig.org/

# Automatically add new line to end of all files on save.
[*]
insert_final_newline = true

# 2 space indentation for SASS/CSS
[*.{scss,sass,css}]
indent_style = space
indent_size = 2

# Set all JS to tab => space*2
[js/**.js]
indent_style = space
indent_size = 2

Ho quasi gettato via Atom completamente fino a quando non ho visto questo. Le impostazioni di config.cson sembrano non fare assolutamente nulla per i file esistenti. Grazie!
killthrush,

3

Questo è integrato nel core: vedi Settings ⇒ Tab Typee scegli auto:

Se impostato su "auto", l'editor rileva automaticamente il tipo di scheda in base al contenuto del buffer (utilizza il primo spazio bianco iniziale su una riga non commentata) oppure utilizza il valore dell'impostazione di configurazione delle schede software se auto- il rilevamento non riesce.

Puoi anche dare un'occhiata al pacchetto Rilevamento automatico del rientro . Dai documenti:

Rileva automaticamente il rientro dei file aperti. Esamina ogni file aperto e imposta le impostazioni delle schede specifiche del file (schede rigide / morbide, lunghezza della scheda) in base al contenuto del file anziché utilizzare sempre le impostazioni predefinite dell'editor.

Potresti avere atom configurato per usare 4 spazi per le schede ma aprire un progetto di rotaie che per impostazione predefinita è 2 spazi. Senza questo pacchetto, dovresti modificare le tue impostazioni tabstop a livello globale o rischiare di avere una spaziatura dei lead incoerente nei tuoi file.


Se si usa "auto" e si sbaglia (nel mio caso si decide di usare gli spazi quando voglio le schede, su questo particolare file) come si fa (con un menu rapido o una sequenza di tasti, non approfondendo le impostazioni) a cambiare idea? Non penso che il rilevamento automatico sia fallito, ha appena sbagliato. Non digiterà un hard-tab per me. Ho fatto ricerca e sostituzione ovunque, ma il tasto TAB inserisce ancora 4 spazi.
Ed Randall,

Non avrei usato search-and-replaceavrei usato la palette dei comandi convert spaces to tabs(o qualcosa del genere). Penso che abbia funzionato per me in passato.
jcuenod,

3

Ho appena avuto lo stesso problema e nessuno dei suggerimenti sopra ha funzionato. Alla fine ho provato a deselezionare "Soft tabs Atomic" nel menu Impostazioni editor, che ha funzionato.


OH! Questo è ciò che significa! Mi chiedevo perché i miei tasti freccia saltassero negli spazi quando non c'era nessuno \tnel file ...
Andrew

2

Se stai usando Babel potresti anche voler assicurarti di aggiornare il pacchetto "Language Babel". Per quanto mi riguarda, anche se avevo impostato la lunghezza della scheda su 2 nelle impostazioni dell'editor principale, la stessa impostazione nella configurazione di Language Babel lo sostituiva con 4.

Atom -> Preferences -> Packages -> (Search for Babel) -> Grammar -> Tab Length

Assicurati della grammatica appropriata, c'è "Grammatica JavaScript di Babel ES6", "Grammatica di estensione linguistica" e "Espressione regolare". Probabilmente vuoi aggiornarli tutti per essere coerenti.


2

Tab Control offre un buon controllo in modo simile a quello descritto nella tua domanda.

Anche bello, per gli sviluppatori JavaScript, è la lunghezza della scheda ESLint per l'utilizzo della configurazione ESLint.

O se stai usando un .editorconfigper definire le regole di rientro specifiche del progetto, c'è EditorConfig


1

Se le impostazioni di rientro globali di tabulazioni / spazi non soddisfano più le tue esigenze (ad esempio ti trovi a lavorare con basi di codice legacy con vari formati di rientro e devi passare rapidamente da una all'altra e il rilevamento automatico non funziona) potresti provare la scheda -control plugin, che in qualche modo duplica la funzionalità del menu nello screenshot.


1

Quando il rilevamento automatico del rientro di Atom ha sbagliato irrimediabilmente e mi ha rifiutato di farmi scrivere un carattere letterale Tab, alla fine ho trovato l' estensione "Force-Tab" - che mi ha dato il controllo. Volevo mantenere MAIUSC-tab per outdenting, quindi imposta ctrl-tab per inserire una scheda rigida. Nella mia keymap ho aggiunto:

'atom-text-editor': 'ctrl-tab': 'force-tab:insert-actual-tab'


1

Se si utilizza la versione 1.21.1:

  1. Fai clic su Pacchetti / Visualizza impostazioni / Apri
  2. Seleziona "Editor" sul pannello laterale sinistro
  3. Scorri verso il basso fino a visualizzare "Lunghezza scheda"
  4. Modifica il valore Mi piace impostarlo su 4.

Ora, basta chiudere il riquadro delle schede attivo e il gioco è fatto.


0

Tutte le risposte più popolari qui sono tutte ottime risposte e attivano spazi per le schede, ma mancano tutte una cosa. Come applicare gli spazi anziché le schede al codice esistente.

Per fare ciò basta selezionare tutto il codice che si desidera formattare, quindi andare su Modifica-> Linee-> Rientro automatico e risolverà tutto selezionato.

In alternativa, puoi semplicemente selezionare tutto il codice che desideri formattare, quindi utilizzare Ctrl Maiusc P e cercare il rientro automatico. Basta fare clic nei risultati di ricerca e risolverà tutto selezionato.


0

Modifica della configurazione specifica della lingua

Ho modificato le impostazioni predefinite della scheda e non ha avuto alcun impatto durante la modifica dei miei file, che erano file Python. Inoltre non è cambiato quando ho modificato l'impostazione "*" in ~ / .atom / config.cson. Non ho una buona spiegazione per nessuno dei due.

Tuttavia, quando ho aggiunto quanto segue al mio config.cson, sono stato in grado di cambiare la scheda nei miei file Python in 2 spazi:

'.source.python':
  editor:
    tabLength: 2

Grazie a questa risorsa per la soluzione: il tasto Tab non rispetta la lunghezza del tab

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.