Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Customizing inclusion guards in eclipse CDT

Is there a way to customize the format of inclusion guards in eclipse CDT for the class generation template? The current format is <Class Name>_H, but what I would like is something like <namespace>_<namespace>_<class name>_H. Not that I expect to have classes with the same name in different namespaces within my own project, but I'd prefer not to worry about it should the case arise.

like image 997
cheshirekow Avatar asked Aug 19 '10 13:08

cheshirekow


3 Answers

There is hard way to do this. You can rebuild plugin CDT plugin. Information about code repository and needed enviroment for rebuild available here. In your case you need change behavior of generateIncludeGuardSymbol() method that in

core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/corext/codemanipulation/StubUtility.java

More about it described in this answer

like image 119
CAMOBAP Avatar answered Nov 17 '22 21:11

CAMOBAP


I like Stuart's answer here:

How to customize eclipse CDT code templates

Just customize the template.

So in the Preferences dialog under C/C++ -> Code Style -> Code Templates you can modify the template to be closer to what you need, for example if you need the namespace in the guard, you can do something like.

${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} */
like image 44
Lee Ballard Avatar answered Nov 17 '22 22:11

Lee Ballard


This is in Neon...

Open up Window/Preferences.
Go down to C/C++/Code Style/Name Style.
Under Code you will find Include Guard.
It looks like some customization is allowed there.

This is the thing that gets expanded to ${include_guard_symbol}.

like image 1
Kevin Lafayette Avatar answered Nov 17 '22 20:11

Kevin Lafayette