#ErrorStdOut

AutoHotkey

#ErrorStdOut

把阻止脚本运行的任何语法错误发送到标准输出而不显示在对话框中。

#ErrorStdOut

这样可以让类似 Textpad, SciTE, Crimson 和 EditPlus 这样的高级编辑器在语法错误发生时跳到有问题的行. 因为必须添加 #ErrorStdOut 指令到每个脚本中,所以最好设置您的编辑器在运行任何 AutoHotkey 脚本时使用命令行开关 /ErrorStdOut(请参阅较远的后面了解设置说明)。

尽管语法错误会被发送到标准输出 (stdout), 但是它们不会直接显示在命令提示符中. 不过, 可以通过管道或重定向捕获这样的输出. 例如:

"C:\Program Files\AutoHotkey\AutoHotkey.exe" /ErrorStdOut "My Script.ahk" |more
"C:\Program Files\AutoHotkey\AutoHotkey.exe" /ErrorStdOut "My Script.ahk" >"Syntax-Error Log.txt"

您还可以把输出直接传输到剪贴板, 只需下载 cb.zip (4 KB) 接着参照这个例子进行操作:

"C:\Program Files\AutoHotkey\AutoHotkey.exe" /ErrorStdOut "My Script.ahk" |cb.exe

特殊编辑器的设置:

EditPlus:
在菜单栏选择 Tools > Configure User Tools.
点击按钮: Add Tool > Program
Menu Text: 由您决定
Command: C:\Program Files\AutoHotkey\AutoHotkey.exe
Argument: /ErrorStdOut "$(FilePath)"
Initial directory: $(FileDir)
Capture output: Yes

TextPad:
在菜单栏中选择 Configure > Preferences.
展开 Tools 条目.
点击 Add 按钮并选择 "Program".
复制并粘贴 (修改为您的路径): C:\Windows\System32\cmd.exe, 然后点击 OK.
三击列表框中新添加的项 (cmd.exe) 并将其重命名为您选择的名称 (例如 Launch Script).
点击 Apply.
选择左侧树中的新项并输入下列信息:
Command (应该已经填好): cmd.exe (或者加上完整路径)
Parameters (需要时修改为您的路径): /c ""C:\Program Files\AutoHotkey\AutoHotkey.exe" /ErrorStdOut "$File""
Initial folder: $FileDir
选择下列框: 1) Run minimized; 2) Capture output.
点击 OK. 现在新添加的项应该出现在 Tools 菜单中了.

相关

FileAppend (因为它也可以发送文本到 stdout)

示例

#ErrorStdOut