Doxygen 和长 class 名称

Doxygen and long class names

我有一个很好的 C++ 项目,其中广泛使用了模板编程,但这真的不是重点。关键是我的一些 class 名称(带有所有模板参数)变得很长。我使用 Doxygen 做文档。

这通常不是问题,但最近我注意到 class 列表不可读,因为 class 长名称使其太宽而无法显示在屏幕上。

有没有办法让 Doxygen 将 class 列表中的 class 名称拆分为更多行?有没有办法在保留通用模板 class 的同时从 class 列表中隐藏模板 class 的特化?有更好的解决方案吗?

我设法通过将 classes 隐藏在命名空间中然后立即将此命名空间导入全局命名空间来找到一个愚蠢的解决方法,这样那些 classes 的名称将不会出现在列表中,除非单击命名空间或增加详细信息级别。明显的缺点是 classes 现在没有出现在列表中(其中一些相当重要,我希望它们在那里)。

我还可以删除以下样式:

.directory td.entry {
    white-space: nowrap;
}

这可以通过保存来完成:

.directory td.entry {
    white-space: normal;
}

as modify.css 并在 HTML_EXTRA_STYLESHEET 下指定。但是,还有更多的自动换行标签(例如 flex-wrap),因此可能需要进行额外的编辑。

最后,我修改了css。我最终使用了:

.directory td.entry {
    white-space: normal;
    /*width: 50%;*/ /* does not work, makes "Related Pages" look bad */
    min-width: 512px; /* better, unless you have a 640x480 screen */
}

我将它保存为 doxygen_modify.css 并在 HTML_EXTRA_STYLESHEET 中指定了它的路径(请注意,如果命名为 doxygen.css,它不会自动重命名,而是会被替换为主样式 sheet - 因此您不会看到任何更改)。