Исключить каталоги из индексации в CLion

Как исключить каталоги из индексации в CLion?

У меня есть несколько ГБ индексируемых данных, которые все замедляют.

В PyCharm я могу просто щелкнуть правой кнопкой мыши по каталогу, но я не нахожу эту опцию в CLion.

Чтобы быть более конкретным, у меня есть проект со следующей структурой:

release/
release/results
source/
build/

каталог release/results содержит несколько ГБ данных. CMakeList.txt содержит только список файлов внутри source/, однако индексатор индексирует файлы внутри release/results.


person Jorge Leitao    schedule 15.04.2015    source источник
comment
clion индексирует файлы, определенные как «источники» в CMakeLists.txt (+ заголовки, включенные из исходных файлов)   -  person etienne    schedule 16.04.2015
comment
@etienne, ты уверен в этом? Я только что обновил вопрос с более подробной информацией.   -  person Jorge Leitao    schedule 16.04.2015
comment
В моих проектах каталоги в корне, не содержащие исходных файлов (из CMakeLists.txt), выделены серым цветом; это у вас так?   -  person etienne    schedule 16.04.2015
comment
@etienne, да, но когда каталог заполнен данными, CLion все равно пытается его проиндексировать.   -  person Jorge Leitao    schedule 07.05.2015


Ответы (3)


Начиная с CLion 1.5 (на данный момент EAP), вы можете помечать каталоги как «исходные», «библиотеки» или «исключенные».

См. полный пост в блоге с описанием новой функции:

Хотя CLion автоматически исключает каталоги сборки из индексации, некоторые пользователи ожидают более широких возможностей. Такая же ситуация может произойти, когда некоторые папки слишком велики или расположены в сетевом хранилище, что делает их индексацию слишком дорогой. Чтобы сообщить CLion, что это так, вы можете вручную исключить папки из индексации.

person etienne    schedule 17.12.2015
comment
Вы опередили меня на несколько часов, чтобы ответить, что CLion 1.5 EAP наконец-то поддерживает исключение каталогов! :-) - person marco.m; 18.12.2015
comment
:D этот вопрос был первым, что пришло мне в голову, когда я прочитал примечания к выпуску! - person etienne; 18.12.2015
comment
Я до сих пор не вижу эту опцию в CLion 2019.2 для проектов, отличных от CMake. Мне пришлось открыть свой проект в PyCharm и пометить каталог как исключенный. Это немедленно привело к тому, что каталог в CLion также был исключен (он даже стал красным). Я считаю, что это работает, потому что все редакторы JetBrains могут читать/изменять/просматривать одни и те же базовые XML-файлы. - person Alex Jansen; 30.09.2019
comment
Мне не удалось сделать это в CLion 2020.3, но stackoverflow.com/a/60474140/353178 сработало отлично! - person mkirk; 15.12.2020

Исключение всего каталога невозможно, однако вы можете исключить файлы по типу файла< /сильный>.

Preferences | Editor | File types

введите описание изображения здесь

Имейте в виду, что эти настройки не сохраняются после обновления CLion до более новой версии (по крайней мере, так было со мной при обновлении с 1.05 до 1.1).

person nburk    schedule 19.08.2015
comment
PyCharm в этом отношении лучше, и я надеюсь, что эта функция будет добавлена. Между тем, ваш ответ решил мою проблему. Спасибо! - person Jorge Leitao; 22.08.2015
comment
У меня есть сборка CLion EAP от 28 октября 2015 года. Кажется, этот диалог также позволяет исключать каталоги. Но контекстного меню «Отметить как исключенное» для элементов проекта по-прежнему нет. - person Dzenly; 19.11.2015
comment
Обратите внимание, что начиная с 17 декабря 2015 г. CLion 1.5 EAP поддерживает исключение каталогов. См. ответ Этьена. - person marco.m; 18.12.2015
comment
Великолепно! Это относится к моей версии этого вопроса - как вы говорите CLion игнорировать определенный файл или тип файла. Каждый раз он добавлял шаг к мастеру переименования функций. - person CivFan; 23.07.2018
comment
Похоже, это работает только для проектов CMake. Если вы просто используете CLion в качестве редактора, то нет опции исключения, и все по-прежнему индексируется для поиска. - person Alex Jansen; 29.06.2019

Возможно! Было бы полезно, если бы вы изменили блок содержимого .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 строки

Решения нет ни в одной документации в джетбрансе, но это решение предложил работодатель из этой компании =)

person webdesus    schedule 01.03.2020
comment
Проверено в версии 2019.3 - person webdesus; 01.03.2020