1

希望这不是重复的......它不应该因为我尝试了通常提供的修复。

我在自动生成注释ClassesMethods使用配置Doxygen为默认的 Elipse CDT(Juno/3.8,Linux)时遇到问题Documentation Tool

键入时,我仍然得到方法参数的空注释区域/** + ENTER

/**
 *
 */

这是我已经尝试过但没有成功的方法:

  • 设置:Windows > Preferences > C/C++ > Editor > Documentation Tool Comments > Doxygen
  • 设置:项目 > 首选项 > 启用项目特定设置 > Doxygen

两者都导致相同的结果。

注意:不确定 Eclipse 配置发生了什么(以前可以正常工作)。是否有可能我删除了 Doxygen 预设(可能是按Windows > Preferences > C/C++ > Code Style > Code Templates > Restore Defaults)。在那种情况下如何让它回到 Doxygen 风格?

编辑:我有一些关于这个主题的新东西......

基本上,这是我项目中的全局变化(实际上是 a shared library)。出于一些跨平台可移植性的原因,我必须MACRO在所有课程之前添加一个,如下所示:

class LIB_CLASS LabOneOfMyClasses {
public:
   ...
}

不幸的是,这样做似乎破坏了 CDT 生成智能函数标头 ( @param, @return, ...) 的能力。因此,暂时删除 MACRO,可以摆脱这种令人不快的行为。这很烦人,我应该向 CDT 的员工报告……

注意:最后,无论如何,它在 Doxygen 中得到了正确处理。

如果有人有一个绝妙的主意,我错过了什么?

4

1 回答 1

2

您可以创建一个编译器抽象头来解决这个问题。在 Eclipse 中为您的构建配置定义一个自定义符号。转到Project > Properties > C/C++ General > Paths and Symbols > Symbols > GNU C/C++Eclipse 并定义一个新的唯一符号,如#__ECLIPSE_CDT__.

比在编译器抽象头中您可以编写以下内容:

#ifdef __ECLIPSE_CDT__
#  define LIB_CLASS
#else
#  define LIB_CLASS <required normal content>
#endif

如果您始终将此编译器抽象头包含到您的文件中,那么 eclipse 会将 LIB_CLASS 扩展为空,而您的编译器将找到并使用正确的定义。

于 2013-08-04T06:36:52.993 回答