InnoSetup - 如何在设置源中提供内联注释?

时间:2014-05-19 20:22:42

标签: comments inline inno-setup

有没有人知道是否有办法为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)

和(我认为)我发现在编译器不期望任何更多操作数的任何地方都允许使用注释,但我更愿意使用更严格的语法(如果存在)。

1 个答案:

答案 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

为什么注释不能以分号分隔的部分内联?

对于具有分号分隔参数的部分,不应该因为它们的分隔符而内联分号分隔注释。如果在某些情况下这是可能的,我会认为这是由编译器解析器的懒惰引起的(次要)错误。