【问题标题】:Exclude directories from indexing in CLion从 CLion 中的索引中排除目录
【发布时间】:2020-03-01 18:28:03
【问题描述】:

如何在 CLion 中将目录排除在索引之外?

我有几 GB 的数据正在被索引,这让一切都变慢了。

在 PyCharm 中,我可以右键单击目录,但在 CLion 上找不到此选项。

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

release/
release/results
source/
build/

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

【问题讨论】:

  • clion 索引在 CMakeLists.txt 中定义为“源”的文件(+ 源文件中包含的标头)
  • @etienne,你确定吗?我刚刚更新了这个问题的更多细节。
  • 在我的项目中,根目录下不包含源文件(来自 CMakeLists.txt)是灰色的;你是这样吗?
  • @etienne,是的,但是当目录充满数据时,CLion 仍会尝试对其进行索引。

标签: clion


【解决方案1】:

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

查看描述新功能的full blog post

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

【讨论】:

  • 你打了我几个小时才回答说 CLion 1.5 EAP 终于支持目录排除了! :-)
  • :D 这个问题是我阅读发行说明时首先想到的!
  • 对于非 CMake 项目,我仍然没有在 CLion 2019.2 中看到此选项。我必须在 PyCharm 中打开我的项目并将目录标记为排除在外。这立即导致 CLion 中的目录也被排除在外(甚至变成红色)。我相信这是可行的,因为所有 JetBrains 编辑器都能够读取/修改/观看相同的底层 XML 文件。
  • 我无法在 CLion 2020.3 中执行此操作,但 stackoverflow.com/a/60474140/353178 效果很好!
  • 只有在我删除了 .idea/modules.xml*.iml 文件之后才使用 CLion 2021.3.3 为我工作。
【解决方案2】:

Excluding a whole directory isn't possible,但是您可以按文件类型排除文件

Preferences | Editor | File types

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

【讨论】:

  • PyCharm在这方面比较好,希望能增加这个功能。同时,您的回答解决了我的问题。谢谢!
  • 我在 2015 年 10 月 28 日构建了 CLion EAP。看来这个对话框也允许排除目录。但是项目项仍然没有“标记为排除”上下文菜单。
  • 请注意,从 2015-12-17 开始,CLion 1.5 EAP 支持排除目录。请参阅 etienne 答案。
  • 太棒了!这适用于我的这个问题的版本——你如何告诉 CLion 忽略特定文件或文件类型。它每次都在函数重命名向导中添加一个步骤。
  • 这似乎只适用于 CMake 项目。如果您只是将 CLion 用作编辑器,则没有排除选项,所有内容仍会为搜索编入索引。
【解决方案3】:

有可能!如果您更改 .idea/YourProject.iml 内容块会有所帮助:

 <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

jetbrance 的任何文档中都没有该解决方案,但该公司的雇主建议了此解决方案 =)

【讨论】:

  • 签入2019.3版本
猜你喜欢
  • 2015-03-22
  • 2015-07-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多