使い方手順
作業フォルダ作成
docfx.exe init -q -o DocFXTest
多くの参考サイトで初期設定として、作業フォルダを作成する上記のコマンドが記載されていますが、
3.X系以降では、-q
オプションが廃止になっているようで、
Unknown option 'q'
というエラーがでます。
上記コマンドが使える2.X系は以下のリンクから取得できました。
https://github.com/dotnet/docfx/releases/tag/v2.59.2
参考
ドキュメント生成
- 初期設定により出力されたDocFXTest/src配下へ、ドキュメント化したいC#プロジェクトとC#ソースファイルを配置
- DocFXTest/src配下で次のコマンド実行
../docfx.exe metadata
- DocFXTest/src配下で次のコマンド実行
../docfx.exe build
-
_site
フォルダが作成される -
../docfx.exe serve
でドキュメントのサーバーがhttp://localhost:8080
へ起動 - HTMLファイルのローカルの実体の場所は、
_site/api
配下
プライベートメソッドも出力する方法
また、デフォルトのままでドキュメントを作成するとプライベートメソッドが出力されない。
APIとして公開しないからドキュメント化は不要という考え方らしい。
(むしろ、プライベートメソッドの方をドキュメント化したかったのに!)
- 作業フォルダ内(docfx.jsonの並び)に以下のファイルを作成
ドキュメントの作成をするクラス名を適宜記載。
filterConfig.yml
apiRules:
- include:
uidRegex: ^{Namespace名}\.Internal\.{クラス名1}$
uidRegex: ^{Namespace名}\.Internal\.{クラス名2}$
uidRegex: ^{Namespace名}\.Internal\.{クラス名3}$
type: Class
- 作業フォルダ内にある
docfx.json
を以下の変更
-
filter
をfilterConfig.yml
-
disableDefaultFilter
をtrue
docfx.json
"metadata": [
{
"src": [
{
"files": ["**/*.csproj"],
"exclude": [ "**/bin/**", "**/obj/**" ],
"src": "../src"
}
],
"filter": "filterConfig.yml",
"disableDefaultFilter": true
}
これで同様に
- DocFXTest/src配下で次のコマンド実行
../docfx.exe metadata
- DocFXTest/src配下で次のコマンド実行
../docfx.exe build
とすることで、プライベートメソッドも含まれたドキュメントが出力される。
参考