7
8

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

DoxygenコメントをClangFormatに破壊されないようにする

Posted at

ClangFormatではコメントも自動フォーマッティングの対象になるため、C++やObjective-CのコードにDoxygen形式でコメントを埋め込んでいる場合、Doxygenでドキュメントを生成した際にドキュメントが崩れてしまうことがあります。

例えば次のようなファイルがあったとします:

Hoe.cpp
/**
 kore wa daijoubu?  kore wa daijoubu?  kore wa daijoubu?  kore wa daijoubu?  kore wa daijoubu?  kore wa daijoubu?  kore wa daijoubu?
 */
Hoe::Fuga()
{
    ...
}

これを例えば次のようなコマンドで自動フォーマットすると、コメントが崩れてしまいます:

$ clang-format -style=Google Hoe.cpp
/**
 kore wa daijoubu?  kore wa daijoubu?  kore wa daijoubu?  kore wa daijoubu?
 kore wa daijoubu?  kore wa daijoubu?  kore wa daijoubu?
 */
Hoe::Fuga() {
    ...
}

これを避けるためには、ClangFormatのCommentPragmasスタイルオプションを利用します。

例えばDoxygenコメントを「/**」で開始しているなら、例えば次のようにすればOKです:

$ clang-format -style="{ BasedOnStyle: Google, CommentPragmas: '\*' }" Hoe.cpp
/**
 kore wa daijoubu?  kore wa daijoubu?  kore wa daijoubu?  kore wa daijoubu?  kore wa daijoubu?  kore wa daijoubu?  kore wa daijoubu?
 */
Hoe::Fuga() {
    ...
}

CommentPragmasには「/*」の次に続く文字列にマッチする正規表現パターンを指定することに注意して下さい。

7
8
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
7
8

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?