使用.hpp / .cpp模板创建新类时,是否有可能(以及如何)在Eclipse CDT中自动生成的包含警卫的名称中添加命名空间?
对我来说,Eclipse很好地生成了一个带有命名空间的新类,但是包含保护不包含命名空间,因此如果相同的头文件在两个不同的目录中存在两次,则只能包含一个。
在我的例子中,命名空间的名称,Eclipse项目名称和源目录的名称都是相同的,因此这些可以作为包含守卫的前缀替代。
答案 0 :(得分:6)
所以在C / C ++下的首选项对话框中 - >代码风格 - >代码模板您可以将模板修改为更接近您需要的模板,例如,如果您需要保护中的命名空间,您可以执行类似的操作。
${filecomment}
#ifndef ${namespace_name}_${include_guard_symbol}
#define ${namespace_name}_${include_guard_symbol}
${includes}
${namespace_begin}
${declarations}
${namespace_end}
#endif /* ${namespace_name}_${include_guard_symbol} */`
答案 1 :(得分:2)
您可以设置一个隐藏的首选项,以至少获取文件的路径或其中的uuid,而不仅仅是CLASSNAME_H_
。请参阅我的完整答案here。