Jeśli zainstalujesz wtyczkę "Python Script" dla Notepad ++, możesz napisać kod, aby automatycznie przełączać się między kartami i spacjami.
Oto jak:
W menu: Plugins -> Python Script -> Konfiguracja i ustaw inicjalizacji ATSTARTUP. Po uruchomieniu Notepad ++ zostanie uruchomiony skrypt startup.py
.
Znajdź startup.py
i edytuj. Na moim komputerze jego ścieżka to c:\Program Files\Notepad++\plugins\PythonScript\scripts\startup.py
, dodaj następujący kod do startup.py
.
buffer_active()
Funkcja jest wywoływana za każdym razem po włączeniu kartę i guess_tab()
sprawdza, czy tekst jest przy użyciu wcięcie tabulatora czy nie. Możesz wyświetlić konsolę Python, aby debugować kod.
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])
Jest to tylko przykład, nie krępuj się, aby guess_tab()
lepiej samemu, może korzystać z globalnej dict buforować wynik i przyspieszenia w funkcji zwrotnej.
marginesie: Python Tools for Visual Studio automatycznie znormalizowania odstępy być albo klapki lub przestrzenie –
Nie, ale Vim może :-) –