1

我有一个自定义 python 脚本来构建我的项目以保持依赖简单,我想将 Eclipse 用作 C++ IDE,但保留我的构建脚本。

为了维护自动完成和智能感知(使用文档等......),我想告诉 Eclipse (非标准)标题和在我的脚本中依赖解析期间添加的定义。

我发现“.cproject”文件包含此类信息,从构建脚本中更改它是否安全,或者有什么方法可以将我的脚本集成到 Eclipse 本身中?

例子:

# TestGame.json
{
  "name": "TestGame",
  "extend": "BASE",
  "actions": ["COMPILE", "LINK"],
  "CC": [
    "G++11"
  ],
  "dep": {
    "builds": ["DFResourcer", "DFSDL"],
    "libs": ["SDL2", "SDL2main"]
  }
}

我的构建脚本将编译修改后的文件并将它们与所有需要的文件链接起来,并会找到"/home/cpp-projects/DFSDL/include"、其他必须包含的路径以及--std=c++11的需要,我想要一种方法来告诉 Eclipse(而不是手动)在此处搜索标题以进行自动完成等...

4

1 回答 1

1

我发现“.cproject”文件包含此类信息,从构建脚本中更改它是否安全

这是可行的,但不推荐,因为文件格式没有记录,并且不能保证在 Eclipse 版本之间保持稳定。

有没有办法将我的脚本集成到 Eclipse 本身中?

您可以编写一个 Eclipse 插件来运行您的脚本并与之通信或使用它产生的输出。但是,这似乎是一个重量级的解决方案。

我建议以下简单的解决方案:

Eclipse 有一个构建输出解析器。我已经写过如何在其他答案中使用它,比如这个。基本上,它旨在解析make调用的输出,解析任何看起来像编译器命令的行,并根据-I该命令中的参数配置包含路径。

即使您使用的是自定义构建脚本,您也可以使用它而不是make:只需让您的脚本输出它调用的编译器命令(如果您愿意,您可以将其设置为以类似的标志为条件--verbose),并将 Eclipse 配置为在构建项目时调用您的构建脚本,而不是make(如果您使用了标志,则传入标志)。

于 2017-08-19T04:52:25.413 回答