【问题标题】:Exclude files from Eclipse Indexing that are included in the build从构建中包含的 Eclipse 索引中排除文件
【发布时间】:2018-08-24 21:17:44
【问题描述】:

This question 很好地回答了从索引中排除文件的问题,这些文件也被排除在构建之外。一个悬而未决的问题仍然存在:如何防止作为构建的一部分的文件填充代码完成或代码洞察功能?

我的用例是一个 TrueSTUDIO(以前是 System Workbench,是裸 Eclipse)项目,其中包括来自另一个项目的一些模块。它们被包装在安全使用的存根和包装器中,永远不应该直接调用。无法编辑外部模块,因为它们必须与其他项目保持同步,因此它们的文件名和其他符号会与当前项目的冲突混淆。当使用代码补全来包含头文件或补全函数名时,不被直接使用的模块的文件名和函数名会出现在补全列表中。

我希望继续在我的构建中包含这些模块,但它们的任何内容都不会出现在代码完整/洞察功能中。

我在 Project Properties -> C/C++ General -> Indexer 中看到有一些选项可以配置索引器以使用不同的构建配置。这是有希望的,但可能很快会导致索引器与主要构建配置严重不同步。

有什么实用方法的建议吗?

【问题讨论】:

    标签: c++ c eclipse build


    【解决方案1】:

    我发现从 Eclipse 索引中排除文件的唯一方法是使用上述索引器特定的构建配置。就我而言,它有助于解决 .cu (NVidia CUDA) 文件上的索引器冻结的烦人问题。 它是这样工作的:

    1. 准备新的(特定于索引器的)构建配置。
    2. 从该配置中排除不需要的源文件,使用 源位置排除过滤器。
    3. 让 Indexer 使用这个特定的构建配置。

    使用 Indexer 配置 Eclipse 有点棘手,所以这是一个分步指南(对于 Eclipse 2021-09):

    1. 准备新的构建配置:

      • Project->Build Configurations->Manage->New:
        • 为其命名,例如“4indexer”。
        • 使用您的首选配置选择“复制设置自”。就我而言,“调试”工作得很好。
    2. 排除不需要的源文件:

      • Project->Properties->Paths and Symbols->Source Location:
        • 在属性窗口顶部选择“4indexer”作为要管理的配置。
        • 应用您选择的排除模式。就我而言,我在“源文件夹排除模式”列表的末尾添加了“*.cu”,方法是单击“添加...”按钮并在“添加排除模式”文本字段中输入 *.cu。
    3. 重新配置索引器:

      • Window->Preferences->C/C++->Indexer:
        • 允许任何索引器使用特定于项目的构建配置(很难弄清楚):选中“使用项目的索引器设置中指定的构建配置”单选按钮。
      • Project->Properties->C/C++ General->Indexer:
        • 选中“启用项目特定设置”。
        • 为您的项目索引器选择新的构建配置:选中“使用固定的构建配置”并从下面的下拉列表中选择“4indexer”。
        • 我还取消了“构建中未包含的索引源文件”的勾选,但我不确定是否有必要。

    有时,当您尝试重新配置项目时,Indexer 会尝试重新索引项目,从而冻结 Eclipse。所以,我打开和关闭它并重新启动了几次 Eclipse。

    【讨论】:

    • 我没有合适的活动项目要检查,但这听起来很有帮助,但不是一个完整的答案。具体来说,我正在寻找一种方法,该方法在构建中包含所有源文件,但从索引器中排除其中的一个子集
    • 我认为建议的架构正是您所期望的。 构建中的所有源文件都被索引,但子集被“排除模式”排除(您可以使用通配符、子文件夹等来定义合适的子集)。唯一的不便是保持新的构建配置与原始配置同步,以防有任何重大更新(例如,添加新的源文件夹)。但这与保持“Debug”和“Release”构建配置同步的不便类型相同。
    猜你喜欢
    • 2012-04-23
    • 1970-01-01
    • 1970-01-01
    • 2015-03-10
    • 1970-01-01
    • 2010-10-01
    • 1970-01-01
    • 1970-01-01
    • 2016-07-06
    相关资源
    最近更新 更多