Dev & Test-Toolbox für NVDA

Diese NVDA-Erweiterung enthält verschiedene NVDA-Funktionen für das Debuggen und Testen.

Features

Erweitertes Dialogfeld zum Neustarten

Der Befehl NVDA+Umschalt+Q öffnet einen Dialog, in dem Sie einige zusätzliche Optionen angeben können, bevor Sie NVDA neu starten. Die Optionen, die angegeben werden können, entsprechen den Kommandozeilenoptionen, die mit nvda.exe verwendet werden können, z. B. -c für den Konfigurationspfad, --disable-addons zum Deaktivieren von NVDA-Erweiterungen, etc.

Features im Zusammenhang mit protokollierten Fehlern

Zuletzt protokollierten Fehler mitteilen

Mit der Tastenkombination NVDA+Umschalt+Alt+E können Sie den zuletzt gespeicherten Fehler abrufen, ohne das Protokoll öffnen zu müssen. Ein zweiter Druck löscht den zuletzt gespeicherten Fehler.

Einen Sound bei protokollierten Fehlern wiedergeben

Die Einstellung "Einen Sound bei protokollierten Fehlern wiedergeben" wurde in NVDA 2021.3 eingeführt und legt fest, ob NVDA einen Fehlerton wiedergeben soll, wenn ein Fehler protokolliert wird.

Diese NVDA-Erweiterung richtet einen zusätzlichen Befehl ein (NVDA+Strg+Alt+E), um diese Einstellung umzuschalten. Sie können auswählen zwischen:

Für NVDA-Versionen vor 2021.3 bietet diese NVDA-Erweiterung den Backport dieser Funktion und die Möglichkeit, sie mit dem Tastaturbefehl zu steuern. Das Kontrollkästchen im Bedienfeld Erweiterte Einstellungen wird jedoch nicht zurückportiert.

Explorer für die Objekt-Eigenschaften

Diese Funktion ermöglicht es, einige Eigenschaften des aktuellen Navigator-Objekts mitzuteilen, ohne den Protokoll-Betrachter zu öffnen.

Um die Objekt-Eigenschaften aufzulisten, bewegen Sie den Navigator auf das Objekt und verwenden Sie die folgenden Befehle:

Folgende Liste der unterstützten Eigenschaften: name, role, state, value, windowClassName, windowControlID, windowHandle, location, Python class, Python class mro.

Bei der Verwendung von Befehlen der Objekt-Navigation können Sie auch festlegen, dass die aktuell ausgewählte Eigenschaft anstelle der üblichen mitgeteilten Objekte in NVDA angezeigt werden. Mit einem Befehl können Sie zwischen dieser benutzerdefinierten Meldung von Objekten und der üblichen NVDA-Meldung sie umschalten.

Zum Beispiel, können Sie die Eigenschaft "windowClassName" auswählen und die benutzerdefinierte Objekt-Meldung aktivieren. Wenn Sie dann das Navigationsobjekt zum nächsten oder vorherigen Objekt verschieben, erhalten Sie den windowClassName des Objekts anstelle der üblichen Meldung.

Alle Befehle des Explorers für Objekt-Eigenschaften sind standardmäßig nicht zugewiesen; Sie müssen diese im Dialogfeld für die Tastenbefehle zuweisen, um sie zu verwenden.

Erweiterter Skript-Beschreibungsmodus

Wenn der Modus für die erweiterte Skript-Beschreibung aktiv ist, wird der Eingabehilfemodus (NVDA+1) wie folgt geändert. Wenn ein Skript keine Beschreibung hat, werden der Name und die Klasse des Skripts mitgeteilt. Wenn ein Skript eine Beschreibung hat, wird die Beschreibung wie üblich angezeigt. Der Tastenbefehl zum Aktivieren oder Deaktivieren dieser Funktion ist NVDA+Strg+Alt+D.

