Sei que há muitos posts sobre isto, mas não consegui´não consegui que funcionasse.
Utilizo separadores para a codificação. Há alguma forma de converter sempre espaços em tabs? Isto é, em ficheiros abertos e em guardar? Alguém tem uma ideia?
// edit:
O meu desejo é fazer isto **automaticamente***! -> abrir, guardar ou na mosca
Alguém sabe como fazer?
tentei isto:
import sublime, sublime_plugin, os
class ExpandTabsOnSave(sublime_plugin.EventListener):
# Run ST's 'expand_tabs' command when saving a file
def on_pre_save(self, view):
if view.settings().get('expand_tabs_on_save') == 1:
view.window().run_command('expand_tabs')
E aqui estão as minhas definições de utilizador:
{
"auto_complete_selector": "source - comment, meta.tag - punctuation.definition.tag.begin",
"auto_indent": true,
"detect_indentation": true,
"draw_white_space": "all",
"ensure_newline_at_eof_on_save": true,
"expand_tabs_on_save": true,
"font_face": "SourceCodePro-Regular",
"font_size": 10,
"format_on_save": true,
"ignored_packages":
[
"Vintage"
],
"indent_to_bracket": true,
"open_files_in_new_window": false,
"smart_indent": true,
"tab_size": 4,
"translate_tabs_to_spaces": false,
"trim_automatic_white_space": true,
"trim_trailing_white_space_on_save": true,
"use_tab_stops": false,
"word_wrap": false
}
No canto inferior direito da sua janela de Texto Sublime, você'verá um indicador de indentação que se parece muito com isto:
Clicando nele, abrirá um menu com opções para ajustar as suas preferências de indentação, e mais importante, para converter espaços em tabulações e vice-versa.
O mesmo menu é listado em "Ver -> Indentação".
No fundo da janela Sublime, você'verá algo que representa a sua tabulação/espaço.
Você'obterá então um dropdown com um monte de opções. As opções que lhe interessam são:
Aplique a configuração desejada a todo o documento.
Espero que isto ajude.
Como já deve saber, pode personalizar as suas definições de indentação em `Preferences.sublime-settings', por exemplo:
"detect_indentation": true,
"tab_size": 4,
"translate_tabs_to_spaces": false
Isto irá configurar o seu editor para utilizar separadores que têm 4 espaços de largura e irá sobrepor-se ao comportamento padrão que faz com que o Sublime corresponda à indenção de qualquer ficheiro que você'reeditar. Com estas configurações, a reindentação do ficheiro fará com que quaisquer espaços sejam substituídos por separadores.
Quanto a reentrar automaticamente quando se abre um ficheiro, isso's não é tão fácil (mas provavelmente é't uma grande ideia uma vez que as mudanças de espaço em branco causam estragos em diffs de ficheiro). O que poderia ser um melhor curso de acção: pode mapear um atalho para reindentar e apenas desencadear isso quando abre um novo ficheiro que precisa de ser corrigido.