Для тех, кто не участвует в EAP, это возможность познакомиться с новой версией. Для нас это возможность рассказать о том, над чем мы работали в последнее время.
Во-первых, продолжая адаптировать IDE к Java 8, мы улучшили взаимодействие дебаггера с лямбда выражениями. Теперь при установке брейкпоинта вы можете указать не всю строку, а конкретное лямбда выражение, которое в ней содержится. Точно также вы можете применять Run to cursor по отношению конкретному лямбда выражению вне зависимости от того, на какой строке оно находится. И наконец если вы вызываете Step Into, IDE предложит перейти к лямбда выражению, являющемуся параметром.
Кроме того в дебаггер был добавлен экшн Force return, который позволяет прервать исполнение текущего метода и вернуть выбранное вами значение. Это удобно, если вы хотите поменять логику выполнения кода в целях отладки.
Во-вторых, недавние улучшения алгоритма индексации позволили реализовать инспекцию для мгновенного обнаружения дубликатов кода. Теперь если напишете или скопируете код, уже содержащийся в другой части проекта, IDE сразу же вам об этом сообщит и покажет совпадения. Чтобы сделать инспекцию ненавязчивой, мы показываем только совпадения длиннее 5-ти строк.
Интерфейс также подвергся изменениям. Run configurations теперь имеют индикаторы состояния. Если конфигурация типа Single instance only, кнопка Run будет выглядеть как Restart.
Гаттер теперь позволяет запускать приложения и тесты. Более того, для тестов, он теперь умеет отображать результаты последнего запуска.
Появилась возможность скрывать ненужные Tool windows не отключая при этом плагин. Для этого достаточно выбрать пункт Remove from Sidebar в меню соответствующего Tool window.
Функция поиска текста также стала удобнее. Когда вы вызываете Find in Path, теперь IDE умеет отображать результаты мгновенно в закладке Preview. Это позволяет тратить меньше времени на переход в окно поиска и обратно.
Rebase стала полноценной операцией и доступна в меню Branches, унаследовав синхронные операции над несколькими репозиториями, автоматический стешинг (stashing) локальных изменений и резолв конфликтов. Само меню Branches стало доступно из закладки Log.
При нажатии на гаттер, IDE теперь выделяет изменения отдельных частей строки. Также гаттер научился отличать изменения whitespace от других изменений: грязно-желтый цвет вместо синего.
Во время операции по резолву конфликтов теперь можно пользоваться командой Undo. В Diff viewer был добавлен экшн Annotate.
Пользователи Mercurial получили инструменты для работы с патчами. Пользователи Perforce получили возможность хранить локальные изменения на сервере Perforce: операция Shelve in Perforce.
Плагин для работы с Docker улучшился за счет удобного редактирования настроек контейнера; быстрого создания контейнера для выбранного имаджа; и поддержки Docker Toolbox.
Мы поддержали новые возможности добавленные в Spring 4.2: @Bean на дэфолтных методах в интерфейсах; @Import для обычных классов; аннотации @EventListener, @AliasFor, и @ContextConfiguration.
Улучшена поддержка Spring Boot проектов: добавлены подсказки в application.yml и additional-spring-configuration-metadata.json файлах; добавлена автоматическая настройка фасета на основе аннотаций; улучшено создание проектов через Spring Initializr.
Для Arquillian мы добавили возможность конфигурации контейнеров. Затем контейнер можно указать при запуске тестов.
В Scala плагине были добавлены поддержка SAM (single abstract method); интеншн для развертывания макросов; Postfix комплишн; Inline рефакторинг дла Type aliases; а также распознавание динамических имен тестов (например “test(variable)” или “test(stringExpression)”).
Язык Kotlin, разрабатываемый в недрах JetBrains, приближается к скорому релизу, внося последние важные изменения в синтаксис, совместимость с Java, и поддержку IDE. Результатом этой работы стало то, что плагин для Kotlin теперь поставляется вместе с IDE. Для тех, кто не знаком с Kotlin, а также тех, кто давно не интересовался им, это прекрасная возможность исправить это. Подробнее о последних изменениях можно прочитать в блоге Kotlin.
Работая над Kotlin и Scala мы не забываем и про Groovy. Для него мы добавили поддержку Builder AST трансформации.
Фронтенд разработчики, использующие React, будут рады узнать об улучшенной поддержке в JSX файлах: добавлены комплишн, инспекшны, Surround with экшн, и навигация.
Также добавлена поддержка новых языковых конструкций TypeScript 1.6 и некоторые EcmaScript 7 (например async/await).
Не секрет, что JetBrains трудится над новой IDE для работы с SQL и базами данных. Поскольку IntellIJ IDEA включает этот функционал, стоит упомянуть его улучшения. Главным из них является нативная и быстрая интроспекция: получение информации об объектах базы данных с учетом специфики неучтенной в JDBC драйверах. Также появился удобный редактор таблиц, и возможность смотреть Execute plan для запросов.
Кроме прочего превью включает изменения Android Studio 1.3, включая Android Memory (HPROF) Viewer и Allocation Tracker.
Буду рад ответить на любые вопросы!
Комментарии (49)
itspers
02.10.2015 17:24+2Немного не в тему, но есть ли в текущих стабильных версиях какие-либо актуальные ключи для принудительного НЕ включения дискретной графики на макбуках?
Что-то типа devnet.jetbrains.com/message/5509880andreycheptsov
02.10.2015 17:52Вообще проблем не должно наблюдаться. Если у вас что-то такое было, то напишите продукт и версию.
itspers
02.10.2015 18:08+1Так с точки зрения OS и IDE проблем и не наблюдается. Запускается джава-приложение, рендерит в OpenGL и ему включается GPU.
У меня вот запущен PhpStrom версии 141.24_62, я пробовал на всякий случай ему ставить ключи и той ссылки, что я писал вверху — но он не реагирует (особо и не надеялся — топик старый, но лучше не нашел). А с постоянно включенным радеоном бедняга переводит батарею в тепло за 4 часа. Поэтому я поставил программку, которая принудительно позволяет переключать на интергрированное видео. Жить можно, но на всякий случай решил спросить, может есть какой-то современный ключ для конфига…
Darthman
02.10.2015 17:35-2Можно вопрос человека, не использовавшего никогда эту IDE, но постоянно на неё посматривающего?
А тёмная тема для IDE есть? Я вот не люблю жирные ключевые слова и белый фон, у меня от такого быстро глаза болеть начинают.andreycheptsov
02.10.2015 17:45+1Можно посмотреть например здесь: www.jetbrains.com/idea/features/darcula_retina.html
TachikomaGT
02.10.2015 18:17Классная страница. Жаль только что ещё далеко не все иконки стандартных плагинов, в том числе и достаточно распространённых, таких как maven, grails или testNG адаптированы под retina.
andreycheptsov
02.10.2015 19:19Вообще страница старая, в IDE уже почти все обновлено.
yarg
05.10.2015 08:52+2А ещё есть замечательный сайт с сотней тёмных (и сотней светлых) тем: ideacolorthemes.org
calx
02.10.2015 17:51+6Есть какой-то шанс, что под линуксом когда-нибудь появится нативный рендеринг шрифтов?
stalk
02.10.2015 18:40+13Да. Для этого мы наладили выпуск собственной JRE, построенной на базе OpenJDK. Там у нас есть возможность фиксить проблемы рендеринга без участия Oracle. Мы постараемся открыть доступ к сборке под линукс для особо нуждающихся, чтобы собрать фидбек. В ближайший релиз мы не успеем всё протестировать, чтобы гарантировать качество на всех Линуксах.
boblenin
03.10.2015 23:07+1Есть ли хотя бы какая-то фича, о которой вас спрашивают и она не в процессе или не готова? :)
BaRoN
06.10.2015 17:17Я сам зрячий, но предположу, что с Voiceover всё не так радужно :-)
А для видящих — отличное IDE :)stalk
09.10.2015 19:23+2Чтобы не быть голословным:
1. Это сравнение шрифтов в NetBeans (красное подчёркивание) и в идее с нашей новой прокаченой JRE.
drive.google.com/a/stalk.ru/file/d/0B8b1GSZZalvKRHFDS3g1T0YxUmc/view
2. С Voiceover не всё так гладко, но мы сейчас его делаем вместе ребятами из Гугла. Пруф.
tools.android.com/tech-docs/accessibility/editor
android-review.googlesource.com/#/c/136471
Про людей без конечностей мы уже начали думать www.youtube.com/watch?v=eARvFI7hm40 (это один из участников Хакатона 2015)
Lol4t0
02.10.2015 23:28Да вроде он и сейчас нормальный, нет?
calx
02.10.2015 23:40Увы, нет. Вот, например, Consolas 13 в Sublime и в IDEA:
https://habrastorage.org/files/b98/4d5/7ca/b984d57ca08b4b50b998a4c3b56d41c5.pngLol4t0
02.10.2015 23:45Попробуйте прост понднстроить рендеринг. У меня не наблюдается такой разницы
(На фоне — idea)calx
03.10.2015 00:03+1Что вы имеете в виду под «поднастроить»? У вас на скриншоте видна разница, правда не такая бросающаяся в глаза, как у меня, да.
Antialiasing для JVM переменными окружения я ставил, но это имеет лишь некоторый позитивный эффект. Я изготовил шрифт Consolas без hinting и он выглядит несколько лучше, но имеются другие косяки, а именно некоторые штрихи стали непропорционально толще. В Ubuntu рендеринг шрифтов патченный, а у меня Arch. Ставил Infinality. Всё равно не то.
Все программы, включая Sublime, Eclipse и прочие, рендерят шрифты одинаково и только в IDEA у меня что-то иное. Из-за этого и не пользуюсь этой, во всех остальных отношениях замечательной, IDE. Это такая странная тема, я согласен. Коллеги недоумённо качают головой, когда я пытаюсь показать им в чём разница и почему я сижу в Sublime. Но она есть и я не могу её не замечать.Lol4t0
03.10.2015 00:25Отличается начертание самого шрифта — потому что это разные шрифты — но я бы не сказал, что один шрифт хуже или лучше второго, и что один рендерится хуже или лучше второго
calx
03.10.2015 00:33+4Ну что вы меня обманываете? :( Мой пойнт в том, что один и тот же шрифт рендерится по-разному там и здесь.
Lol4t0
03.10.2015 00:39А мой в том — что и в idea рендерится хорошо :)
Мне как-то больше важно, чтобы смотрелся хорошо, а не конкретное начертание.
Ну и если честно, то я и сам забыл, что шрифты отличаются. в Idea — source code pro
MaximChistov
02.10.2015 19:59Оффтоп: никто не подскажет, как включить отображение табов стрелками в идее под виндовс? Не смог найти :(
stalk
02.10.2015 21:27+2Сначала так screencast.com/t/FrxQ0nxqNb61 потом так screencast.com/t/0ygCkHrlnycm для определённого языка
MaximChistov
02.10.2015 23:47спасибо :)
grossws
03.10.2015 01:05Второе не нужно, кроме того случая, если вы хотите при нажатии tab вставлять \t, а не соответствующее количество пробелов.
Azy
04.10.2015 08:04+2Про zero-latency typing забыли
blog.jetbrains.com/idea/2015/08/experimental-zero-latency-typing-in-intellij-idea-15-eap
vba
05.10.2015 10:34Добрый день,
Скажите пожалуйста, планируете ли вы добавить в IDEA решения типа Continuous Testing, на подобие того что команда из R# добавит в DotCover след версии? Заранее благодарен за информацию.
grossws
06.10.2015 17:20Потыркал в editor.zero.latency.typing и не заметил улучшения. В scala-проекте субъективно есть даже ухудшение latency. FYI, используется IdeaVim plugin.
pltnkv
07.10.2015 13:27Aвтоимпорты в TypeScript это мега-круто, но хотелось бы чтобы они работали с абсолютными путями.
Нужна возможность указать корневую директорию src, относительно которой строился бы абсолютный путь.
Как сейчас:
import CanvasContextMenu = require("../../../commons/contextmenu/CanvasContextMenu");
Как хочется:
import CanvasContextMenu = require(«application/canvas/commons/contextmenu/CanvasContextMenu»)
Googolplex
Дебаг лямбда-выражений по отдельности — это очень круто, но очень хотелось бы такое получить в Scala-плагине для анонимных функций. Это одна из немногих вещей, отсутствие которой делает дебаг сложных выражений со многими функциями высшего порядка очень неудобным. Планируется ли что-то такое?
andreycheptsov
Для Scala это теперь тоже работает.
Googolplex
Потрясающе!
divor
а Kotlin?
andreycheptsov
Да, для Kotlin тоже работает.
Для Groovy еще в процессе: youtrack.jetbrains.com/issue/IDEA-145578