为什么Eclipse CDT在关闭命名空间括号后不添加注释?

时间:2016-02-21 22:50:02

标签: namespaces eclipse-cdt code-completion eclipse-mars autocommenting

我正在使用Eclipse CDT Mars.1(4.5.1)编写一些C ++代码。

当我输入namespace foo {时,Eclipse使用结束命名空间括号完成此操作,下面两行。现在,我还要对这个结束括号进行评论,即

namespace foo {

} /* namespace foo */

我知道Eclipse 应该添加此评论,因为我在首选项中看到了它 - 在 Window>下偏好> C / C ++>代码风格>代码模板>代码>命名空间声明结束。它只是没有被使用!为什么呢?

PS - 如果重要,我正在运行Debian Stretch,但是我直接从eclipse.org下载了我的Eclipse

1 个答案:

答案 0 :(得分:3)

CDT不支持在命名空间中自动添加结束注释,这是自动插入右括号}的副作用。

自动获得结束评论的最佳方法是仅键入namespace然后自动完成(使用 Ctrl + Space )。

更多详情

这里有三个不同的功能。

  1. 自动关闭 {Braces} 偏好中设置的 - > C / C ++ - > 编辑 - > 输入

    此功能只是在您键入开括号时放置一个右括号,而当您键入namespace foo {

  2. 时,您正在执行此操作
  3. 文件模板,可在偏好设置>中设置 C / C ++ > 代码风格> 代码模板> 代码> 名称空间声明结束(以及名称空间声明的开头

    它控制使用新类向导创建的新文件中新类的格式。这是您在问题中提到的设置。

  4. 可在偏好设置中设置的编辑器模板 - > C / C ++ - > 编辑 - > 模板 - > 命名空间

    插入namespace模板时,此功能有效。要做到这一点:

    1. 输入namespace或其中的一部分

    2. Ctrl + Space 。这将为您带来标准的完成建议。

    3. namespace proposals

      1. 选择与模板版本对应的列表中的namespace条目

      2. 输入您的命名空间名称,您应该看到它出现在声明和最后的评论中

      typing with two cursors

      注意:如果您完全键入namespace并按 Ctrl + Space ,如果没有其他可能的匹配,它可能会自动选择模板。< / p>