Si instala el complemento "Python Script" para Notepad ++, puede escribir código para cambiar automáticamente entre pestañas y espacios.
Así es como:
En el menú: Complementos -> Script Python -> Configuración y establezca inicialización a ATSTARTUP. Cuando se inicia Notepad ++, se ejecutará el script startup.py
.
Encuentra startup.py
y edítalo. En mi PC su ruta es c:\Program Files\Notepad++\plugins\PythonScript\scripts\startup.py
, agregue el siguiente código a startup.py
.
La función buffer_active()
se llama cada vez que cuando se cambia de ficha y guess_tab()
comprueba si el texto está usando tabulación de sangría o no. Puede mostrar la consola de Python para depurar el código.
def guess_tab(text):
count = 0
for line in text.split("\n"):
indents = line[:len(line)-len(line.lstrip())]
if "\t" in indents:
count += 1
if count > 5:
return True
else:
return False
def buffer_active(arg):
editor.setBackSpaceUnIndents(True)
use_tab = guess_tab(editor.getText())
editor.setUseTabs(use_tab)
sys.stderr.write("setUseTabs %s\n" % use_tab)
notepad.clearCallbacks([NOTIFICATION.BUFFERACTIVATED])
notepad.callback(buffer_active, [NOTIFICATION.BUFFERACTIVATED])
Esto es sólo un ejemplo, no dude en hacer guess_tab()
mejor a ti mismo, tal vez usar un diccionario global para almacenar en caché el resultado y velocidad de la función de devolución de llamada.
nota al margen: Herramientas de Python para Visual Studio normalizará automáticamente el espaciamiento a ser o tabuladores o espacios –
no, pero Vim puede :-) –