Как стать автором
Обновить

Комментарии 48

убыстрен стартап, убыстрена работа с кэшом

Вы мне мозг вывихнули своим владением русским языком.

А так — да, чудная новость. Думаю, что после доклада Вадима Макишвили (часть 1, часть 2) фанатов и этой IDE'шки прибавится…
Сам пользуюсь Идеей лет так пять, но видео проглядел взахлеб

Ура, теперь пожалуй можно обновить свою 7-ку :)
Добавили бы они еще возможность очистить кэш Идеи или, еще лучше, делать это автоматически если Идея неактивна и компьютером не пользуются (оставлен на ночь).
а зачем?
При работе с большими проектами Идея со временем начинает подтормаживать всё больше и больше. Однако если почистить её папку с кэшем файлов (а он у меня иногда под 3Гб вырастает), то Идея начинает работать ощутимо быстрее. Хотя проект она после чистки будет открывать несколько дольше.

Поэтому сейчас приходится чистить вручную 1-2 раза в неделю.
а, вот вы к чему, теперь понял.
ну так напишите маленький скрипт, который будет ночью кэши очищать и зашедульте его ;)
Кэш нельзя чистить когда запущена Идея.

По-хорошему нужно закрыть Идею, почистить кэш и открыть идею обратно. Но из-под Идеи у меня может быть оставлен запущенным проект (Glassfish + Jetty, оба в режиме отладки). В итоге нужно остановить Jetty, раздеплоить проект, остановить Glassfish, закрыть Идею, очистить кэши, запустить Идею, запустить Glassfish, задеплоить проект, запустить Jetty. Так что с маленьким скриптом тут не очень.
Все правильно, кэши таким образом удалять нельзя =) Более того, идея не должна позволить Вам этого сделать. А вообще, кеши стоит удалять только в экстренных случаях. С кэшами точно быстрее нежели чем без них. Чтобы это понять, давайте рассмотри самый простой пример использования кэшей. Все вы знаете, что вставки комментариев типа

public void init() {
//TODO Vasya: don't forget to implement this method
}

Этот и остальные TODO можно увидеть, если перейти в ToolWindow (TODO) Alt+6. Теперь представьте, что мы бы каждый раз сканировали все java сорцы на предмет TODO прежде чем их нарисовать??? Дорого! Поэтому индексатор для TODO единожды обходит java файлы и говорит где находяться TODO, Далее индексатор вызывается только для тех файлов, которые изменились (в том числе и offline). Преимущества индексов очевидны, хотя я привел самый простой пример использования индексов.
Я прекрасно понимаю, для чего Идее нужны файлы кэшей и файлы индексов — без них весь её могучий функционал и не реализуешь. Но факт остается фактом: если в проекте много изменяющегося или, как у меня, динамически генерируемого кода, то со временем в кэше оказывается чертова куча файлов, которые уже реально не существуют (это мое предположение). В результате даже когда ты пытаешься использовать банальный банально просто набирать код, то Идея постоянно замирает на небольшой промежуток времени, который постоянно растет.

Как я уже сказал — в таких случаях помогает только ручная чистка кэшей. После этого ВСЕ операции (поиск классов, TODO, автодополнение и проч.) работают намного быстрее.

Если есть предложения как достигнуть этого без чистки кэшей, то я готов вас выслушать ;)
Хмм… А можно поподробней, что за динамически генерируемый код? Просто цифра в 3Gb реально ломает мозг… У меня проект ~ 3.2 миллиона строк (около 45000 джава классов) и кэш составляет примерно 1.2Gb (все плагины включены) Поэтому такое недоумение… Может какой левый плагин, который использует функционал индексов из open-api?
Ну у меня на Core quad с четырьмя гигабайтами оперативки, наш проект, после чистки кеша, открывается 3-4 минуты. Правда, столь долгое время загрузки появилось после перехода на восьмую идею — она кеширует javascript файлы. В общем, фича, честно говоря, сомнительной полезности. :)

