LoginSignup
1
0

DocFX(C#のXMLコメントをドキュメント化)へプライベートメソッドも出力する方法

Last updated at Posted at 2024-03-29

使い方手順

作業フォルダ作成

docfx.exe init -q -o DocFXTest
多くの参考サイトで初期設定として、作業フォルダを作成する上記のコマンドが記載されていますが、
3.X系以降では、-qオプションが廃止になっているようで、
Unknown option 'q'というエラーがでます。

上記コマンドが使える2.X系は以下のリンクから取得できました。
https://github.com/dotnet/docfx/releases/tag/v2.59.2

参考

ドキュメント生成

  1. 初期設定により出力されたDocFXTest/src配下へ、ドキュメント化したいC#プロジェクトとC#ソースファイルを配置
  2. DocFXTest/src配下で次のコマンド実行 ../docfx.exe metadata
  3. DocFXTest/src配下で次のコマンド実行 ../docfx.exe build
  4. _siteフォルダが作成される
  5. ../docfx.exe serveでドキュメントのサーバーがhttp://localhost:8080へ起動
  6. HTMLファイルのローカルの実体の場所は、_site/api配下

プライベートメソッドも出力する方法

また、デフォルトのままでドキュメントを作成するとプライベートメソッドが出力されない。
APIとして公開しないからドキュメント化は不要という考え方らしい。
(むしろ、プライベートメソッドの方をドキュメント化したかったのに!)

  1. 作業フォルダ内(docfx.jsonの並び)に以下のファイルを作成
    ドキュメントの作成をするクラス名を適宜記載。
filterConfig.yml
apiRules:
- include:
  uidRegex: ^{Namespace名}\.Internal\.{クラス名1}$
  uidRegex: ^{Namespace名}\.Internal\.{クラス名2}$
  uidRegex: ^{Namespace名}\.Internal\.{クラス名3}$
  type: Class
  1. 作業フォルダ内にあるdocfx.jsonを以下の変更
  • filterfilterConfig.yml
  • disableDefaultFiltertrue
docfx.json
  "metadata": [
    {
      "src": [
        {
          "files": ["**/*.csproj"],
          "exclude": [ "**/bin/**", "**/obj/**" ],
          "src": "../src"
        }
      ],
      "filter": "filterConfig.yml",
      "disableDefaultFilter": true
    }

これで同様に

  1. DocFXTest/src配下で次のコマンド実行 ../docfx.exe metadata
  2. DocFXTest/src配下で次のコマンド実行 ../docfx.exe build

とすることで、プライベートメソッドも含まれたドキュメントが出力される。

参考

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0