Mitteilung von Leerzeicheneinrückungen ignorieren

Diese NVDA-Erweiterung ändert die Meldung der Einrückung, indem es Leerzeilen bei der Entscheidung, ob Änderungen der Einrückung gemeldet werden sollen, außer Acht lässt. Am besten versteht man es, wenn man das normale Verhalten anhand eines Beispiels vergleicht.

Betrachten Sie dieses Beispiel:

def foo():
    x = 42

    return x

def bar():

Derzeit teilt NVDA Änderungen von Einrückungenmit für jede Zeile, in der sich die Einrückung geändert hat, auch wenn die Zeile leer ist. Das Beispiel würde also wie folgt lauten:

def foo():
tab x = 42
no indent blank
tab return x
no indent blank
def bar():

Der Nachteil dieses Verhaltens ist, dass eine Leerzeile in den meisten Programmiersprachen, wie z. B. Python, keine semantische Bedeutung hat und nur dazu dient, Codezeilen visuell zu trennen, ohne dass sich die Bedeutung des Codes ändert. Daher ist die Meldung der Änderung der Einrückung beim Eintritt in eine Leerzeile und die erneute Meldung nach dem Erreichen der nächsten Zeile unnötig, da es das Verständnis des Codes beim sich darauf konzentrieren nur erschwert.

Diese Erweiterung zielt darauf ab, das Verhalten zu verbessern, indem Leerzeilen bei der Berechnung der Einrückungssprache ignoriert werden, so dass das Beispiel stattdessen so mitgeteilt wird:

def foo():
tab x = 42
blank
return x

no indent def bar():

Änderungsprotokoll

Version 0.1

  • Erstveröffentlichung

Quellcode

Quellcode-Repository