Dud*_*ero 15 customization eclipse-cdt include-guards
我希望通过使用Eclipse/CDT创建一个新的C++类来自动生成include-guard,但是我找不到任何改变${include_guard_symbol}属性的方法.
我的愿望是带有名称空间前缀的include-guard,如下所示:
#ifndef NAMSPACE1_NAMESPACE2_HEADER_HPP
Run Code Online (Sandbox Code Playgroud)
但如果我使用#ifndef ${namespace_name}_${include_guard_symbol}它,它将产生:
namepace1::namespace2::_HEADER_HPP
Run Code Online (Sandbox Code Playgroud)
我怎样才能做到这一点?
Dav*_*e E 15
我在CDT的源代码中进行了挖掘,并找到了一个未记录的首选项设置,您可以使用它来更改生成的内容${include_guard_symbol}.它也没有GUI,但是如果你添加codetemplates.includeGuardGenerationScheme设置<projectpath>/.settings/org.eclipse.cdt.ui.prefs,你可以选择文件名(默认),文件路径或UUID.
给定该文件<projectpath>/src/include/Class.h,以下值给出了以下结果:
CLASS_H_HC9ABE718_D04E_411C_B5A2_F9FE1D9F9409SRC_INCLUDE_CLASS_H_为避免任何疑问,以下是我们的内容.settings/org.eclipse.cdt.ui.prefs:
codetemplates.includeGuardGenerationScheme=2
eclipse.preferences.version=1
formatter_settings_version=1
Run Code Online (Sandbox Code Playgroud)
它显然不完全是你所追求的,但我们用它2来给我们一个近似的命名空间,因为一般来说,我们的命名空间遵循我们的文件夹结构.
相关代码位于CDT源中的这些文件中:
core/org.eclipse.cdt.ui/src/org/eclipse/cdt/ui/PreferenceConstants.java 对于每个选项的常量core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/corext/codemanipulation/StubUtility.java对于generateIncludeGuardSymbol()完成工作的方法.很高兴看到为使用命名空间添加了额外的选项,以及GUI.
| 归档时间: |
|
| 查看次数: |
4212 次 |
| 最近记录: |