Diese NVDA-Erweiterung enthält verschiedene NVDA-Funktionen für das Debuggen und Testen.
This add-on uses layered commands for all of the new commands it adds. The
entry point for these commands is NVDA+X; thus all the commands should be
executed by NVDA+X followed by another single letter or gesture. You can
list all the available layered commands pressing NVDA+X, H.
For the commands that you use more frequently, you can also define a direct gesture in the input gesture dialog.
The NVDA+X, Q command opens a dialog to specify some extra options before
restarting NVDA. The options that can be specified correspond to the
command line options that can be used with nvda.exe, e.g. -c for
config path, --disable-addons to disable add-ons, etc.
Pressing NVDA+X, E allows to report the last error logged without needing
to open the log. A second press clears the memorized last error.
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.
This add-on provides an additional command (NVDA+X, shift+E) to toggle
this setting. You can choose:
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:
NVDA+X, upArrow: Selects the previous property and reports it for the
navigator object.NVDA+X, downArrow: Selects the next property and reports it for the
navigator object.NVDA+X, N: Reports the currently selected property for the navigator
objectNVDA+X, shift+N: Displays the currently selected property for the
navigator object in a browseable messageFolgende Liste der unterstützten Eigenschaften: name, role, state, value, windowClassName, windowControlID, windowHandle, location, Python class, Python class mro.
When using object navigation commands, you can also choose to have the
currently selected property reported instead of NVDA usual object
reporting. A toggle command, NVDA+X, control+N, allows to switch between
this custom reporting of objects and NVDA usual reporting.
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.
The script opener command allows to open the code of a script knowing its gesture.
To use it press NVDA+x, C and then the gesture of the script which you
want to see the code of. For example to see the code of the script that
reports the title of the foreground window, press NVDA+X, C and then
NVDA+T.
For this feature to work, you need to have configured your favorite editor's command in the add-on's settings. If you are not running NVDA from source, the location of NVDA source code should also have been configured.
The extended script description mode allows to have reported information on scripts without description in input help mode.
When the Extended script description mode is active, the input help mode
(NVDA+1) is modified as follows. If a script has no description, the
script's name and class are reported. If a script has a description, its
description is reported as usual. The gesture to activate or deactivate
this feature is NVDA+X, 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:
NVDA+X, D.NVDA+X, D.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.
While testing or working, you may want to mark a specific moment in the log, so that you can turn to it easily later when reading the log.
To add a marker message in the log, press NVDA+X, K.
A message as follows will be logged at INFO level:
-- 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.
A log reader mode provides commands to ease log reading and analyzing. In
the log viewer window the log reader is enabled by default, thus log reading
commands are available immediately. In another text reading area such as an
editor (e.g. Notepad++) or a webpage (e.g. GitHub issue), you need to press
NVDA+X, L to enable log reader mode and use its commands. When you are
done with log reading and analyzing tasks, you can disable again NVDA+X, L
to disable the log reader mode.
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 _getStoryLengthINFO - config.ConfigManager._loadConfig (22:45:26.145) - MainThread (16580):Input help: gesture kb(desktop):NVDA+t, bound to script title on globalCommands.GlobalCommands 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.
For this feature to work, you need to have configured your favorite editor's command in the add-on's settings. If you are not running NVDA from source, the location of NVDA source code should also have been configured.
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.
A log manager dialog allows to view the backed up logs. It can be opened going to NVDA menu -> Tools -> Logs manager In this dialog, you can see the list of all the backup logs and perform various actions on the selected log:
Enter)Delete)control+C)You can also select multiple logs to perform an actions on all of them.
To be able to open a log, you should first have configured the Command to open a file in your favorite editor.
openCodeFile-FunktionIn der Konsole können Sie die folgende Funktion aufrufen, um den Quellcode anzuzeigen, der die Variable myVar definiert:
openCodeFile(myVar)
For this feature to work, you need to have configured your favorite editor's command in the add-on's settings. If you are not running NVDA from source, the location of NVDA source code should also have been configured.
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
Sometimes, you may want to see which part of the code is responsible for
speaking something. For this, you can enable the stack trace logging of the
speech function pressing NVDA+X, S. Each time NVDA speaks, a
corresponding stack trace will be logged in the log.
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.
Many testers use NVDA in another language than English. But when reporting test results on GitHub, the description of the modified options or the messages reported by NVDA should be written in English. Its quite frustrating and time consuming to have to restart NVDA in English to check the exact wording of the options or messages.
To avoid this, the add-on provides a reverse translation command (NVDA+X,
R) allowing to reverse translate NVDA's interface such as messages, control
labels in the GUI, etc. This command uses NVDA's gettext translation to try
to reverse translate the last speech. More specifically, the first string
of the last speech sequence is reverse translated.
For example, in French NVDA, if I arrow down to the Tools menu named "Outils", NVDA will say "Outils sous-Menu o" which stands for "Tools subMenu o". If I press the reverse translation command just after that, NVDA will reverse translate "Outils" to "Tools".
Looking at the log afterwards, we can find the following lines:
IO - speech.speech.speak (23:38:24.450) - MainThread (2044):
Speaking ['Outils', 'sous-Menu', CharacterModeCommand(True), 'o', CharacterModeCommand(False), CancellableSpeech (still valid)]
This confirms that "Outils was the first string in the speech sequence.
In case the reverse translation leads to two or more possible results, a context menu is opened listing all the possibilities.
The result of the reverse translation is also copied to the clipboard if the corresponding option is enabled, which is the default value.
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.
Some features allow to see content in your favorite editor. This includes the commands to view the source file from a log, from an object in the console or from a typed gesture, as well as the log manager's Open button.
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}
When using a command to view the source file from a log, from an object in the console or from a typed gesture, the file may belong to NVDA itself.
If you are not running NVDA from source, your NVDA only contains compiled files.
Thus you may specify here an alternate location where the corresponding source file will be found, e.g. the place where you have cloned NVDA source files, so that a source file can be opened anyway.
The path should be such as:
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.
This option allows to choose if the reverse translation command also copies its result to the clipboard.
NVDA+X.
The existing commands have been modified accordingly. NVDA+X, R) to reverse translate the last spoken message.NVDA+X, C) to open the source code of the script
associated to the next pressed gesture.enter to open
the log, control+C to copy the log file and delete to delete a log
file.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]]