#ErrorStdOut

Sendet alle Syntaxfehler, die den Start eines Skripts verhindern, zur Standardfehlerausgabe (stderr), anstatt ein Dialogfenster anzuzeigen.

#ErrorStdOut

[AHK_L 42+]: Fehler werden in stderr statt in stdout geschrieben. Die Eingabeaufforderung und originelle Texteditoren zeigen üblicherweise beide Ausgaben an. Diese Änderung ist bis v1.1.19.01 nirgendwo dokumentiert.

Auf diese Weise können originelle Texteditoren wie Textpad, SciTE, Crimson und EditPlus auf die fehlerhafte Zeile springen, wenn ein Syntaxfehler aufgetreten ist. Anstatt diese Direktive jedesmal in ein Skript einzufügen, ist es üblicherweise besser, den Editor so einzustellen, dass er die Befehlszeilenoption /ErrorStdOut verwendet, wenn er ein AutoHotkey-Skript startet (siehe weiter unten für Setup-Anweisungen).

Da AutoHotkey kein Konsolenprogramm ist, werden Fehler nicht direkt in der Eingabeaufforderung angezeigt. Stattdessen können solche Ausgaben per Weiter- oder Umleitung abgefangen werden. Zum Beispiel:

"C:\Program Files\AutoHotkey\AutoHotkey.exe" /ErrorStdOut "Mein Skript.ahk" 2>&1 |more
"C:\Program Files\AutoHotkey\AutoHotkey.exe" /ErrorStdOut "Mein Skript.ahk" 2>"Syntax-Fehler Log.txt"

Man kann die Ausgabe auch direkt an die Zwischenablage weiterleiten, wenn man cb.zip (4 KB) herunterlädt und das folgende Beispiel verwendet:

"C:\Program Files\AutoHotkey\AutoHotkey.exe" /ErrorStdOut "Mein Skript.ahk" 2>&1 |cb.exe

Hinweis: 2>&1 bewirkt, dass stderr auf stdout umgeleitet wird, während 2>Dateiname nur stderr auf eine Datei umleitet.

Anweisungen für bestimmte Editoren

EditPlus:
Wählen Sie in der Menüleiste "Tools > Configure User Tools" aus.
Drücken Sie den Button: Add Tool > Program
Menu Text: Beliebig
Command: C:\Program Files\AutoHotkey\AutoHotkey.exe
Argument: /ErrorStdOut "$(FilePath)"
Initial directory: $(FileDir)
Capture output: Yes

TextPad:
Wählen Sie in der Menüleiste "Configure > Preferences" aus.
Klappen Sie den Eintrag "Tools" auf.
Drücken Sie den Button "Add" und wählen Sie "Program" aus.
Kopieren und fügen Sie folgendes ein (passen Sie gegebenenfalls den Pfad an): C:\Windows\System32\cmd.exe -- Drücken Sie OK.
Klicken Sie dreimal auf das neu hinzugefügte Element (cmd.exe) in der ListBox und benennen Sie es nach Belieben um (z. B. Skript starten).
Drücken Sie "Apply".
Wählen Sie das neue Element in der Baumstruktur links aus und tragen Sie folgende Informationen ein:
Command (sollte bereits ausgefüllt sein): cmd.exe (oder der vollständige Pfad)
Parameters (an eigenen Pfad anpassen, falls notwendig): /c ""C:\Program Files\AutoHotkey\AutoHotkey.exe" /ErrorStdOut "$File""
Initial folder: $FileDir
Setzen Sie folgende Häkchen: 1) Run minimized; 2) Capture output.
Drücken Sie OK. Das neu hinzugefügte Element sollte nun im Menü "Tools" vorhanden sein.

Siehe auch

FileAppend (weil es auch Text zur Standardausgabe senden kann)

Beispiel

#ErrorStdOut