Выполняется индексация DLTK

Наше программное обеспечение, которое поддерживает наш бизнес, состоит почти из 16 000 файлов PHP. Это абсолютно обширная система. Zend Studio требуется буквально несколько часов для запуска индексации DLTK.

Я не могу найти актуальный ответ по этому поводу, но должен быть способ отключить его или ограничить его определенными каталогами.

Кроме того, что именно делает этот процесс?

Спасибо.


person i-CONICA    schedule 12.11.2012    source источник


Ответы (3)


Индексация DLTK — это функция Eclipse, которая индексирует информацию о динамических языках, таких как PHP или Perl. Для PHP это включает определения классов, включая их свойства и методы, прототипы функций, разрешает код, который включен или требуется в других файлах, а также многое другое.

Без него вы бы потеряли такие вещи, как автодополнение для классов и функций, определенных вашим проектом. Это также помогает при рефакторинге, поэтому, если вы переименуете функцию, она может обновить все другие файлы, которые ссылаются на эту функцию.

В целом это хорошо, но я чувствую вашу боль и несколько раз сталкивался с одной и той же проблемой.

Вы можете запретить индексацию определенных каталогов, щелкнув правой кнопкой мыши папку, которую вы хотите исключить из индексации в своем проекте, и выбрав Build Path, а затем щелкнув Exclude. Это должно предотвратить его индексацию этим процессом.

Исключить из пути сборки

Кроме того, вы можете открыть свойства проекта и управлять исключенными путями оттуда:

Исключить из пути сборки

person drew010    schedule 12.11.2012
comment
Благодарю за ваш ответ. Очень полезно. Я понимаю, насколько важна индексация, и она действительно полезна, когда она индексирует наше программное обеспечение, но когда она индексирует библиотеки и фреймворки, это не так полезно, поскольку мы никогда не просматриваем и не редактируем их. Еще раз спасибо за подробный ответ о том, как исключить каталоги. - person i-CONICA; 14.11.2012
comment
Кроме того, было бы полезно, если бы его можно было запланировать для запуска в определенный момент. Знаете ли вы какой-либо способ вызвать это через командную строку? Я мог бы настроить запланированную задачу или cron для ее запуска. Его можно запустить с помощью CTRL + B в eclipse/zend, но отключение автоматической сборки и запуск в конце рабочего дня через ST/cron было бы идеальным обходным путем. - person i-CONICA; 14.11.2012
comment
Я не знаю, как автоматизировать этот процесс. Кажется, что это возможно, учитывая модульную природу eclipse, но некоторые быстрые поиски не выявили никакого способа сделать это. IRT индексирует библиотеки и фреймворки, я полагаю, единственная причина, по которой вы хотите, чтобы они были проиндексированы, заключается в том, что код, который вы пишете, во многом зависит от этих библиотек. Без их индексации вы не получите никакого автозаполнения или подсказок для этих библиотек, и они будут отображаться как неопределенные объекты в ваших исходных файлах, которые их используют. - person drew010; 14.11.2012
comment
Обновление к этому, с тех пор мы обновили наши рабочие станции разработчиков для работы на твердотельных накопителях, и, очевидно, это имело огромное значение для этого. - person i-CONICA; 13.05.2014
comment
Отличный пост со снимками. :) - person Hoja.M.A; 26.05.2015
comment
Это лучший ответ, который я получил, но я действительно убираю функции автозаполнения и тип подсказки, затмение в любом случае не быстрое, полное медленное, когда у вас есть длинный поставщик, известный как 15 репозиториев, и вы вводите первую букву, он настроен чтобы показать подсказки в 200 мс! Поменял на 3с. Я уже пробовал Zend Studio, там этого нет! только на PDT это БЕСПЛАТНО! В чем магия Zend Studio? - person Mauricio Piber Fão; 22.01.2016

В случае, если у вас есть несколько проектов, и некоторые из них вы используете очень редко, вы можете просто закрыть проект (из контекстного меню): это предотвратит индексацию DLTK для этих закрытых проектов.

Обратите внимание, что закрытие проекта НЕ удаляет его, поэтому, если когда-нибудь вам понадобится получить доступ к какому-либо файлу или изменить его, вы можете просто открыть его снова.

person dav    schedule 21.09.2015

Разбейте свою огромную кодовую базу на модули, и тогда вы сможете иметь множество небольших проектов в Zend Studio, каждый из которых будет иметь гораздо меньше индексов, когда зависимости обрабатываются как библиотеки.

person AwesomeBobX64    schedule 17.07.2015
comment
Я согласен с тем, что массивная кодовая база, подобная этой, должна быть разбита таким образом, чтобы вы могли загружать вещи более модульно, но это долгосрочное решение, которое займет много времени, и большинству людей в этой ситуации нужно получить работу для клиент делается немедленно, даже если кодовая база не очень хорошо разработана. - person Spencer Williams; 21.09.2016