Почну з мінусів:
- Не стільки мінус, скільки інформація до відома. Не всі мови однаково добре підтримуються в IDEA. Достовірно відомо, що добре підтримуються Java, Kotlin і Scala. Erlang, наскільки я пригадую, теж підтримувався добре. Для більшості інших мов, які я пробував, всякі там Rust, Go, Haskell і інші дивні нікому не потрібні мови, або реалізована тільки підсвічування синтаксису, без нормального автокомпліта, переходу до визначення, рефакторингов і так далі, ну або вони реалізовані, але працюють аби як. Однак слід зазначити, що навіть в таких випадках IDEA не гірше Vim як мінімум;
- Виключно рідко, але буває, що натрапляєш на баги. Натиснув shift-shift, знайшов потрібний клас, а діалог пошуку не закривається. Або пишеш такий код, і в якийсь момент раз, пропав курсор. На зовсім. У першому випадку вдається якось викрутитися, у другому IDE доводиться перезапускати. Але ще раз зазначу, що трапляється таке не часто. Можна тижнями спокійно працювати і не знати бід;
- Підтримка деяких речей залишає бажати кращого. Налаштував ти прапори в build.sbt, що всюди -Xfatal-warnings. в одному підпроект -deprecation: true. а в іншому -deprecation: false. Сам sbt збирає все без проблем, а IDEA не збирає, бо у тебе deprecation warning в підпроекту, де -deprecation: false. А потім, через якийсь час - раз, і вже все збирається, хоча ти нічого не міняв. Також підтримка Play Framework мене засмутила як у безкоштовній, так і в платній версії IDEA. Половина коду підкреслюється червоним, автокомпліт працює через раз - такого роду проблеми;
- Дещо працює не найочевиднішим чином. Так, щоб Scala Console нормально працювала в одному з підпроектів, бачила все пакети з нього і так далі, потрібно запустити Scala Console, закрити її, потім відкрити Scala Console в Run Configurations і змінити модуль в випадаючому списку на потрібний. Якщо не знати, де шукати, можна дуже довго розбиратися або навіть вирішити, що Scala Console зламана;
- У деяких випадках IDEA може помітно пригальмовувати. Наприклад, якщо у вас в проекті є файл з 5000 рядків коду на Scala. Розбивайте такі файли на файліки поменше і проблема піде;
- IDEA кілька вимоглива до ресурсів. За умовчанням вона виділяє до 512 Мб на x86 і до 768 Мб на x64. При великому рефакторінгу навіть 768 Мб стає недостатньо, тому у мене особисто в файлі idea64.vmoptions зараз прописано -Xmx1024m. Потрібно відзначити, що при цьому IDEA робить дійсно багато корисного і 1 Гб пам'яті не така велика проблема навіть на моєму старенькому запасному комп'ютері. якому вже 2.5 року;
- Сумарно я, напевно, дня три намагався розібратися, чому проект в IDEA переставав збиратися після переходу на Scala 2.11 і JRE 8. У SBT все відмінно збиралося при цьому. Загальне правило в такому випадку - клонуйте проект в новий каталог і імпортуйте з нуля. А також, якщо є можливість сидіти на community edition, сидите краще на ній. У мене склалося таке враження, що оскільки підтримка мови Scala в ultimate edition і community edition різна, а користувачів, мабуть, більше у останньої, то там і підтримка Scala стабільніша за рахунок більшого числа користувачів і їх багрепортов;
- Дуже страшно ставити апдейти плагінів, а також апдейти до самої IDE. Нерідко щось ламається. Одного разу зламали Scala Console - не працював поєднання Ctr + Enter. Щось може почати працювати трохи не так, як працювало раніше. Раніше перехід до визначення case class'а працював як по Ctr + B, так і по F4, а зараз він працює тільки по Ctr + B. Ясна річ, якщо ти звик завжди користуватися F4, виглядає це так, немов перехід зламався. Після поновлення IDEA з версії 13 на версію 14 взагалі була велика проблема знову змусити проект компілюватися. Або уважно тестируйте апдейти самостійно в виртуалке, або зовсім вимкніть їх і ставте нову IDEA в окремий каталог раз на рік, купу нервів заощадите;
Ну а тепер - про хороше:
Vim я користувався набагато більше років, ніж IDEA. Я був одним з тих людей, які висміювали користувачів IDE. що мовляв ці IDE все гальмівні, підсвічування коду і таби у мене і в Vim є, а рефакторингом доводиться робити так рідко, що їх підтримка і не потрібно. Не знаю, як на рахунок NetBeans або Eclipse, але по відношенню до IntelliJ IDEA я був неправий абсолютно точно. Є, звичайно, названі вище неприємні проблеми. Але якщо уявити, що це ціна за одержувані в обмін переваги, то це приблизно як купити автомобіль за ціною планшета.
Сподобався пост? Поділися з іншими:
(Необхідно включити JS)