Kotlin
Главная новость заключается в том, что одновременно с релизом IntelliJ IDEA 15 вышел и Kotlin Beta — практически готовый к релизу JVM язык программирования, разрабатываемый в недрах JetBrains. В IntelliJ IDEA 15 поддержка Kotlin доступна “из коробки”.
Отладчик
Популярность Java 8 продолжает набирать обороты, а JetBrains продолжает делать отладчик более удобным для работы с лямбда-выражениями. При добавлении точки останова IDE теперь позволяет выбрать конкретное выражение. Перейти в конкретное лямбда-выражение теперь можно и при помощи Step Into и Run to Cursor.
Также в отладчик был добавлен инструмент Force Return. Он позволяет прервать исполнение текущего метода и вернуть выбранное значение. Это может быть удобно, если вы хотите поменять логику выполнения программы без изменения кода и без перезапуска.
Обнаружение дубликатов в коде
Раннее поиск дубликатов в IntelliJ IDEA осуществлялся через инструмент Analyze ? Locate Duplicates. Результатов этой операции можно было ожидать несколько минут. Изменения, внесенные в алгоритм индексации в IntelliJ IDEA 15, позволили сделать поиск дубликатов мгновенным: с помощью инспекции Duplicated Code. Инспекцию можно настроить или отключить в Settings ? Inspections.
Поиск текста
Поиск текста — относительно простая операция, тем не менее IntelliJ IDEA продолжает совершенствовать его с каждой версией (ранее была добавлена возможность выбора контекста поиска: комментарии, строковые литералы и т. п.). В IntelliJ IDEA 15 в диалог поиска добавлена панель с мгновенными результатами.
Запуск приложений и тестов
Теперь рядом с методами main, а также рядом с каждым тестом в левой части редактора отображается иконка, нажатием на которую можно быстро запустить соответствующий метод или тест. Для каждого теста иконка отображает результат последнего запуска.
Кроме того, конфигурации запуска получили индикаторы состояния: теперь легко отличить запущенную конфигурацию от остановленной, а кнопка Run на панеле инструментов выглядит как Restart для запущенной конфигурации типа Single instance only.
Также был полностью переработан интерфейс запуска тестов. Теперь он выглядит одинаково для всех языков, показывает время выполнения тестов и предлагает операции просмотру, импорту и экспорту результатов предыдущих тестов.
Системы контроля версий
Интеграция с Git, Mercurial, Perforce и другими системами контроля версий подверглась ряду улучшений. Rebase стала полноправной операцией в меню Branch operations на равне с Merge. Само меню Branch operations стало доступно в Log.
По клику на маркере в левой части редактора для измененных строк теперь показываются непосредственные части, которые изменились (ранее показывалась вся строка полностью). Кроме этого, если изменения коснулись только форматирования, цвет маркера будет желтым вместо синего.
При реформатировании только измененных строк IDE теперь понимает необходимость реформатирования и контекстно-зависимых строк, например отступы в объявлении методов. В окне Merge стала доступна операция Undo.
Для Mercurial появилась возможность управления патчами MQ. Для Perforce появилась функция Shelve in Perforce. Для TFS появилась возможность работы с древовидными Work items, а также с Saved queries.
Серверные фреймворки
Поддержка фреймворков была также обновлена в соответствии с их последними версиями. Поддерживаются новые функции, добавленные в Spring 4.2: аннотация Bean на default методах, автодополнение и навигация для кода использующего аннотации EventListener; а также аннотация @AliasFor.
Кроме того, в IntelliJ IDEA 15 появилась долгожданная поддержка Grails 3.
Добавлена экспериментальная поддержка Arquillian: контейнеры можно конфигурировать на уровне IDE и указывать их при запуске тестов.
Scala
Плагин для Scala также обновился за счет поддержки SAM (Single Abstract Method), подсказки, позволяющей разворачивать макросы, постфикс автодополнений, Inline рефакторинга для Type aliases и некоторых других улучшений.
Фронтенд разработка
Веб-разработчики будут рады узнать о поддержке TypeScript 1.6, интеграции с TSLint и значительно улучшенной поддержке React фреймворка (включая разметки JSX и TSX):
В IntelliJ IDEA 15 доступны возможности, добавленные в Android Studio 1.3: Android Memory (HPROF) Viewer и Allocation Tracker. Более поздние изменения Android Studio скоро также появятся в минорных обновлениях IntelliJ IDEA 15.
Базы данных и SQL
Инструменты для работы с базами данных и SQL были значительно обновлены: теперь можно быстрее получать точную информацию об объектах баз данных для Oracle, PostgreSQL, MySQL и SQL Server, генерировать код для CREATE TABLE и INSERT конструкций; визуально редактировать существующие таблицы; строить план выполнения запросов; сравнивать результаты нескольких запросов и не только.
Цены и лицензирование
IntelliJ IDEA 15 является частью JetBrains Toolbox и доступна теперь по подписке. Кроме новых цен и условий лицензирования, это также означает, что, если раньше вы пользовались несколькими продуктами JetBrains одновременно, теперь вы можете купить их по более выгодной цене.
Если вы еще не попробовали IntelliJ IDEA 15 самостоятельно, приглашаем вас сделать это прямо сейчас.
Программируйте с удовольствием!
Команда IntelliJ IDEA
Комментарии (26)
sabio
09.11.2015 13:36Кроме этого, если изменения коснулись только форматирования, цвет маркера на гаттере будет желтым вместо синего.
У меня маркер по-прежнему синий, если я, например, вставляю в строке дополнительный отступ или заменяю Tab-ы на пробелы. Пробовал и в светлом L&F, и в Darcula.
При этом в настройках цветов (Colors & Fonts > General > Gutter) действительно указан жёлтый для Lines with whitespace-only modifications.
… Как оказалось, эту фичу надо включить: «Settings > Editor > General» — IDEA-138701
Не логично только, что отметка на скроллбаре по-прежнему синяя. Было бы удобно сразу видеть, где в файле существенные изменения.andreycheptsov
09.11.2015 13:45Не логично только, что отметка на скроллбаре по-прежнему синяя. Было бы удобно сразу видеть, где в файле существенные изменения.
Согласен, думаю мы сможем это поправить: youtrack.jetbrains.com/issue/IDEA-147637
sabio
09.11.2015 13:46IDEA-147636 — Use the gutter color for «whitespace-only changes» scrollbar stripe
ruslanys
09.11.2015 15:13+5Куда делась сова из заставки? :(
Она была очень клевой.
Prototik
09.11.2015 19:25Кроме того, в IntelliJ IDEA 15 появилась долгожданная поддержка Grails 3.
А стоит ли ждать поддержки Griffon 2 в ближайшем (обозримом) будущем?
lostmsu
09.11.2015 20:40+3Зря не написали про поддержку Hi DPI на Windows. Это то, из-за чего я поставил EAP.
Tab10id
09.11.2015 20:50Предпросмотр в поиске по файлам отлично получился, скорость работы великолепная, практически всегда его достаточно для нахождения нужного фрагмента.
pesh1983
10.11.2015 08:54Вы пишете, что теперь среда доступна по подписке, и ниже сразу же указываете «теперь вы можете купить») Тогда уж не купить, а арендовать, не путайте людей пожалуйста)
andreycheptsov
10.11.2015 16:42+2Не хочется разводить флейм в который раз, но вообще-то купить, т.к. подписка подразумевает получение перманентной лицензии версии актуальной на момент покупки.
chaetal
10.11.2015 10:28+1(особенно по поводу Отладчика): еще лет 20 и, наконец, Smalltalk будет снова изобретен! :)
VYakushev
10.11.2015 16:07Когда будет восстановлен режим Pinned Mode? Уж очень неудобно без него.
andreycheptsov
10.11.2015 16:41Очень вероятно, что это будет пофикшено в 15.0.1. Подробнее тут: youtrack.jetbrains.com/issue/IDEA-146684
zorro1211
14.11.2015 18:15Скажите, а можно ли вот эту проблему с pinned mode тоже пофиксить? youtrack.jetbrains.com/issue/PY-16380 Проблема выражается в отсутствии pinned mode.
VYakushev
10.11.2015 17:01Кстати, поиск дубликатов в коде работает для меня странно. Он мне отметил как дубликаты два куска кода, состоящие из четырех строк в блоке try...catch. При этом в самом try было всего две строки в каждом куске и похожей была только одна из них. А catch у обоих была запись ошибки в лог и оператор return. Даже, если сделать под эти два куска кода метод с возвратом флага успешного выполнения, то строк получится в коде больше.
nicity
11.11.2015 02:32Для квалифицированного ответа нам нужны подробности в багтрекере. Заранее благодарны!
SerJook
12.11.2015 16:22Почему в Community Edition перестала подхватываться Android SDK (Ubuntu). Хочу добавить SDK в проект… а его нет в списке.
Так и должно быть?
Вручную добавляю SDK, оно там что-то индексирует, но навигация в коде не работает.
Откатился на 14 версию :(((( Хнык-хнык
xGromMx
А будет ли поддержка дебагинга лямбд в javascript?
Develar
Не могли бы написать задачу в https://youtrack.jetbrains.com/ c примером кода? Насколько я понимаю, в JS не очень компактная запись функций, вы пишете на чистом JS или Typescript?
xGromMx
В nodejs можно полноценно использовать стрелочные функции.
Fesor
Да как бы даже не потенциально, Node4 поддерживает уже это все, на подходе Node5.
xGromMx
Node 5 зарелизили давно =) 4 у них LTS
TheShock
полноценно, а не потенциально =)