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

Why isn't Eclipse CDT adding a comment after closing namespace braces?

我正在使用 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

CDT 不支持在命名空间上自动添加结束注释,就像自动插入结束括号 } 的副作用一样。

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

更多详情

这里有三个不同的功能。

  1. 自动关闭 of {Braces} 可在 Preferences 中设置 - > C/C++ -> 编辑器 -> 打字

    此功能只是在您键入左大括号时放置一个右大括号,这就是您在键入 namespace foo {

  2. 时所做的事情
  3. 文件模板,可在首选项 > C/C++ > 中设置代码风格 > 代码模板 > 代码 > 命名空间声明结束(和名称空间声明的开始)

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

  4. 编辑器模板,可在首选项 -> C/C++ -> 编辑器 -> 模板 -> 命名空间

    当您插入 namespace 模板时,此功能有效。为此:

    1. 输入namespace或其一部分

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

    1. Select列表中的namespace条目对应模板版本

    2. 键入您的命名空间名称,您应该会看到它出现在声明和末尾的注释中

注意:如果您完全键入 namespace 并按下 Ctrl+Space 它可能会自动- select 如果没有其他可能的匹配项,则为模板。