Esempio: se si dispone di un documento con 2 indentazione di spazio e si desidera che abbia 4 rientri di spazio, come posso convertirlo automaticamente utilizzando l'editor di testo sublime?Come correggere/convertire il rientro dello spazio nel testo sublime?
risposta
Ecco un trucco in Sublime Text 2 o 3 per convertire la spaziatura di rientro in un documento.
TL; DR:
Conversione da 2 posti a 4 posti:
garantire larghezza scheda è impostato su 2. Convertire il vostro rientro 2-spazio per le schede, passare alla larghezza scheda 4, e quindi riconvertire il rientro in spazi.
La descrizione dettagliata:
Vai a:
View -> Indentation
Dovrebbe essere visualizzato:
Indent using spaces [x]
Tab width: 2
Seleziona:
Convert Indentation to Tabs
quindi selezionare:
Tab width: 4
Convert Indentation to Spaces
Fatto.
ho trovato, nella mia mente, una soluzione più semplice rispetto 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 cambiano 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 si dispone di più di uno spazio nel codice. È quindi meno sicuro del metodo di Magne, ma è più veloce (almeno per me).
Non ho potuto farlo funzionare come tale, ma ho usato il principio e ho appena fatto un trova e sostituisci (cmd-option-F su Mac) e sostituisce "" (4 spazi) con "" (2 spazi). E ha funzionato! – evanbikes
Ho trovato un altro modo per farlo ora, ma è specifico per la lingua. Se si dispone di un plug-in di formattazione come "RubyFormat", è possibile semplicemente impostare la dimensione della scheda desiderata e quindi eseguire una riformattazione del codice. Nel caso di 'RubyFormat' sarebbe' cmd + shift + R'. – Automatico
Se trovate cercare e sostituire più veloce da usare, è possibile utilizzare una regex sostituire in questo modo:
Find (regex): (^|\G) {2}
(Invece di "{2}"<space>{2}
si può solo scrivere due spazi Utilizzato qui per chiarezza.)
Sostituire con 4 spazi, o qualsiasi altra cosa, come \t
.
in realtà ho trovato è meglio per la mia sanità mentale di avere le preferenze degli utenti da definire in questo modo:
"translate_tabs_to_spaces": true,
"tab_size": 2,
"indent_to_bracket": true,
"detect_indentation": false
Il detect_indentation: false
è particolarmente importante, in quanto costringe Sublime per onorare queste impostazioni in ogni file, al contrario di le impostazioni View -> Indentation
.
Se si desidera ottenere fantasia, è anche possibile definire una scorciatoia da tastiera per automaticamente ri-trattino il codice (YMMV) incollando il seguente in Sublime -> Preferences -> Key Binding - User
:
[
{ "keys": ["ctrl+i"], "command": "reindent" }
]
e di visualizzare gli spazi:
"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],
Mentre molti dei suggerimenti funzionano durante la conversione di 2 -> 4 spazio. Mi sono imbattuto in alcuni problemi durante la conversione di 4 -> 2.
Ecco quello che 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" }
]
si deve aggiungere il codice al tuo combinazioni di tasti personalizzate:
{ "keys": ["ctrl+f12"], "command": "set_setting", "args": {"setting": "tab_size", "value": 4} }
premendo CTRL + F12, sarà reindent il file a una dimensione di scheda 4. Se si desidera un formato scheda diversa, è basta cambiare il numero "valore". Il formato è un semplice json.
Mi piace grazie! Ho aggiunto 2 e 4 in questo modo: '{" keys ": [" ctrl + f10 "]," command ":" set_setting "," args ": {" setting ":" translate_tabs_to_spaces "," value ": 2}} , {"chiavi": ["ctrl + f11"], "comando": "set_setting", "args": {"impostazione": "tab_size", "valore": 2}}, {"chiavi": ["ctrl + f12"], "command": "set_setting", "args": {"setting": "tab_size", "value": 4}}, ' – JREAM
Grazie! : D Salvato un sacco di tempo. Nota. Puoi anche fare "trova: spazio-spazio => seleziona tutto => scheda" – Automatico
Ho creato una macro per sublime che fa tutto questo per te https://gist.github.com/joshmfrankel/5707020. Divertiti :-) –
Funziona anche per ST3. – jolt