【问题标题】:What does ${plugin::command} mean in NSIS?${plugin::command} 在 NSIS 中是什么意思?
【发布时间】:2018-01-17 16:36:02
【问题描述】:

我正在尝试弄清楚如何使用 NSIS 修改 XML 文件。所以我正在尝试学习如何使用 XML 插件。 forum page上的例子经常使用${plugin::command}这样的格式:

${xml::LoadFile}

文档没有说明您需要美元符号和花括号。据我了解,只需plugin::command 即可。所以我一直在试图弄清楚那个语法是什么意思。

文档说 $ 用于变量,而 {} 用于代码块,但我找不到任何关于它们一起使用时的含义。我的 Internet 搜索显示它用于 JavaScript 中称为模板文字的东西。但它在 NSIS 中是什么意思?

编辑:我应该提到 NSIS 文档确实显示了这种语法的示例,尤其是在预定义部分,但它仍然没有解释语法的一般含义。

编辑:好的,现在我看到编译器的语法是使用!define 和!macro 替换内容。但是……这个具体案例呢?在这样的符号中使用冒号是否有效?为什么有些人写${xml::LoadFile}而有些人只写xml::LoadFile?

【问题讨论】:

    标签: plugins syntax format nsis code-documentation


    【解决方案1】:

    这是一个!define。这个插件有一个头文件来定义它。该插件可能需要做的不止一件事,因此他们将几行与插入宏的定义包装在一起。或者它有一些插件调用的默认参数。无论哪种方式,它都试图用这种语法为你节省一些打字时间。

    【讨论】:

    • 谢谢,现在我在条件编译部分找到了对该语法的解释。但是... XML 插件没有头文件。此外,plugin::command 甚至是 !define 的有效符号吗?他们肯定会使用不带冒号的符号,对吧?
    • 确保您正在寻找正确的 XML 插件。其中有几个。如果您已经解压缩了 ZIP 文件,请在 Include 文件夹中查找标题。至于语法,是的,它是有效的。
    • 哦,我查看的是 1.6 版而不是 1.7 版。
    • 既然您说您知道 NSIS 的多个 XML 插件,您是否碰巧知道一个允许我根据属性值导航到节点的插件?我检查了 xml.dll 源代码,它没有使用 XPath 或任何东西。
    猜你喜欢
    • 2011-01-27
    • 1970-01-01
    • 2011-08-12
    • 2017-06-11
    • 2018-03-05
    • 2023-03-27
    • 2016-08-17
    • 2010-12-28
    • 2020-10-27
    相关资源
    最近更新 更多