从 Eclipse 索引中排除构建中包含的文件
Exclude files from Eclipse Indexing that are included in the build
这个问题很好地回答了从索引中排除也从构建中排除的文件的问题。一个悬而未决的问题仍然存在:如何防止作为构建一部分的文件填充代码完成或代码洞察函数?
我的用例是一个TrueSTUDIO(是System Workbench,是裸露的Eclipse)项目,其中包括来自另一个项目的一些模块。它们包装在安全使用的存根和包装器中,切勿直接调用。无法编辑外部模块,因为它们必须与其他项目保持同步,因此它们的文件名和其他符号与当前项目的文件名和其他符号冲突。使用代码完成包含标头或完成函数名称时,不要使用的模块的文件名和函数名称将直接显示在完成列表中。
我希望继续在我的构建中包含模块,但不让它们的任何内容出现在代码完成/洞察功能中。
我在项目属性 -> C/C++ 常规 -> 索引器中看到,有一些选项可以将索引器配置为使用不同的构建配置。这是有希望的,但可能会很快导致索引器与主生成配置严重不同步。
关于实用方法的任何建议?
我发现从 Eclipse 索引中排除文件的唯一方法是使用上述特定于索引器的构建配置。就我而言,它有助于解决.cu(NVidia CUDA)文件上的索引器冻结的烦人问题。 这是它的工作原理:
- 准备新的(特定于索引器的)生成配置。
- 使用 源位置排除筛选器。
- 让索引器使用此特定的生成配置。
Eclipse 配置在 Indexer 中有点棘手,所以这是一个分步指南(与 Eclipse 2021-09 一样):
-
准备新的生成配置:
Project->Build Configurations->Manage->New
:- 给它起个名字,例如"4indexer"。
- 选择具有您首选配置的"从以下位置复制设置"。就我而言,"调试"工作得很好。
-
排除不需要的源文件:
Project->Properties->Paths and Symbols->Source Location
:- 选择"4indexer"作为要在属性窗口顶部管理的配置。
- 应用您选择的排除模式。就我而言,我通过单击"添加"在"源文件夹排除模式"列表的末尾添加了"*.cu"。按钮,然后在"添加排除模式"文本字段中键入 *.cu。
-
重新配置索引器:
Window->Preferences->C/C++->Indexer
: 允许任何索引器使用特定于项目的生成配置- (很难弄清楚):选中"使用项目的索引器设置中指定的生成配置"单选按钮。
Project->Properties->C/C++ General->Indexer
:- 选中"启用项目特定设置"。
- 为项目索引器选择新的生成配置:选中"使用固定生成配置",然后从下面的下拉列表中选择"4indexer"。
- 我还取消选中了"未包含在构建中的索引源文件",但我不确定是否有必要。
有时,当您尝试重新配置项目时,索引器会尝试重新索引项目,从而冻结 Eclipse。因此,我打开和关闭了它,并重新启动了几次Eclipse。
相关文章:
- vcruntime.h 从 Windows 包含文件夹中丢失?
- 禁止显示有关包含文件中 #pragma 包的警告
- 无法打开包含文件:在 vs2017 上'QtWidgets/qtwidgetsglobal.h'
- 包含文件 <sched_yield.h>在我的 RHEL 5 上找不到
- 尝试使用 MSVC 从源代码构建 qt 创建器:无法打开包含文件:"stddef.h":没有这样的文件或目录
- 无法打开包含文件'Graphics.hpp'没有这样的文件或目录,Visual Studio的其他包含不起作用
- 为什么 C++ 编译器在"c:program filesgnu emacsinclude"中查找包含文件?
- 包含文件中的 Typdef "未在此范围内声明"
- 错误: C1083: 无法打开包含文件:"boost/asio.hpp": 没有此类文件或目录
- SFML c ++ 当包含文件内游戏中发生事件时,如何使用铃声函数为我的游戏创建声音类?
- 在Windows上设置CMake和vcpkg时出错"无法打开包含文件"
- 致命错误 C1083:无法打开包含文件:"GL/glew.h":没有此类文件或目录
- Qt自动生成的.rc文件无法打开包含文件'windows.h'
- Visual Studio 停止识别任何包含文件
- 无法打开包含文件:"签证.h"
- 如何检查每个头文件是否包含必需的包含文件?
- Protobuf:无法在 message.pb.h 文件中打开包含文件 common.h
- extern 关键字在包含文件头文件C++
- 错误:无法打开包含文件:"MQTTAsync.h":没有此类文件或目录
- #include "date.h" 创建错误 E1696 无法打开源文件"date.h",也无法打开包含文件:没有这样的文件或目录