有没有人知道是否有办法为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)
和(我认为)我发现在编译器不期望任何更多操作数的任何地方都允许使用注释,但我更愿意使用更严格的语法(如果存在)。
答案 0 :(得分:5)
在源代码的脚本部分(包括除[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
对于具有分号分隔参数的部分,不应该因为它们的分隔符而内联分号分隔注释。如果在某些情况下这是可能的,我会认为这是由编译器解析器的懒惰引起的(次要)错误。