【问题标题】:Is there a noop command in Doxygen?Doxygen 中是否有 noop 命令?
【发布时间】:2014-02-03 19:34:53
【问题描述】:

我有一个 aliased 命令,用于在我的 doxygen 配置中生成一个 xrefitem 页面。

ALIASES += "satisfy{2}=\xrefitem satisfy \"Satisfies\" \"Bottom up traceability\" requirement \1 in section: \ref \2"

如果我想要不生成此页面的第二个配置,并取出该别名,我将收到警告:

Warning: Found unknown command `\satisfy'

我可以输入一个不同的别名来生成一个基本上 noop 的命令吗?

我试过了:

ALIASES += "satisfy{2}= \ref \2 Satisfies requirement \1

还有:

ALIASES += "satisfy{2}= Satisfies requirement

但这导致输出只是回显参数。

{1114,intro1}

有什么建议吗?查看ALIASES 的文档,我什至不确定原始别名参数是如何工作的,\1\2 语法没有记录在那里。

【问题讨论】:

    标签: doxygen


    【解决方案1】:

    为了清楚起见,我理解了这个问题。您的代码文本中有 \satisfy Foo Bah。在没有外部引用的配置中,您仍在解析文本但没有定义别名?

    我相信你可以有重载的别名,那么定义以下(不带参数)有帮助吗?

    ALIASES += satisfy="Satisfies"

    ...但我不确定您希望在非交叉引用案例中使用参数发生什么。

    另外,如所写,我认为您可能在以后的 ALIAS 定义的语法中有错字(“位置”)。我本来期望的:

    ALIASES += satisfy{2}="\ref \2 Satisfies requirement \1"

    另一种选择可能是使用另一个别名定义 NOOP:

    ALIASES += noop{1}="\cond \1 \endcond"

    或者干脆

    ALIASES += satisfy{2}="\cond \2 \1 \endcond"

    【讨论】:

    • satisfy="Satisfies" 消除了警告,但仍会在输出中打印出“{1114,intro1}”。理想情况下它不会打印任何内容,但或者我会采用类似“intro1 满足 1114”的句子形式。
    • satisfy{2}="\cond \2 \1 \endcond" 可能在正确的轨道上。它打印出"*//*" 我也尝试了satisfy{2}="\cond FALSE \2 \1 \endcond" 并得到了相同的结果。
    • 仅供参考,我之前在参数上找不到的文档:stack.nl/~dimitri/doxygen/manual/custcmd.html#custcmd_complex
    【解决方案2】:

    我只是语法错误。请注意我的问题示例中缺少的右引号。

    无声:

    ALIASES +=    "satisfy{2}="
    

    如果你想要纯文本输出:

    ALIASES +=    "satisfy{2}=\2 satisfies \1"
    

    【讨论】:

    • "satisfy{2} = \ref \2 Satisfies requirement \1" 也可以。
    • 所以我怀疑缺少的尾随引号是正确的。有趣的是,手册将引号放在我放的位置,这与您拥有它们的位置不同(无论是否包含 satisfy{2}=
    • 整个东西的引号是由 Doxywizard 生成的。
    • 对不起,我错过了您包含有关错字的内容。我直接去看了你的例子并测试了它们......
    猜你喜欢
    • 2019-04-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-01-25
    • 2011-07-29
    • 1970-01-01
    • 2011-09-03
    • 2014-03-27
    相关资源
    最近更新 更多