gpt4 book ai didi

vb.net - 如何使用 Doxygen 记录 Visual Basic

转载 作者:行者123 更新时间:2023-12-04 10:02:10 32 4
gpt4 key购买 nike

我正在尝试在 Windows 中为 Visual Basic 使用一些 Doxygen 过滤器。

我从基于 gawk 的 Vsevolod Kukol 过滤器开始。
没有那么多方向。
所以我开始使用他自己注释的VB代码VB6Module.bas并且,通过他的 vbfilter.awk ,我发出:

gawk -f vbfilter.awk VB6Module.bas  

这会在 stdin 上输出类似 C 的代码。因此我将它重定向到一个文件:
gawk -f vbfilter.awk VB6Module.bas>awkout.txt

我创建了这个 Doxygen test.cfg文件:
PROJECT_NAME      = "Test"
OUTPUT_DIRECTORY = test
GENERATE_LATEX = NO
GENERATE_MAN = NO
GENERATE_RTF = NO
CASE_SENSE_NAMES = NO
INPUT = awkout.txt
QUIET = NO
JAVADOC_AUTOBRIEF = NO
SEARCHENGINE = NO

要生成我发布的文档:
doxygen test.cfg 

Doxygen 提示说“在\file 语句中作为第二个参数提供的名称 'VB6Module.bas' 不是输入文件。”我删除了评论 @file VB6Module.bas来自 awkout.txt .警告停止了,但在这两种情况下,生成的文档都只是一个包含项目名称的页面。

我还尝试了 Basti Grembowietz 在 Python 中的替代过滤器 vbfilter.py .再次没有文档,再次产生错误并且没有任何有用的输出。

最佳答案

经过反复试验,我解决了这个问题。

我无法转换 .bas文件的格式,以便我可以将其作为输入传递给 Doxygen。
无论如何,按照@doxygen 用户的建议,我能够创建一个 Doxygen 配置文件,以便它可以解释 .bas正确归档注释。

给定文件 VB6Module.bas (由 Doxygen-VB-Filter 的作者 Vsevolod Kukol 撰写),评论了适用于 Visual Basic 的 Doxygen 风格,我编写了 Doxygen 配置文件,test.cfg , 如下:

PROJECT_NAME      = "Test"
OUTPUT_DIRECTORY = test
GENERATE_LATEX = NO
GENERATE_MAN = NO
GENERATE_RTF = NO
CASE_SENSE_NAMES = NO
INPUT = readme.md VB6Module.bas
QUIET = YES
JAVADOC_AUTOBRIEF = NO
SEARCHENGINE = NO
FILTER_PATTERNS = "*.bas=vbfilter.bat"

在哪里:
  • readme.md是任何可以用作主文档页面的 Markdown 文件。
  • vbfilter.bat包含:

    @回声关闭
    gawk.exe -f vbfilter.awk "%1%"
  • vbfilter.awk过滤器作者假定与要记录的输入文件位于同一文件夹中,显然 gawk应该在路径中。

  • 运行:
    doxygen test.cfg 

    一切都很顺利,除了两个明显无害的警告:
    gawk: vbfilter.awk:528: warning: escape sequence `\[' treated as plain `[' 
    gawk: vbfilter.awk:528: warning: escape sequence `\]' treated as plain `]'

    现在 test\html\index.html包含由“.bas”和 Markdown 文件提取的正确文档。

    关于vb.net - 如何使用 Doxygen 记录 Visual Basic,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15260408/

    32 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com