5

WindowsのVisualBasicにDoxygenフィルターを使用しようとしています。

gawkをベースにしたVsevolodKukolフィルターから始めました。方向性はそれほど多くありません。そこで、私は彼自身のコメント付きVBコードVB6Module.basを使い始め、彼のvbfilter.awkを使用して、次のように発行しました。

gawk -f vbfilter.awk VB6Module.bas  

これにより、stdinにCのようなコードが出力されます。したがって、私はそれを次のファイルにリダイレクトしました:

gawk -f vbfilter.awk VB6Module.bas>awkout.txt

私はこのDoxygentest.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ステートメントの2番目の引数として指定された名前'VB6Module.bas'は入力ファイルではありません」と文句を言います。コメント@file VB6Module.basをから削除しましたawkout.txt。警告は停止しましたが、どちらの場合も、作成されたドキュメントはプロジェクト名が記載された1ページだけでした。

Pythonvbfilter.pyでBastiGrembowietzによる代替フィルターも試しました。再びドキュメントなしで、再びエラーを生成し、有用な出力なしで。

4

2 に答える 2

2

試行錯誤の末、私は問題を解決しました。

.bas入力としてDoxygenに渡すことができるような形式のファイルを変換できませんでした。.basとにかく、@ doxygenユーザーの提案に従って、ファイルのコメントを正しく解釈できるようにDoxygen構成ファイルを作成することができました。

Visual Basicに適合したDoxygenスタイルでコメントされたファイルVB6Module.bas(Doxygen-VB-Filterの作成者であるVsevolod Kukolによる)を前提test.cfgとして、次のようにDoxygen構成ファイルを作成しました。

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含まれています:

    @echo off gawk.exe -f vbfilter.awk "%1%"

  • フィルタ作成者によるvbfilter.awkは、文書化される入力ファイルと同じフォルダにあると想定されており、明らかに gawkがパスに含まれている必要があります。

ランニング:

doxygen test.cfg 

2つの明らかに無害な警告を除いて、すべてがスムーズです。

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ファイルによって抽出された適切なドキュメントが含まれます。

于 2013-03-08T11:03:48.567 に答える
1

さて、私はいくつかの仕事をしました:

この.zipファイルをダウンロードできます。を含む:

  • MakeDoxy.basそれをすべて実現するマクロ
  • makedoxy.cmdMakeDoxyによって実行されるシェルスクリプト
  • doxygenドキュメントを作成するために必要なdoxygenおよびgawkバイナリと、OPによってすでに使用されているいくつかの追加のフィルタリングファイルを含む構成フォルダ。
  • doxygenのサンプルソースコードを含むソースフォルダ

使い方:

注: Excel2010でテストしました

  1. VBADoxy.zipを抽出します(今後参照<root>

  2. MakeDoxy.basをVBAプロジェクトにインポートします。ソース
    からファイルをインポートすることも、独自のdoxygenで文書化されたVBAコードファイルを使用することもできますが、同じVBAプロジェクトに少なくとも1つの文書化されたファイルが必要です。

    ここに画像の説明を入力してください
  3. 「MicrosoftVisualBasicfor Applications Extensibility 5.3」以降をVBAプロジェクトリファレンスに追加します(以前のバージョンではテストしていません)。エクスポート部分(VBProjectVBComponent)に必要です。

    ここに画像の説明を入力してください

  4. マクロMakeDoxyを実行する

何が起こるか:

  1. フォルダの入力を求められ<root>ます。
  2. <root>\source後で削除するかどうかを尋ねられ
    ます。これらのファイルは削除してもかまいません。それらはVBAプロジェクトから削除されません。
  3. MakeDoxyは、すべて.basのファイルcls.frmファイルを次の場所にエクスポートします。
    <root>\source\<modulename>\<modulename>(.bas|.cls|.frm)
  4. cmd.exeその方法を選択した場合は、実行makedoxy.cmdおよび削除するように命令されます。これにより、目的のドキュメントが作成されます。<root>\source

MakeDoxyが実行されるたびに、ログファイルMakeDoxy.bas.logが再作成されます。

configuration\vbdoxy.cfgdoxygensの動作を変更したい場合は、少し遊んでみてください。

まだまだ改善の余地はありますが、これでうまくいくと思います。

于 2014-07-23T14:58:56.143 に答える