#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 Windows-Eingabeaufforderung und umfangreiche Texteditoren können in der Regel beide Ausgabetypen anzeigen. Diese Änderung wurde erst mit v1.1.19.01 offiziell bekannt gemacht.

Mit dieser Direktive können umfangreiche Texteditoren wie Textpad, SciTE, Crimson und EditPlus bei Syntaxfehlern auf die betreffende Zeile springen. Anstatt diese Direktive jedes Mal in ein Skript einzufügen, ist es üblicherweise besser, den Texteditor so einzustellen, dass er ein AutoHotkey-Skript mit der Befehlszeilenoption /ErrorStdOut startet (weiter unten finden Sie Anweisungen, wie Sie den Texteditor einstellen können).

Da AutoHotkey kein Konsolenprogramm ist, werden Fehler nicht direkt in der Windows-Eingabeaufforderung angezeigt. Stattdessen können solche Ausgaben via Piping oder Weiterleitung 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"

Sie können die Ausgabe auch direkt via Piping in die Zwischenablage kopieren, indem Sie cb.zip (4 KB) herunterladen und dann das folgende Beispiel anwenden:

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

Hinweis: 2>&1 bewirkt, dass stderr an stdout weitergeleitet wird, während 2>Dateiname stderr nur an eine Datei weiterleitet.

Anweisungen für bestimmte Texteditoren

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