Привет!
Вместе с хорошим известием для Северного полушария, что продолжительность светлого времени суток увеличилась, мы хотим рассказать о релизе IntelliJ IDEA 13.1, случившемся на этой неделе. Но перед рассказом о новинках хотелось бы отметить еще одно, весьма ожидаемое всем Java-cообществом, событие…
Конечно же релиз Java 8. В версии 13.1 мы обеспечили полную поддержку Java 8, поэтому вы можете полноценно работать с последней редакцией языка уже сейчас, в знакомой для вас IDE.
JAVA 8
Внимательный читатель мог заметить, что уже в предыдущих версиях IntelliJ IDEA осуществлялась “предварительная” поддержка Java 8. Например, уже в 13 версии была добавлена поддержка отладки проектов, в которых используются анонимные классы и лямбда-функции.
Теперь новые инспекции и автодополнение кода позволят в полной мере эффективно работать с Java 8. Рассмотрим на примере, как с помощью новых инспекций можно быстро перевести ваш код на новый Stream API:
IDE помогает определить – какой именно метод используется для вашего лямбда-выражения, с помощью нажатия на значок интерфейса в левом поле редактора.
Если вы хотите сделать соответствующие правки в более, чем одном месте вашего проекта, то можно запустить соответствующую инспекцию (“foreach loop can be collapsed with stream api”) на всем проекте (или в другом заданном контексте) через Analyze → Run inspection by Name.
MULTIPLE SELECTIONS
Одной из важных фич, которую мы добавили в последние версии IntelliJ-based IDE, стала функция множественного выделения (известная как Multiple Selection, Multi Carets и Multiple Cursors). Multiple Selection позволяет вносить правки в код в нескольких местах одновременно, похожая функция на сегодняшний день есть в Submlime Text и некоторых других редакторах.
Как это работает:
- Добавить/удалить выделение: Alt + Shift + Mouse Click
- Выделить/отменить выделение следующего совпадения: Alt + J / Shift + Alt + J (Ctrl + G / Shift + Ctrl + G) для Mac OS X)
- Выбрать все совпадения: Shift + Ctrl + Alt + J (Ctrl + Cmd + G для Mac OS X)
- Клонировать курсор выше/ниже (горячие клавиши еще не назначены)
- Удалить все выделения: Esc
Multiple selection отлично работает с другими возможностями редактирования кода IntelliJ IDEA: Code completion, Select word at caret, Join lines, Copy/paste, и другими:
Именно эта фича набрала наибольшее количество голосов в нашем треккере.
POSTFIX CODE COMPLETION
Другой важной возможностью, появившейся в версии 13.1, является постфиксное автодополнение кода или postfix code completion. С его помощью вы можете заменять одно выражение (которое вы уже ввели) на другое в зависимости от добавляемого вами постфикса. Функция полезна именно в том случае, если вы уже что-то ввели и теперь хотели бы изменить это выражение, не возвращаясь и не изменяя код.
Например, если к логическому выражению добавить постфикс “.if”, то оно автоматически будет обернуто оператором ветвления if, и курсор переместится в тело оператора. Аналогичным образом “.notnull” оборачивается конструкцией с проверкой на значение null.
Таким образом postfix completion позволяет в меньших случаях перемещать курсор в обратном направлении, сохраняя ваше время.
NASHORN DEBUGGER
Для тех, кто планирует использовать runtime Nashorn (о том, что это такое можно почитать в других хабростатьях) для запуска JavaScript в своих приложениях, будет полезным узнать о новых возможностях отладчика IntelliJ IDEA. Теперь можно ставить брейкпоинты и перемещаться между ними, даже если вы отметили строки в JavaScript. Кроме того, если JavaScript ссылается на объект из Java, отладчик будет перемещаться в Java-код и обратно в скрипт в зависимости от последовательности кода и выставленных брейкпоинтов:
Более подробно про отладку проектов с JDK8’s Nashorn JavaScript можно прочитать в нашем блогпосте.
CHRONON “BACK-IN-TIME” JAVA DEBUGGER
IntelliJ IDEA 13.1 Ultimate edition обзавелась еще одним очень полезным плагином для интеграции с Сhronon. С его помощью можно записывать историю выполнения программы, и затем очень удобно ее просматривать, перемещаясь по коду и просматривая значения полей в каждый момент вызова конкретного метода. Это делает процесс поиска “сложных” багов более эффективным:
Chronon является коммерческим продуктом. Однако пользователи IntelliJ IDEA Ultimate могут пользоваться им совершенно бесплатно в IDE. Как добавить плагин и о подробностях его использования можно прочитать здесь.
ANGULAR-JS, SPY-JS, LIVE CONSOLE
AngularJS
В последней версии IntelliJ IDEA мы также расширили поддержку фреймворка AngularJS.
- Была добавлена поддержка автодополнения имен директив (directives), контроллеров (controller) и приложений, а также code insight для данных, размещенных внутри фигурных скобок.
- Angular-specific navigation позволяет легко перемещаться от имени контроллера в HTML к его определению в Javascript, или от ngView или $routeProvider к его темплейтам.
- Теперь можно вызвать AngularJS документацию для директив прямо из редактора.
Spy-JS
Spy-JS — это мощный инструмент для трассировки JavaScript. С помощью него можно просматривать полный список событий, открывать дерево вызовов и подсвеченный путь выполнения кода. Вы также можете просматривать stack trace для выделенного участка кода, фильтровать скрипты и события, следить за производительностью кода. Spy-JS приспособлен для работы на любых стационарных и мобильных браузерах, позволяет эффективно профилировать и отлаживать код.
Более подробно про SPY-JS можно почитать в хабростатье.
Live Console
С сonsole читатель скорее всего знаком по работе с отладкой в браузере, однако теперь эта фича доступна и в IDE во время отладки веб-страницы. В консоли вы можете исполнять команд и запускать JavaScript.
WHAT ELSE?
- Улучшилась производительность для проектов на фреймворке Spring, которые используют большие объемы XML. (Ultimate Edition)
- Добавлены улучшения в системы контроля версий: Amend commit для Merсurial, 2х этапная аутентификация в GitHub, улучшенные Log и Diff viewer.
- Отладка приложений, запущенных на OpenShift (Ultimate Edition).
Более подробно со списком новых возможностей можно ознакомиться на странице www.jetbrains.com/idea/whatsnew/index.html
Скачать новую версию можно — сами знаете где: http://www.jetbrains.com/idea/download/
Программируйте с удовольствием!
Автор: beenom