ネタ元: ドキュメントの加工方法、 あと片桐さん家のSandcastle関係いくつか
ちっ、秋風が身にしみるぜ……。
まぁ、敗残の兵には語る言葉はない、という話もありますが、これを踏み台にしてくれればよいかなぁ、と。
#今日はなんかしらんが会社が振り替え休日らしい。なので、ネタの手を広げてみる。連休の使い方間違ってないか? > 自分
まず、お声をかけていただいたわけですよ。
「Sandcastle っていうのがあるって言ってたよね。あれ使ってみたいんだけど」
やたっ、使用者が増えるぞっ。
「じゃあ、説明させてもらいますよ。で、言語はなんですか?」
C#?VB?……あれ、確かこの人って……。
「C++ なんだけど」
まて、おい。でも、、まあ、.NET ならなんとかなるんだろうな、きっと。
「VC++ 6.0 なんだけど。あー、でも C++ っていうよりは C として使ってる感じかなぁ」
「……時間ください」
てなことで、VS2005用にコンバートされたコードをもらってきて、……おい、そもそもコメントってどーやって書くんだ?
いや、XML タグで書くんだろう、きっと。そのときのコメントフォーマットは決まってないのか?
// でよいのか? /* か? /** か? /// とかしたりすんのか?
こーゆーときこそスニペットが……どうして C++ だと反応しないんだよぉ。C# なら /// で、VB なら ''' で XML タグの雛形がでるのにぃ。
……も、いいもんね。ひとつづつ、どれだと XML タグに埋め込まれるか確かめていっちゃるけんね。
で、/// で書けば少なくとも出力される XML には反映されることを確認。一歩前進ーっ!
じゃ、次は Sandcastle で変換だーっ! Sandcastle Help File Builder を起動して、さぁ Go !
……。
……なんでエラー吐いて止まりやがるかな、こいつは。
はいぃ?えーと、それっていわゆる NullPointerException じゃん。んなもの、処理してねーのかよー。
乗りかかった船、この際、どこにバグがあるか調べちゃる。ふむふむ、Sandcastle Help file Builder の方やね。
……あった。これだ、VersionInfoComponent.cs。
……いーのか、こんなコーディング。XML を処理してるのに、単なるパターンマッチングでループ回してるよ。 "/assemblies" を見つけたら終了って……。
しかたないので、応急処置として "assemblies/" を見つけた場合も終了条件に追加しておく。
#アセンブリ本体がない場合は別の特殊処理が必要か、というところまでは未検証。いや、業務でもないのにそこまで調べてらんねーし。
さぁ、これでどうだ!
あのー、こんどは Sandcastle 本体がエラー吐いている感じなんすけどぉ。
『書けねーよ!ディスク容量足りないんじゃないの?』って言われても、まだ GB 単位で空きがあるんすけどぉ。
……果てた。orz
CTPだからそーゆーもんかもしれないけどさぁ、……誰か解決してください。
# それとも、どこか根本から使い方を間違えてるのかなぁ?
久しぶりに Doxygen でも触ってみっかー。