Diese NVDA-Erweiterung enthält verschiedene NVDA-Funktionen für das Debuggen und Testen.
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.
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.
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.
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.
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.
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.
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 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.
Einzelne Buchstabenbefehle, die den Schnellnavigationstasten im Lesemodus ähneln, ermöglichen den Wechsel zu verschiedenen Arten von Protokollmeldungen:
ERROR
und CRITICAL
)WARNING
)INFO
)DEBUGWARNING
)IO
)DEBUG
)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.
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.
Im Protokoll können sich einige Zeilen auf den Quellcode beziehen:
File "virtualBuffers\__init__.pyc", line 226, in _getStoryLength
INFO - config.ConfigManager._loadConfig (22:45:26.145) - MainThread (16580):
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.
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.
openCodeFile
-FunktionIn 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:
speech.speech.speak
an:
openCodeFile(speech.speech.speak)
openCodeFile("speech.speech.speak")
TextInfo
an:
openCodeFile(textInfos.TextInfo)
copyToClipboard
der Klasse
TextInfo
an:
openCodeFile(textInfos.TextInfo.copyToClipboard)
openCodeFile(focus)
api.py
, die das Modul api
definiert:
openCodeFile(api)
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
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.
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.
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}
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.
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.
openCodeFile
jetzt als Parameter das
Objekt oder eine Zeichenkette mit seinem Namen erhalten.openCodeFile
der
Python-Konsole und den Befehl zum Öffnen der Quelldatei, die einer Zeile
im Log entspricht.openCodeFile
verfügbar, um den Quellcode eines Objekts einzusehen.[[!tag dev stable]]