在CLion中排除目录的索引化

20

如何在CLion中排除目录不被索引?

我有几个GB的数据正在被索引,导致一切变得缓慢。

在PyCharm中,我只需右键单击该目录,但是我在CLion中找不到此选项。

更具体地说,我有一个具有以下结构的项目:

release/
release/results
source/
build/

目录release/results包含数GB的数据。 CMakeList.txt仅包含source/内文件列表,但索引器正在索引release/results内的文件。


CLion将在CMakeLists.txt中定义为“sources”的文件(包括从源文件中包含的头文件)进行索引。 - etienne
1
@etienne,你确定吗?我刚刚更新了问题并添加了更多细节。 - Jorge Leitao
在我的项目中,根目录下不包含源文件(来自CMakeLists.txt)的目录会变灰,你的情况也是这样吗? - etienne
1
@etienne,是的,但当目录充满数据时,CLion仍然会尝试对其进行索引。 - Jorge Leitao
3个回答

15

从CLion 1.5版本(目前为EAP版)开始,您可以将目录标记为“源代码”、“库”或“排除”。

请查看完整的博客文章以了解这一新功能:

虽然CLion会自动将构建目录排除在索引之外,但一些用户希望有更广泛的选项。当某些文件夹太大或位于网络存储上时,它们的索引可能会过于昂贵。为了让CLion知道这种情况,您可能需要手动排除一些文件夹的索引。


你比我早几个小时回答了那个问题,CLion 1.5 EAP终于支持目录排除了! :-) - marco.m
当我阅读发行说明时,这个问题是我脑海中首先浮现的东西! - etienne
我在CLion 2019.2中仍然没有看到非CMake项目的此选项。我不得不在PyCharm中打开我的项目,并将目录标记为排除。这立即导致CLion中的目录也被排除(甚至变成红色)。我相信这是因为所有JetBrains编辑器都能够读取/修改/监视相同的底层XML文件。 - Alex Jansen
我在 CLion 2020.3 中无法完成此操作,但是 https://dev59.com/A10b5IYBdhLWcg3wENmK#60474140 很好用! - mkirk
只有在我删除了.idea/modules.xml* .iml文件后,才能在 CLion 2021.3.3 上运行。 - KindDragon

8

无法排除整个目录,但您可以按文件类型排除文件

首选项 | 编辑器 | 文件类型

enter image description here

请注意,更新CLion到新版本后,这些设置不会被保留(至少在我从1.05更新到1.1时是这种情况)。


2
PyCharm在这方面更好,我希望能够添加这个功能。与此同时,你的回答解决了我的问题。谢谢! - Jorge Leitao
2
我有2015年10月28日的CLion EAP版本。看起来这个对话框也允许排除目录。但是项目条目仍然没有“标记为排除”的上下文菜单。 - Dzenly
2
请注意,从2015年12月17日开始,CLion 1.5 EAP支持排除目录。请参见Etienne的回答。 - marco.m
1
太棒了!这适用于我这个问题的版本——如何告诉CLion忽略特定的文件或文件类型。每次都会向重命名向导函数添加一个步骤。 - CivFan
这似乎只适用于CMake项目。如果您只是将CLion用作编辑器,则没有排除选项,所有内容仍会被索引以进行搜索。 - Alex Jansen

7

没问题!您需要更改.idea/YourProject.iml中的内容块:

(注意:“YourProject”是项目名称。)

 <content url="file://$MODULE_DIR$">
      <sourceFolder url="file://$MODULE_DIR$/src" isTestSource="false" />
      <excludeFolder url="file://$MODULE_DIR$/public/bundles" />
      <excludeFolder url="file://$MODULE_DIR$/node_modules" />
    </content>

警告: 您应该编写您的excludeFolder行。

这个解决方案在JetBrains的任何文档中都没有,但是这个公司的雇主建议采用这个解决方案 =)


3
在2019年3月版本中进行了检查。 - webdesus
1
同样适用于 CLion 2022.3。 - phip1611

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接