Недавно случился в моей работе казус. Мне необходимо было поработать с одним крупным проектом, написанным на PHP. Я создал PHP-проект в Aptana Studio 3 (точнее, 3.0.1) и сделал checkout из svn-репозитория прямо в директорию проекта. Проект весьма большой — 370 мегабайт исходников. Туда входят и бинарные файлы, и прочая требуха, без которой не обойтись, потому и хранится всё это в репозитории. По мере того, как Subversion подкачивал файлы, запущенная Aptana принялась их сканировать. Процесс этот обещал быть весьма долгим и тормозным, поэтому я оставил компьютер на вечер, а сам пошел заниматься более приятными делами :). Следующим утром я вернулся к своему компьютеру и обнаружил “весёленькую” надпись на экране монитора о том, что на жестком диске компьютера кончилось свободное пространство. “Какого… ?!” — сказал я про себя — там было не меньше 30 гигабайт свободного пространства! Запустил анализатор использования дисков и вот что обнаружил:
Нормально, да? Один единственный файлик весит 62.1 гига, и этот файл является файлом каких-то параметров редактора PHP для Aptana. В 3-ей версии этой IDE появился собственный редактор PHP, во 2-й я использовал PDT, чтобы разрабатывать на PHP. Охреневший от удивления, я полез в эту директорию, чтобы посмотреть, чего же такого записано в этом файле на 62 гигабайта. Открыв его в mcedit, я узнал, что, судя по всему, в нем хранится описание всех php-файлов вместе с их содержимым:
Сначала я думал, что в нём хранится описание файлов только для импортированного проекта, однако, переименовав его и запустив Aptana по новой, я убедился в том, что в файле описаны все файлы (по крайней мере, скрипты с расширением .php) для всех PHP-проектов:
Как видно на снимке, “прихвачены” все php-скрипты из разных проектов (красные квадратики означают, что произошла какая-то ошибка с файлом). При этом, ctp-файлы проекта на CakePHP не были затронуты. Я попробовал удалить проект с физическим удалением файлов, а потом перезапустить IDE, расчитывая на то, что описание удаленных файлов исчезнет из этого огромного файла. Не вышло — он так и продолжал весить 62 гигабайта. Короче, не желая дальше колупаться с этой фигней, я удалил этот файл. Он был пересоздан при следующем запуске IDE с другим именем (смахивает на unix timestamp), и имел гораздо, гораздо меньшие размеры. Однако же, из случившегося я могу предположить, что этот файл со временем будет серьезно раздуваться, мешая нормально работать за компьютером.
Looks like an issue with the PHP indexing. Did you try to do a Project -> Clean (all). This will delete and re-build the entire index. As before, for 370mb of file, it will take some time to complete.
Shalom
I’ll translate our conversation to russian-speaking readers, if you don’t mind of this.
Перевод.
Shalom
Похоже на проблему с индексированием php-файлов. Пытался ли ты выполнить Project -> Clean (all)? Это удалит и перестроит весь индекс. Как и ранее, это займет некоторое время для 370 мб файлов.
Я
Спасибо за совет, я попробую это. Я думаю, что не очень удобно каждый раз, когда индекс начинает сжирать дисковое пространство, перестраивать его целиком. В любом случае, я надеюсь, что эта проблема будет решена в следующем релизе.
Shalom Thanks for the advice, I’ll try it. I think, that it’s not a good idea to re-build the entire index every time it starts to eat disk. Anyway, I hope, that this issue will be solved in the next release.
Коделобстер намного легче и работает шустрее - http://www.codelobster.com
Интересно - пост написан на русском, а комментаторы пишут на английском :)
Бывает). Кстати, я наверно переведу, что посоветовал мне Shalom и что я ответил.
Вопрос не совсем по теме. Есть ли в данном продукте возможность поиска текста по всем файлам проекта, как в NetBeans?
Возможность поиска текста во всех файлах проекта есть
По поводу функции поиска текста во всех проекта. А где она находится? Нигде не могу найти эту функцию.
Её можно найти в Project Explorer, если включено представление Web - вверху explorer’a, под выпадающим списком с проектами есть поле ввода для поиска текста внутри проекта
Извините, но не могли бы подробнее сказать, именно, где включить представление? Поля для поиска под списком с проектами нет..
не подскажите для этой программы есть руский язык или руссификатор?