【问题标题】:How to customize eclipse CDT code templates如何自定义eclipse CDT代码模板
【发布时间】:2011-07-21 03:13:19
【问题描述】:

我需要我为一个项目编写的代码来匹配一些样式指南。但是,CDT 中包含的标准模板与此样式不匹配。尤其是头球后卫的布局并不是它应该的样子。我查看了模板,对于我的 Eclipse,它看起来像这样:

${filecomment}

#ifndef ${include_guard_symbol}
#define ${include_guard_symbol}

${typecomment}
${declarations}

#endif /* ${include_guard_symbol} */

所以我猜测变量${include_guard_symbol} 设置在 CDT 中的某处,但是否可以更改此设置而无需修改 CDT 本身?

稍微不同但相关的注释: 是否可以添加您自己的模板,这样您就可以使用项目的正常新对话框添加其他类型的新文件(测试用例、专用类等)?

【问题讨论】:

标签: eclipse eclipse-cdt


【解决方案1】:

我们的项目也遇到过类似的问题。一种解决方案是将模板中的 ${include_guard_symbol} 全部丢弃,并自己定义它,可能使用其他一些预定义的变量。像这样的:

${filecomment}

#ifndef MyProject_${file_base}_h
#define MyProject_${file_base}_h

${typecomment}
${declarations}

#endif /* MyProject_${file_base}_h */

因此对于名为 inc/Foo.h 的头文件,包含保护将像这样插入:

#ifndef MyProject_Foo_h
#define MyProject_Foo_h

不幸的是,似乎没有其他方法可以自定义更多内容。例如,如果我定义了一个嵌套在namespace 中的类,我可能希望将命名空间作为包含保护的一部分。目前,我在 Eclipse 中找不到这样做的方法。

【讨论】:

  • 这与我不得不做的想法相似。我想我会看看是否已经有 CDT 的功能请求,如果没有,我会打开一个。
  • 也可以使用 project_name 变量。 (如果没有空格)#ifndef COMPANY_${project_name}_${type_name}_H_
【解决方案2】:

所以在 C/C++ -> Code Style -> Code Templates 下的 Preferences 对话框中,您可以修改模板以更接近您的需要,例如,如果您需要后卫中的命名空间,您可以执行类似的操作。

${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} */

【讨论】:

  • 使用此解决方案时,嵌套命名空间存在问题。 #ifndef project::example::utils_SOMETHING_H_
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2021-02-01
  • 2011-03-18
  • 2014-12-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-12-29
相关资源
最近更新 更多