Wenn Sie einen Tastenbefehl ausführen, die an ein Skript ohne Beschreibung im Eingabehilfe-Modus gebunden ist, wird auch ein Eintrag für dieses Skript im Dialogfeld für die Tastenbefehle erstellt. Dieser Eintrag befindet sich in einer eigenen Kategorie namens "Skripte ohne Beschreibung (Änderung auf eigene Gefahr!)". Damit können Sie die nativen Tastenbefehle in NVDA für diese Skripte einfach hinzufügen, löschen oder ändern. Beachten Sie jedoch, dass es oft beabsichtigt ist, dass solche Skripte keine Beschreibung haben, um den Benutzer daran zu hindern, den zugehörigen Tastenbefehl zu ändern. Der Tastenbefehl kann sogar so definiert sein, dass sie einem Tastenkürzel der Anwendung entspricht. Das Skript "script_toggleItalic on NVDAObjects.window.winword.WordDocument" ist beispielsweise an die Tastenkombination Strg+I festgelegt und sollte nicht verändert werden, da der Tastenbefehl an die Anwendung übergeben wird, um die Tastenkombination tatsächlich auszuführen.

Anwendungsbeispiel

Die Tastenkombination Strg+Umschalt+I schaltet in Word auch die Kursivschrift um, auch wenn sie von NVDA nicht nativ mitgeteilt wird. Damit das Ergebnis von Strg+Umschalt+I von NVDA als Strg+I mitgeteilt wird, sollten Sie die folgenden Schritte ausführen:

Bekannter Fehler: Ein für eine bestimmte Klasse hinzugefügtes Skript ist auch dann sichtbar, wenn das Dialogfeld für die Tastenbefehle in einem anderen Kontext geöffnet wird.

Features zum Lesen und Analysieren von Protokollen

Lesezeichen im Protokoll setzen

Beim Testen oder während des Arbeitens möchten Sie vielleicht einen bestimmten Bereich im Protokoll markieren, so dass Sie ihn später beim Lesen leicht wiederfinden. Drücken Sie die Tastenkombination NVDA+Strg+K, um ein Lesezeichen im Protokoll einzufügen. Eine Meldung wie die Folgende wird im Level INFO protokolliert: -- NDTT-Lesezeichen 0 -- Sie können beliebig viele Lesezeichen im Protokoll verwenden. Die Nummer des Lesezeichens wird jedes Mal hochgezählt, sobald ein Lesezeichen gesetzt wird; die Nummerierung wird nur beim Neustart von NVDA zurückgesetzt.

Der Protokoll-Lesemodus

Der Protokoll-Lesemodus erleichtert mittels Befehle das Lesen und Analysieren von Protokollen. Im Fenster des Protokoll-Betrachters ist der Modus standardmäßig aktiviert, sodass die Befehle zum Lesen des Protokolls sofort verfügbar sind. In einem anderen Textlesebereich wie einem Editor (z. B. Notepad++) oder einer Webseite (z. B. Meldung eines Problems über GitHub) müssen Sie NVDA+Strg+Alt+L drücken, um den Protokoll-Lesemodus zu aktivieren, um die Befehle verwenden zu können. Wenn Sie mit dem Lesen und Analysieren von Protokollen fertig sind, können Sie mit NVDA+Strg+Alt+L ihn wieder deaktivieren, um den Protokoll-Lesemodus auszuschalten.

Nachfolgend werden die im Protokoll-Lesemodus verfügbaren Befehle beschrieben.

Befehle für die Schnellnavigation

Einzelne Buchstabenbefehle, die den Schnellnavigationstasten im Lesemodus ähneln, ermöglichen den Wechsel zu verschiedenen Arten von Protokollmeldungen:

Durch Drücken des einzelnen Buchstabens gelangen Sie zum nächsten Vorkommen dieser Nachricht. Wenn Sie den Buchstaben mit der Umschalttaste kombinieren, gelangen Sie zum vorherigen Vorkommen dieser Nachricht.

Übersetzung der Sprachausgaben-Meldungen

Es kann vielleicht vorkommen, dass Sie sich ein Protokoll, welches in einer Fremdsprache erstellt wurde, einsehen müssen, die Sie jedoch nicht verstehen. So wurde das Protokoll z. B. auf einem chinesischen System mit NVDA erstellt, während Sie nur Deutsch verstehen. Wenn Sie die NVDA-Erweiterung Sofort-Übersetzer installiert haben, können Sie es in Verbindung mit den Befehlen für die Schnellnavigation verwenden, um die Sprachmeldungen sich übersetzen zu lassen.

