有谁知道是否有办法向 InnoSetup 源文件添加内联注释?
我做了一些实验:
; a comment (allowed)
[Setup]
AppName=MyApp // a comment (allowed)
AppVersion=1.2.3.4 ; a comment (allowed)
DefaultDirName="{pf}\My App" seems you can have anything at all here (allowed)
[Dirs]
Name: "{userdocs}\My App"
Name: {userdocs}\MyApp // a comment (allowed)
Name: "{userdocs}\My App" // a comment (not allowed)
Name: {userdocs}\MyApp ; // a comment (not allowed)
Name: "{userdocs}\My App" ; // a comment (not allowed)
并且(我认为)我发现在编译器不需要更多操作数的任何地方都允许注释,但我更愿意使用更严格的语法(如果存在)。
[Code]
之外的所有部分),行开头的分号分隔注释。在 Script Format Overview
主题中将其描述为(由我强调):
您可以在脚本中添加“注释”(这些注释会被脚本忽略) 编译器)在行首放置分号。为了 示例:
; This is a comment. I could put reminders to myself here...
[Code]
之外的部分)。现在,让我们考虑一下为什么我们不能将注释内嵌到这些部分中。
[Setup]
、[Messages]
或类似的内容,您无法为其条目内嵌注释,因为值部分是等号后面的所有内容,无论它是什么。因此,下面的示例部分没有注释。相反,这些指令的值相当长且非常奇特:
[Setup]
AppName=MyApp // a comment (allowed)
AppVersion=1.2.3.4 ; a comment (allowed)
DefaultDirName="{pf}\My App" seems you can have anything at all here (allowed)
注释它们的正确方法是使用以分号开头的单独行:
[Setup]
; comment for AppName
AppName=MyApp
; comment for AppVersion
AppVersion=1.2.3.4
; comment for DefaultDirName
DefaultDirName={pf}\My App
对于带有分号分隔参数的部分,不应仅仅因为它们的分隔符而内联分号分隔注释。如果在某些情况下这是可能的,我会认为这是由编译器解析器的惰性引起的(小)错误。
可能值得注意的是,在脚本部分和
// comment here
块中允许使用 Pascal 类型注释 [Code]
。这是为了Inno Setup 1.6.3
。任何以“//
”开头的行都会被预处理器删除。