4

有没有办法指定 doxygen 自动生成的课程页面的标题?所以我可以使用我自己的文本来代替页面顶部的“ClassName Class Reference”吗?

或者,如果不是我自己的文本,我会满足于只显示“ClassName”(没有“Class Reference”)。

下面的屏幕截图以绿色显示我试图摆脱的文本......所以在这个页面上,我希望标题只是“WindSpeedSetting”。或者更理想的是,我希望标题是“WindSpeedSetting Table”。

在此处输入图像描述

这是我的 doxy 文件的摘录:

<navindex>
  <tab type="mainpage" visible="yes" title=""/>
  <tab type="classes" visible="no" title="">
    <tab type="classlist" visible="no" title="" intro=""/>
    <tab type="classindex" visible="no" title=""/>
    <tab type="hierarchy" visible="no" title=""/>
    <tab type="classmembers" visible="no" title=""/>
  </tab>
  <tab type="usergroup" url="[none]" visible="yes" title="Tables">
    <tab type="usergroup" url="[none]" visible="yes" title="SCADA">
      ...
      <tab type="user" title="WindSpeedSetting" url="@ref Radiance::Model::Scada::v12::WindSpeedSetting" />
    </tab>
    ...
  </tab>
</navindex>

<class>
  <briefdescription visible="no"/>
  <detaileddescription title="Description"/>
  <memberdef>
    <inlineclasses title=""/>
    <typedefs title=""/>
    <enums title=""/>
    <constructors title=""/>
    <functions title="" visible="no"/>
    <related title=""/>
    <variables title=""/>
    <properties title="Columns"/>
    <events title=""/>
  </memberdef>
  <allmemberslink visible="no"/>
  <usedfiles visible="no"/>
  <authorsection visible="no"/>
</class>

然后我的 C# 类看起来像这样:

/// <summary>
/// \class WindSpeedSetting
/// A list of available anemometers in the system.
/// </summary>
public class WindSpeedSetting
{
  /// <summary>
  /// \property AlarmSpeed
  /// \a float <br /><br />
  /// </summary>
  public virtual double AlarmSpeed { get; set; }

  /// <summary>
  /// \property AlarmTime
  /// \a bigint <br /><br />
  /// </summary>
  public virtual TimeSpan AlarmTime { get; set; }
}
4

3 回答 3

1

如果您没有 DoxygenLayout.xml,您可以按照doxygen 手册更改页面布局中描述的步骤创建一个。

在文件的顶部,您会找到<navindex>包含 tab 的classes标签。

<navindex>
...
<tab type="classes" visible="yes" title="">
  <tab type="classes" visible="no" title="THISISANEXAMPLE"/>
  <tab type="classindex" visible="$ALPHABETICAL_INDEX" title="THISISMYTITLE"/> 
  <tab type="hierarchy" visible="yes" title=""/>
  <tab type="classmembers" visible="yes" title=""/>
</tab>
...

专注于title=“THISISANEXAMPLE” andvisible="no"`,以更改可见性和/或标题,您就完成了。

于 2013-07-03T07:38:34.117 回答
0

我从 github 上获取了 Doxygen 的源代码,并追踪到“Class Reference”字符串是在 translate_en.h 的第 585 行定义的例程,具体来说:

/*! used as the title of the HTML page of a class/struct/union */
virtual QCString trCompoundReference(const char *clName,
                                ClassDef::CompoundType compType,
                                bool isTemplate)
{
  QCString result=(QCString)clName;
  switch(compType)
  {
    case ClassDef::Class:      result+=" Class"; break;
    case ClassDef::Struct:     result+=" Struct"; break;
    case ClassDef::Union:      result+=" Union"; break;
    case ClassDef::Interface:  result+=" Interface"; break;
    case ClassDef::Protocol:   result+=" Protocol"; break;
    case ClassDef::Category:   result+=" Category"; break;
    case ClassDef::Exception:  result+=" Exception"; break;
    default: break;
  }
  if (isTemplate) result+=" Template";
  result+=" Reference";
  return result;
}

这意味着使“类引用”文本消失的唯一方法是更改​​语言,将“类引用”替换为等效的外语或修补代码。

于 2014-02-25T20:54:27.520 回答
0

要显示没有“类引用”字符串的类名,您可以检查标签 HIDE_COMPOUND_REFERENCE。

于 2019-05-17T16:40:00.037 回答