Drücken Sie ganz einfach erneut den Buchstaben T, falls Sie die Übersetzung der Sprachausgaben-Meldungen deaktivieren möchten.

Öffnen Sie die Datei mit dem Quellcode im Editor

Im Protokoll können sich einige Zeilen auf den Quellcode beziehen:

Sicherlich möchten Sie die Datei mit diesem Code öffnen, um den Kontext des Tracebacks oder der protokollierten Meldung einzusehen. Drücken Sie einfach den Buchstaben C, um diese Datei zu öffnen.

Damit diese Funktion funktioniert, müssen Sie den bevorzugten Editor-Befehl in den Einstellungen der NVDA-Erweiterung konfiguriert haben. Wenn Sie NVDA nicht aus dem Quellcode ausführen, sollte der Speicherort des NVDA-Quellcodes ebenfalls festgelegt worden sein.

Backup älterer Protokolle

NVDA bietet bereits eine Sicherungskopie des Protokolls der letzten NVDA-Sitzung an; die Datei heißt nvda-old.log. Manchmal möchten Sie jedoch auf ältere Protokolle zugreifen, z. B. weil Sie NVDA neu starten mussten, bevor Sie die Datei nvda-old.log einsehen konnten. Mit dieser NVDA-Erweiterung können Sie konfigurieren, ob und wie viele alte Protokolle Sie sichern wollen; dies geschieht in den Einstellungen der NVDA-Erweiterung.

Mit dem Dialogfeld für die Protokollverwaltung können Sie die gespeicherten Protokolldateien einsehen. Zu finden über das NVDA-Menü -> Werkzeuge -> Protokollverwaltung geöffnet werden. In diesem Dialogfeld können Sie die Liste aller gespeicherten Protokolle einsehen, sie öffnen oder löschen. Um ein Protokoll öffnen zu können, sollten Sie zunächst den Befehl zum Öffnen einer Datei im bevorzugten Editor konfiguriert haben.

Erweiterte Python-Konsole

openCodeFile-Funktion

In der Konsole können Sie die folgende Funktion aufrufen, um den Quellcode anzuzeigen, der die Variable myVar definiert: openCodeFile(myVar)

Damit diese Funktion funktioniert, müssen Sie den bevorzugten Editor-Befehl in den Einstellungen der NVDA-Erweiterung konfiguriert haben. Wenn Sie NVDA nicht aus dem Quellcode ausführen, sollte der Speicherort des NVDA-Quellcodes ebenfalls festgelegt worden sein.

Die Funktion openCodeFile kann für Objekte aufgerufen werden, die im NVDA-Code oder in NVDA-Erweiterungen definiert sind. Sie kann nicht für Objekte aufgerufen werden, deren Quellcode nicht verfügbar ist, wie z. B. Python-eigene Funktionen.

Wenn Sie das Objekt noch nicht in die Konsole importiert haben, können Sie dessen Namen auch als Parameter an die Funktion openCodeFile übergeben.

Nachfolgend finden Sie Beispiele für Aufrufe im Code von NVDA:

Skript zum Starten der Python-Konsole

Sie können ein benutzerdefiniertes Skript definieren, das im Namensraum der Python-Konsole ausgeführt wird, wenn diese zum ersten Mal geöffnet wird, oder wenn die NVDA-Erweiterung neu geladen wird (NVDA+F3), nachdem die Konsole bereits geöffnet wurde.

Mit diesem Skript können Sie beispielsweise neu importierte Submodule ausführen und Aliase definieren, die Sie direkt in der Konsole verwenden können, wie unten dargestellt:

# Verschiedene zu importierende Module:
import globalVars as gv
import core
import ui
# Aliase
ocf = openCodeFile

Das Python-Skript sollte an folgendem Ort abgelegt werden: <PfadZurNVDAKonfiguration>\NDTT\consoleStartup.py Zum Beispiel: C:\Users\<Benutzername>\AppData\Roaming\NVDA\NDTT\consoleStartup.py

Den Stack-Trace der Sprachfunktion protokollieren

