Autohotkey 自动热键源代码换行符

Autohotkey 自动热键源代码换行符,autohotkey,Autohotkey,有没有办法在自动热键源代码中换行?我的代码越来越长,超过80个字符,我想把它们整齐地分开。我知道我们可以用其他语言来实现这一点,例如下面的VBA: 自动热键中是否有源代码行中断?我使用的是旧版本的自动热键,版本为1.0.47.06我不知道这样做的一般方法,但似乎您可以断开一条线,并使用操作符启动断开的线的其余部分(例如下一个实线)。只要第二行(以及第三行、第四行等,视情况而定)以(可选空格加上)运算符开头,AHK就会将整个内容视为一行 例如: hello := "Hello, "

有没有办法在自动热键源代码中换行?我的代码越来越长,超过80个字符,我想把它们整齐地分开。我知道我们可以用其他语言来实现这一点,例如下面的VBA:


自动热键中是否有源代码行中断?我使用的是旧版本的自动热键,版本为1.0.47.06

我不知道这样做的一般方法,但似乎您可以断开一条线,并使用操作符启动断开的线的其余部分(例如下一个实线)。只要第二行(以及第三行、第四行等,视情况而定)以(可选空格加上)运算符开头,AHK就会将整个内容视为一行

例如:

hello := "Hello, "
       . "world!"
MsgBox %hello%
在第二行的逻辑开始处存在连接运算符
,这使得AHK将两行视为一行


(我也试着离开操作符和第一行的末尾,然后用双引号字符串开始第二行;这不起作用。)

我不知道这样做的一般方法,但似乎可以用操作符打断一行并开始其余的断行(例如,下一个实行)。只要第二行(以及第三行、第四行等,视情况而定)以(可选空格加上)运算符开头,AHK就会将整个内容视为一行

例如:

hello := "Hello, "
       . "world!"
MsgBox %hello%
在第二行的逻辑开始处存在连接运算符
,这使得AHK将两行视为一行

(我还试着离开操作符和第一行的末尾,用双引号字符串开始第二行;但没有成功。)

文档中有一节:

长线可以分成一组较小的线,以便 提高可读性和可维护性。这并不会降低成本 脚本的执行速度,因为这样的行被合并到内存中 脚本启动时

方法#1:以“and”,“or”,“| |,&&&”开头的行,逗号或 句点将自动与其正上方的行合并(在 v1.0.46+,对于除 ++和--)。在以下示例中,第二行附加到第一行,因为它以逗号开头:

类似地,以下行将合并为一行 因为最后两个以“and”或“or”开头:

三元运算符也是一个很好的候选者:

尽管上面示例中使用的缩进是可选的,但可能会有所改进 通过指示哪些行属于它们上面的行来清晰。还有, 不必为以开头的行包含额外的空格 词语“和”和“或”;程序会自动执行此操作。最后 可在任何一项之间或末尾添加空行或注释 以上示例中的行

方法#2:应使用此方法合并大量行 或者当线路不适用于方法1时。虽然这种方法 对于自动替换热字符串特别有用,也可以使用 用任何命令或表情。例如:

在上面的示例中,一系列直线以 顶部和底部用一对括号括起来。这被称为 续节。请注意,底线包含 FileAppend在右括号后的最后一个参数。这 实践是可选的;它是在这样的情况下完成的,因此逗号 将被视为参数分隔符,而不是文字逗号

有关更多详细信息,请阅读文档链接

因此,您的示例可以改写为以下内容:

If Day(Date) > 10 
And Hour(Time) > 20 Then
    MsgBox
    (
    It is after the tenth 
    and it is evening
    )
文件中有一节:

长线可以分成一组较小的线,以便 提高可读性和可维护性。这并不会降低成本 脚本的执行速度,因为这样的行被合并到内存中 脚本启动时

方法#1:以“and”,“or”,“| |,&&&”开头的行,逗号或 句点将自动与其正上方的行合并(在 v1.0.46+,对于除 ++和--)。在以下示例中,第二行附加到第一行,因为它以逗号开头:

类似地,以下行将合并为一行 因为最后两个以“and”或“or”开头:

三元运算符也是一个很好的候选者:

尽管上面示例中使用的缩进是可选的,但可能会有所改进 通过指示哪些行属于它们上面的行来清晰。还有, 不必为以开头的行包含额外的空格 词语“和”和“或”;程序会自动执行此操作。最后 可在任何一项之间或末尾添加空行或注释 以上示例中的行

方法#2:应使用此方法合并大量行 或者当线路不适用于方法1时。虽然这种方法 对于自动替换热字符串特别有用,也可以使用 用任何命令或表情。例如:

在上面的示例中,一系列直线以 顶部和底部用一对括号括起来。这被称为 续节。请注意,底线包含 FileAppend在右括号后的最后一个参数。这 实践是可选的;它是在这样的情况下完成的,因此逗号 将被视为参数分隔符,而不是文字逗号

有关更多详细信息,请阅读文档链接

因此,您的示例可以改写为以下内容:

If Day(Date) > 10 
And Hour(Time) > 20 Then
    MsgBox
    (
    It is after the tenth 
    and it is evening
    )
ProductIsAvailable := (Color = "Red")
    ? false  ; We don't have any red products, so don't bother calling the function.
    : ProductIsAvailableInColor(Product, Color)
; EXAMPLE #1:
Var = 
(
Line 1 of the text.
Line 2 of the text. By default, a line feed (`n) is present between lines. 
)

; EXAMPLE #2: 
FileAppend,  ; The comma is required in this case. 
(
A line of text. 
By default, the hard carriage return (Enter) between the previous line and this one will be written to the file as a linefeed (`n).
     By default, the tab to the left of this line will also be written to the file (the same is true for spaces).
By default, variable references such as %Var% are resolved to the variable's contents. 
), C:\My File.txt
If Day(Date) > 10 
And Hour(Time) > 20 Then
    MsgBox
    (
    It is after the tenth 
    and it is evening
    )