【问题标题】:Eclipse c++ class generation formatingEclipse c++ 类生成格式化
【发布时间】:2016-04-27 12:07:36
【问题描述】:

我已切换到 Eclipse Mars.1,但我不知道如何解决这个问题。

问题来了:

我右键单击子文件夹 MySubFolder 并选择 New->Class

在 Class name 字段中,我输入 MyClass 并使用 MySubFolder 填充命名空间,然后单击 Finish

生成的 .cpp 有伙伴包括带尖括号和完整路径的环绕:

#include <MySubFolder/MyClass.h> 

我想要这样:

#include "MyClass.h"

我尝试勾选 C/C++->代码样式->包含样式->密切相关的标题->合作伙伴标题->使用相对于包含文件的路径

并确保没有为相同的选项设置“使用尖括号”,但没有设置

【问题讨论】:

    标签: c++ eclipse generator eclipse-cdt


    【解决方案1】:

    您在传递给编译器的包含路径中有“src”目录。

    例如,如果我的包含路径中列出了 "${workspace_loc:/${ProjName}/src}",如下所示:

    然后 CDT 使用相对于"${workspace_loc:/${ProjName}/src}" 的尖括号来计算包含目录。

    如果您不使用 CDT 的托管构建项目(例如,您编写自己的 makefile,或使用 cmake 之类的工具),您可能还会在自动发现或手动管理部分中包含包含路径,如下所示:

    如果您创建的类不在任何包含目录中,它会使用双引号。

    【讨论】:

    • 这实际上是我所做的,关于位置和命名空间的每一件事都很好,即使我在根目录创建它我得到尖括号#include
    • 在正确理解您的问题的基础上完全重写了答案。
    • 我在设置下没有此选项卡,但我从 C/C++ General->Paths and Symbols->Includes->GNU C++ 中删除了当前工作区,它解决了问题。感谢您的帮助
    • @GARCINDavid 好的,如果您没有该设置,可能是因为您没有使用 CDT 托管项目,而是使用自己的构建系统(例如 makefile、cmake 等)。在这种情况下,“C/C++ General->Paths and Symbols->Includes->GNU C++”中的路径是由构建和发现自动发现的,并且可能会根据您的设置返回。如果您的 makefile 中有类似 g++ -I proj/src 的内容,那么这与我在图片中的基本规则相同。祝你好运,如果我的回答是正确的,请随时支持/接受我的回答。
    • 我发现我不再使用#include 语法获得当前项目的包含完成...有没有办法在没有上述问题的情况下恢复它?
    猜你喜欢
    • 2010-10-24
    • 1970-01-01
    • 2020-05-10
    • 2011-08-18
    • 2014-10-15
    • 2011-09-04
    • 2012-02-15
    相关资源
    最近更新 更多