从 Eclipse 索引中排除构建中包含的文件

Exclude files from Eclipse Indexing that are included in the build

本文关键字:包含 文件 构建 排除 Eclipse 索引      更新时间:2023-10-16

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

我的用例是一个TrueSTUDIO(是System Workbench,是裸露的Eclipse)项目,其中包括来自另一个项目的一些模块。它们包装在安全使用的存根和包装器中,切勿直接调用。无法编辑外部模块,因为它们必须与其他项目保持同步,因此它们的文件名和其他符号与当前项目的文件名和其他符号冲突。使用代码完成包含标头或完成函数名称时,不要使用的模块的文件名和函数名称将直接显示在完成列表中。

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

我在项目属性 -> C/C++ 常规 -> 索引器中看到,有一些选项可以将索引器配置为使用不同的构建配置。这是有希望的,但可能会很快导致索引器与主生成配置严重不同步。

关于实用方法的任何建议?

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

  1. 准备新的(特定于索引器的)生成配置。
  2. 使用 源位置排除筛选器。
  3. 让索引器使用此特定的生成配置。

Eclipse 配置在 Indexer 中有点棘手,所以这是一个分步指南(与 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"。
      • 我还取消选中了"未包含在构建中的索引源文件",但我不确定是否有必要。

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

相关文章: