Risposte:
Ecco un trucco accurato in Sublime Text 2 o 3 per convertire la spaziatura del rientro in un documento.
TL; DR:
Conversione da 2 spazi a 4 spazi:
Assicurati che la larghezza della scheda sia impostata su 2. Converti il rientro a 2 spazi in schede, passa alla larghezza della scheda 4, quindi converti il rientro in spazi.
La descrizione dettagliata:
Vai a:
View -> Indentation
Dovrebbe leggere:
Indent using spaces [x]
Tab width: 2
Selezionare:
Convert Indentation to Tabs
Quindi selezionare:
Tab width: 4
Convert Indentation to Spaces
Fatto.
In realtà ho scoperto che per la mia sanità mentale è meglio definire le preferenze dell'utente in questo modo:
"translate_tabs_to_spaces": true,
"tab_size": 2,
"indent_to_bracket": true,
"detect_indentation": false
Ciò detect_indentation: false
è particolarmente importante, poiché obbliga Sublime a rispettare queste impostazioni in ogni file, al contrario delle View -> Indentation
impostazioni.
Se vuoi essere sofisticato, puoi anche definire una scorciatoia da tastiera per reinserire automaticamente il tuo codice (YMMV) incollando quanto segue in Sublime -> Preferences -> Key Binding - User
:
[
{ "keys": ["ctrl+i"], "command": "reindent" }
]
e per visualizzare gli spazi bianchi:
"indent_guide_options": ["draw_active"],
"trim_trailing_white_space_on_save": true,
"ensure_newline_at_eof_on_save": true,
"draw_white_space": "all",
"rulers": [120],
Ho trovato, nella mia mente, una soluzione più semplice di Magne:
Su Mac:
"cmd+f" => " "(two spaces) => "alt+enter" => "arrow right" => " "(two more spaces) => set tab width to 4(this can be done before or after.
Su Windows o altre piattaforme cambiamento cmd+f
e alt+enter
con qualunque sia il vostro find
e select all
tasti di scelta rapida sono.
Nota: questo metodo è soggetto a "errori" se hai più di uno spazio nel tuo codice. È quindi meno sicuro del metodo di Magne, ma è più veloce (almeno per me).
RubyFormat
, puoi semplicemente impostare la dimensione della scheda desiderata e quindi riformattare il codice. Nel caso RubyFormat
sarebbe cmd+shift+R
.
Mentre molti dei suggerimenti funzionano quando si converte 2 -> 4 spazi. Ho riscontrato alcuni problemi durante la conversione di 4 -> 2.
Ecco cosa ho finito per usare:
Sublime Text 3/Packages/User/to-2.sublime-macro
[
{ "args": null, "command": "select_all" },
{ "args": { "set_translate_tabs": true }, "command": "unexpand_tabs" },
{ "args": { "setting": "tab_size", "value": 1 }, "command": "set_setting" },
{ "args": { "set_translate_tabs": true }, "command": "expand_tabs" },
{ "args": { "setting": "tab_size", "value": 2 }, "command": "set_setting" }
]
Se trovi la ricerca e sostituisci più velocemente da usare, puoi usare una regex sostitutiva in questo modo:
Trova (regex): (^|\G) {2}
(Invece di "{2}" <space>{2}
puoi semplicemente scrivere due spazi. Usalo qui per chiarezza.)
Sostituisci con 4 spazi, o qualsiasi cosa tu voglia, come \t
.
Devi aggiungere questo codice ai tuoi tasti personalizzati:
{ "keys": ["ctrl+f12"], "command": "set_setting", "args": {"setting": "tab_size", "value": 4} }
premendo ctrl + f12, il file verrà reindirizzato a una dimensione di scheda di 4. se si desidera una dimensione di scheda diversa, è sufficiente modificare il numero "valore". Il formato è un semplice json.
{ "keys": ["ctrl+f10"], "command": "set_setting", "args": {"setting": "translate_tabs_to_spaces", "value": 2} }, { "keys": ["ctrl+f11"], "command": "set_setting", "args": {"setting": "tab_size", "value": 2} }, { "keys": ["ctrl+f12"], "command": "set_setting", "args": {"setting": "tab_size", "value": 4} },
La cosa più semplice che ho fatto è stata,
ha cambiato il mio rientro in Schede
e ha risolto il mio problema.
Puoi fare lo stesso,
agli spazi
oltre che per le tue necessità.
Menzionato l'istantanea della stessa.
Di recente ho riscontrato un problema simile. Stavo usando l'editor sublime. non è un problema con il codice ma con l'editor.
Di seguito la modifica delle impostazioni delle preferenze ha funzionato per me.
Menu Testo sublime -> Preferenze -> Impostazioni: specifico della sintassi :
{
"tab_size": 4,
"translate_tabs_to_spaces": true
}