Respostas:
Aqui está um truque interessante no Sublime Text 2 ou 3 para converter o espaçamento de recuo em um documento.
TL; DR:
Convertendo de 2 espaços para 4 espaços:
Verifique se a largura da guia está definida como 2. Converta o recuo de dois espaços em guias, alterne para a largura da guia 4 e, em seguida, converta o recuo novamente em espaços.
A descrição detalhada:
Vamos para:
View -> Indentation
Deve ler-se:
Indent using spaces [x]
Tab width: 2
Selecione:
Convert Indentation to Tabs
Depois selecione:
Tab width: 4
Convert Indentation to Spaces
Feito.
Na verdade, achei melhor que minha sanidade tivesse preferências de usuário definidas da seguinte forma:
"translate_tabs_to_spaces": true,
"tab_size": 2,
"indent_to_bracket": true,
"detect_indentation": false
O detect_indentation: false
é especialmente importante, uma vez que obriga Sublime para honrar essas configurações em cada arquivo, ao contrário das View -> Indentation
configurações.
Se você quiser se sentir bem, também pode definir um atalho de teclado para re-recuar automaticamente seu código (YMMV) colando o seguinte em Sublime -> Preferences -> Key Binding - User
:
[
{ "keys": ["ctrl+i"], "command": "reindent" }
]
e para visualizar o espaço em branco:
"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],
Eu achei, em minha opinião, uma solução mais simples que Magne:
No mac:
"cmd+f" => " "(two spaces) => "alt+enter" => "arrow right" => " "(two more spaces) => set tab width to 4(this can be done before or after.
No Windows ou em outras plataformas, mude cmd+f
e alt+enter
com o que são suas find
e select all
teclas de atalho.
Nota: este método é propenso a "erros" se você tiver mais de um espaço no seu código. Portanto, é menos seguro que o método de Magne, mas é mais rápido (pelo menos para mim).
RubyFormat
, basta definir o tamanho de guia desejado e, em seguida, reformatar o código. No caso de RubyFormat
seria cmd+shift+R
.
Enquanto muitas das sugestões funcionam ao converter 2 -> 4 de espaço. Encontrei alguns problemas ao converter 4 -> 2.
Aqui está o que eu acabei usando:
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 você encontrar a pesquisa e a substituição mais rápidas de usar, poderá usar uma substituição de regex como esta:
Encontre (regex): (^|\G) {2}
(em vez de "{2}", <space>{2}
basta escrever dois espaços. Use-o aqui para maior clareza.)
Substitua por 4 espaços, ou o que você quiser, como \t
.
Você precisa adicionar esse código às suas ligações de teclas personalizadas:
{ "keys": ["ctrl+f12"], "command": "set_setting", "args": {"setting": "tab_size", "value": 4} }
pressionando ctrl + f12, o arquivo será reindentado para um tamanho de tabulação de 4. Se você quiser um tamanho de tabulação diferente, basta alterar o número do "valor". O formato é um json simples.
{ "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} },
A coisa mais fácil que fiz foi,
alterei meu recuo para guias
e resolveu o meu problema.
Você pode fazer o mesmo,
para Espaços
bem como por sua necessidade.
Mencionou o instantâneo do mesmo.
Recentemente, enfrentei um problema semelhante. Eu estava usando o editor sublime. não é um problema com o código, mas com o editor.
Abaixo, as alterações nas configurações de preferência funcionaram para mim.
Menu Texto sublime -> Preferências -> Configurações: específico da sintaxe :
{
"tab_size": 4,
"translate_tabs_to_spaces": true
}