Manchmal möchten Sie vielleicht sehen, welcher Teil des Codes für die Sprachausgabe verantwortlich ist. Zu diesem Zweck können Sie die Stack-Trace-Protokollierung der Sprachausgaben-Funktion aktivieren, indem Sie NVDA+Strg+Alt+S drücken. Jedes Mal, wenn NVDA spricht, wird ein entsprechender Stack-Trace im Protokoll aufgezeichnet.

Hinweis: Sie können die Datei des Skripts direkt ändern, um eine andere Funktion zu patchen. Siehe alle Anweisungen in der Datei für Details zur Verwendung.

Einstellungen

Einige Funktionen der NVDA-Erweiterung benötigen möglicherweise eine spezielle Konfiguration. Ein Einstellungsfeld ermöglicht es, diese zu aktivieren oder ihre Funktionsweise zu steuern. Um diese Einstellungen anzuzeigen und zu ändern, gehen Sie über das NVDA-Menü zu Einstellungen und wählen Sie die Kategorie "Dev & Test-Toolbox für NVDA" aus. Dieser Einstellungsdialog kann auch direkt aus dem Dialogfeld für die Protokollierungsverwaltung aufgerufen werden.

Diese Einstellungen sind global und werden vom Profilwechsel nicht beeinflusst.

Befehl zum Öffnen einer Datei im bevorzugten Editor

Mit einigen Funktionen können Sie den Inhalt im bevorzugten Editor einsehen. Dazu gehören die Befehle zum Anzeigen der Quelldatei aus einem Protokoll oder aus einem Objekt in der Konsole sowie die Schaltfläche zum Öffnen der Protokollverwaltung.

Um sie zu verwenden, müssen Sie zunächst den Befehl konfigurieren, der aufgerufen wird, um die Datei im bevorzugten Editor zu öffnen. Der Befehl sollte die folgende Form haben: "C:\<Pfad>\Editor.exe" "{path}":{line}
Sie sollten diese Zeile natürlich entsprechend dem tatsächlichen Namen und Ort des Editors und der von ihm zum Öffnen von Dateien verwendeten Syntax ändern. Der Pfad {path} wird durch den vollständigen Pfad der zu öffnenden Datei und die Zeile {line} durch die zu fokussierende Zeilennummer ersetzt. Bei Notepad++ wäre der Befehl, der in die Konsole eingegeben werden muss, beispielsweise Folgender: "C:\Program Files\Notepad++\notepad++.exe" "{path}" -n{line}

NVDA-Quellcode-Pfad

Wenn Sie einen Befehl zum Anzeigen der Quelldatei aus einem Protokoll oder aus einem Objekt in der Konsole verwenden, kann die Datei zu NVDA selbst gehören. Wenn Sie NVDA nicht aus dem Quellcode ausführen, enthält NVDA nur die kompilierte Dateien. Daher können Sie hier einen alternativen Ort angeben, an dem die entsprechende Quelldatei zu finden ist, z. B. den Ort, an dem Sie NVDA-Quelldateien geklont haben, so dass eine Quelldatei trotzdem geöffnet werden kann. Der Pfad sollte wie folgt lauten: C:\<Pfad>\GIT\NVDA\source Ersetzen Sie natürlich den Pfad der NVDA-Quelle durch den richtigen Pfad.

Vergewissern Sie sich jedoch, dass die Version Ihrer Quelldatei (z. B. GIT-Commit) mit der Version der laufenden NVDA-Instanz übereinstimmt.

Backup älterer Protokolle

Mit dem Kombinationsfeld für die Backups ältere protokolle können Sie die Funktion aktivieren oder deaktivieren. Wenn sie aktiviert ist, können Sie unter "Anzahl der Backups begrenzen" die maximale Anzahl der Backups angeben, die Sie behalten möchten. Diese Einstellungen werden erst beim nächsten Start von NVDA wirksam, sobald die Sicherung durchgeführt wird.

Änderungsprotokoll

Version 6.2

Version 6.1

Version 6.0

Version 5.0

Version 4.2

Version 4.1

Version 4.0

Version 3.2

Version 3.1

Version 3.0

Version 2.1

Version 2.0

Version 1.0

[[!tag dev stable]]