Кстати, проверьте настройки вашей идеи, потому как у меня кеш за полгода вырос всего до 2Гб.
Кэш JS небольшой, основная масса приходится на java-код.
На самом деле это так кажется, что индексация JavaScript занимает много времени (или попросту тормозит). Просто ДжаваСкрипту не повезло. Он индексируется последним под прогресс баром. И поэтому когда все уже закончили индексироваться (в том числе и JS) вы видете надпись на прогресс баре о том, что мол индексируется JS, а на самом деле ИДЕЯ уже совсем другим занимается… Скорее всего записью на диск или типа того. Но если у вас есть js, который вызывает тормоза, то шлите разработчикам… Они то точно обрадуются =)
это вообще не «фича» — это внутренние подробности архитектуры IDE. И необходим он именно для того чтобы было возможно все что вы находите в ней полезным.
Ну, вообще то, возможность чистки кешей из под ИДЕ и можно называть умным англицким словом «feature».
File | Invalidate Caches. Правда, эффективно только после рестарта IDEA.
Хоть вопрос чистки кешей волновал не меня, а другого хабраюзера, парой коментов выше, но тем не менее — спасибо. :)
Я
Вы?..
Ага, начал писать не в ту ветку, стёр почти до конца, а потом по-привычке нажал «крайнюю левую кнопку», в надежде та то, что там окажется «Отмена» :)
Огромный респект ребятам из JetBrains
По сравнению с теми же Адоби(а)вцеми которые геттеры/сеттеры годами делают в Flex Builder производительность Идейцев просто космическая.

Поддержка флекс в 8.1 просто сказка. По работе требуется Groovy/Grails — это вообще не передаваемо. Html/Js — вкуснотища.

Кстати еще польза багрепортов — мне ДАЛИ лицензию идею за активный фидбэк.
можно подробнее про флекс поддержку? интересует сравнение с билдером
Главное — Идея понимает синтксиc MXML/AS3, а не выводит ошибки компиляции как билдер.
Как следствие Идея предлагает совсем другой уровень работы с кодом.
Как следствие — всякие там рефакторинги, иконки override/implements. Живые темплейты. Работа с inline-xml и regexp. Предложения по улучшению кода. Генераторы — конструктор, toString. Навигация по коду.
В общем все в традициях Идеи — умная и помогает работать.
Чего пока не хватает.

Идея до сих пор не умеет работать с Flex-CSS. Стили как mxml-атрибуты идея понимает, а CSS атрибуты путает с хтмл-ными.

Не хватает интеграции с FlexUnit прямо из идеи — нужна панелька результатов тестов прямо в Идее.

Нет поддержки E4X.

Присутствуют и баги конечно. Как же без них. Но баги фиксятся очень быстро. Главное о них сообщать. Разница между 8.0 и 8.1 по ошибкам и фичам колоссальная. А прошло несколько месяцев.
спасибо за ответы.

поставил, посмотрел, попробовал. появится дизайнер mxml — попробую ещё раз, а пока не вижу смысла.
Groovy/Grails там ещё, увы, пилить и пилить, особенно groovy, хотя в netbeans/eclipse и этого нету.
а чего там пилить? рефакторинг конечно до джавы не дотягивает… но в остальном как бы на уровне.

Person.findAllByUsernameAndPasswordAndEmailLike

Чего бы мне хотелось — это инструмент для описания для Идеи своих DSL.
упс…

Person.findAllByUsernameAndPasswordAndEmailLike —
в смысле идея подобные динамически финдеры умеет комплитить.
такие-то умеет, но вот List list = new List(), увы, не умеет :(
smart complete в смысле? угу, что странно. смарт-комплит одна из любимых фишек джава-идеи.

Кстати для List list = new List() както для не-для-груви :)

И кстати методы листа идея комплитит даже когда duck typing

def list = []
list.add()
>smart complete в смысле? угу, что странно.
ну сами идеевцы говорили, что этого пока нету.

>Кстати для List list = new List() както для не-для-груви :)
согласен, но первое пришедшее в голову String s = new String() — это даже не-для-java

>И кстати методы листа идея комплитит даже когда duck typing
и не только листа, кстати ;)
более того, она умеет даже
def o = []
list.add()
o=«string»
o.substring()
наконец можно будет добавить поддержку StringTemplate (*.st) файлов!
Не я не о том, MPS я использовал и буду использовать.
Я имел ввиду инструмент для работы с собственными билдерам внутри груви.
Ура! Это отличная новость!
Млин. А резина то всеравно глючит. надеюсь сразу пофиксят.
недеюсь ваша надежда подкреплена багрепортом? ;)
да. кстати может на форме для багрепортов сделать чтобы еще можно было загружать скриншоты? мне кажется это для разработчиков будет удобнее.
дык в jira есть специальная скриншотилка:

НЛО прилетело и опубликовало эту надпись здесь
Вы про это: This EAP build requires a valid IntelliJ IDEA 8.0 license. It does NOT auto-restart the 30-day evaluation period?

Ну, думаю, просто для ветки 8.* больше EAP не будет… Будут сразу для 9.* Не расстраивайтесь.
дык вроде всегда была такая политика — до выхода новой мажорной версии её EAP-версии обнуляли триал, после выхода — уже не обнуляют.
Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации

Истории