Sé que hay muchas publicaciones sobre esto, pero no pude hacerlo funcionar.
Yo uso pestañas para la codificación. ¿Hay alguna manera de convertir siempre espacios en pestañas? Es decir, en abrir y en Guardar archivos? Alguien tiene una idea?
// edit: ¡
Mi deseo es hacer esto automáticamente ! -> abrir, guardar o sobre la marcha
¿Alguien sabe cómo hacerlo?
Intenté esto :
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')
Y aquí están mis configuraciones de usuario:
{
"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
}
Ctrl + ~
y ver si te está dando algún error de complemento? Y si tiene instalado Package Control, ¿puede ver siExpandTabsOnSave
aparece como un complemento instalado?print("debug")
o similar al complemento para ver si se está ejecutando o no al guardar.Respuestas:
En la esquina inferior derecha de su ventana de Sublime Text, verá un indicador de sangría que se parece mucho a esto:
Al hacer clic se abrirá un menú con opciones para ajustar sus preferencias de sangría y, lo que es más importante
Convert Indentation to Tabs/Spaces
,.El mismo menú aparece debajo
View -> Indentation
.fuente
En la parte inferior de la ventana Sublime, verás algo que representa la configuración de tu pestaña / espacio.
Luego obtendrás un menú desplegable con un montón de opciones. Las opciones que le interesan son:
Aplique la configuración deseada a todo el documento.
Espero que esto ayude.
fuente
Como ya sabrás, puedes personalizar tu configuración de sangría en
Preferences.sublime-settings
, por ejemplo:Esto configurará su editor para usar pestañas que tienen 4 espacios de ancho y anulará el comportamiento predeterminado que hace que Sublime coincida con la sangría de cualquier archivo que esté editando. Con esta configuración, volver a sangrar el archivo hará que los espacios se reemplacen con pestañas.
En cuanto a la sangría automática al abrir un archivo, eso no es tan fácil (pero probablemente no es una gran idea ya que los cambios en el espacio en blanco causan estragos en las diferencias de archivo). Lo que podría ser un mejor curso de acción: puede asignar un acceso directo para volver a aplicar sangría y simplemente activarlo cuando abre un nuevo archivo que necesita corrección.
fuente
Puede usar la paleta de comandos para resolver este problema.
Paso 1:
Ctrl + Shift + P
(para activar la paleta de comandos)Paso 2: Escribe "Sangría", elige
"Indentation: Convert to Tabs"
fuente
En mi caso, esta línea resolvió el problema:
fuente
Aquí hay una solución que se convertirá automáticamente en pestañas cada vez que abra un archivo.
Crea este archivo
.../Packages/User/on_file_load.py
:NOTA. Hace que el archivo esté en un estado no guardado después de abrirlo, incluso si no se realizó una conversión real de espacio a pestaña ... tal vez algunos puedan ayudar con una solución para eso ...
fuente
.../Packages/User/on_file_load.py
, no.php
on_load
lugar deon_load_async
.Para convertir automáticamente espacios en pestañas al guardar , agregue el siguiente script de Python a una subcarpeta recién creada llamada "UnexpandTabsOnSave" dentro de "$ SUBLIME_HOME $ \ Packages \":
Gracias por el recurso inicial.
fuente
Puede reemplazar las pestañas con espacios en todos los archivos del proyecto:
Ctrl+Shif+F
^\A(.*)$
Your dir
Sustituir por
\1
Esto hará que todos los archivos del proyecto se abran, con su búfer marcado como sucio. Con esto, ahora puede habilitar opcionalmente estas próximas configuraciones de Sublime Text, para recortar todos los archivos detrás del espacio en blanco y asegurar una nueva línea al final de cada archivo.
Puede habilitar esta configuración yendo al menú
Preferences -> Settings
y agregando estos contenidos a su archivo de configuración:"ensure_newline_at_eof_on_save": true,
"trim_trailing_white_space_on_save": true,
View -> Show Console (Ctrl+`)
y ejecute el comando:import threading; threading.Thread( args=(set(),), target=lambda counterset: [ (view.run_command( "expand_tabs", {"set_translate_tabs": True} ), print( "Processing {:>5} view of {:>5}, view id {} {}".format( len( counterset ) + 1, len( window.views() ), view.id(), ( "Finished converting!" if len( counterset ) > len( window.views() ) - 2 else "" ) ) ), counterset.add( len( counterset ) ) ) for view in window.views() ] ).start()
File -> Save All
fuente
si tienes Mac, solo usa la opción de ayuda (generalmente la última opción en la barra de menú de Mac), luego escribe: "sangría de pestaña" y elige un ancho de sangría de pestaña
pero en general, puede seguir este camino: ver -> sangría
fuente
Use el siguiente comando para resolverlo:
fuente
Aquí es cómo hacerlo automáticamente al guardar: https://coderwall.com/p/zvyg7a/convert-tabs-to-spaces-on-file-save
Lamentablemente, el paquete no funciona cuando lo instala desde el Administrador de paquetes.
fuente