#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ähle in der Menüleiste "Tools > Configure User Tools" aus.
Drücke 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ähle in der Menüleiste "Configure > Preferences" aus.
Klappe den Eintrag "Tools" auf.
Drücke den Button "Add" und wähle "Program" aus.
Kopiere und füge folgendes ein (Pfad anpassen): C:\Windows\System32\cmd.exe -- Drücke OK.
Klicke dreimal auf das neu hinzugefügte Element (cmd.exe) in der ListBox und benenne es nach Belieben um (z. B. Skript starten).
Drücke "Apply".
Wähle das neue Element in der Baumstruktur links aus und trage 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
Setze folgende Häkchen: 1) Run minimized; 2) Capture output.
Drücke 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