Компания
324,19
рейтинг
5 ноября 2014 в 16:34

Разработка → Встречайте, IntelliJ IDEA 14 уже здесь

Закончились праздники и выходные, но не поводы радоваться. Что может быть приятнее, чем узнать о долгожданном обновлении любимой Java IDE? Мы с нетерпением ждали четыре долгих дня, чтобы удивить вас этим приятным сюрпризом. Встречайте IntelliJ IDEA 14!

image

Рассказывая о том, чем мы занимались большую часть года, мы всякий раз переживаем и волнуемся. Каждая новая версия IntelliJ IDEA поднимает планку всеобщих ожиданий. И все-таки каждое обновление — еще один шанс для нас доказать, что совершенству нет предела. Удалось ли на этот раз — судить вам!

Декомпилятор
Чтобы избавить пользователей от необходимости устанавливать дополнительные плагины, в инструментарий IDE был добавлен декомпилятор для Java-классов. Теперь посмотреть код библиотеки можно, даже если у вас нет исходников.

Отладчик
В новой версии значительно улучшен Java-отладчик. Одно из главных нововведений — опция «Show values in Editor», позволяющая видеть значения переменных во время отладки прямо в редакторе, в контексте их использования.

image

Кроме того, теперь для каждого экземпляра вы можете посмотреть список всех ссылающихся на него объектов: с помощью новой команды “Show referring objects”.

image

Еще одним улучшением является вычисление выражений, содержащих лямбды и анонимные классы. Это особенно пригодится тем, кто уже перешел (или планирует перейти) на Java 8.

image

Стоит отметить, что это работает как для Java, так и для Scala.

Редактор кода
Также ряд улучшений коснулся и редактора кода, где разработчик проводит (или, как минимум, должен проводить) большую часть своего времени. Теперь при нажатии клавиши Backspace IDE самостоятельно удаляет отступы в соответствии с настройками форматирования и перемещает курсор в нужное место, беря на себя еще одну мелкую обязанность и освобождая от нее вас.

image

Еще одним улучшением редактора является автоматическое обнаружение настроек форматирования в редактируемом файле на лету. То есть, если настройки форматирования в файле отличаются от тех, что выбраны в IDE, оригинальное форматирование файла будет сохранено даже при редактировании.

image

Также в редакторе появилась новая функция «Scratch files». Эта функция открывает новую вкладку, не связанную ни с одним файлом в проекте. При редактирования содержания вкладки IDE будет предлагать помощь (coding assistance) в соответствии с типом файла (выбранным при открытии вкладки). Одновременно вы можете открыть любое число таких вкладок и переключаться между ними командой «Recent files».

image

Множественное выделение
Функция «множественное выделение» (multiple selections), появившаяся не так давно, также была переработана. Дополнение кода теперь включает варианты с учетом всех позиций курсора; функция работает также для встроенных языков (injected languages); обеспечивается правильно поведение функции при копировании, вставке, удалении строк, комментировании и т. п.

Кроме того, добавились новые сочетания клавиш, что значительно упростило работу с этой функцией:

  • Клонировать выделение (Clone caret): двойное нажатие Ctrl и затем, удерживая Ctrl, стрелки вверх или вниз (Cmd для OS X);
  • Следующее совпадение (Add Selection to Next Occurrence): Alt+G (Ctrl-G для OS X)
  • Убрать выделение (Unselect Occurrence): Shift+Alt+G (Shift-Cmd-G для OS X)
  • Выделить все (Select All Occurrence): Ctrl+Alt+Shift+J (Ctrl-Shift-G для OS X)
  • Пропустить совпадение (Next Occurrence): Alt+G (Cmd-G для OS X)


Копирование кода в HTML/RTF
Теперь при копировании кода в любой HTML/RTF-редактор сохраняется внешний вид и форматирование кода, и, что самое важное, для этого не требуется никаких дополнительных плагинов.

image

Поиск по файлам проекта (Find in path) стал быстрее за счет добавленных оптимизаций. Также появилась возможность пропускать совпадения в комментариях и текстовых выражениях.

image

Анализ кода
Статический анализ кода (code analysis), представленный в IntelliJ IDEA инспекциями, пополнился новой очень мощной функцией, а именно выводом NotNull, Nullable и Contract аннотаций из байткода подключенных библиотек. Это значит, что теперь вам необязательно прописывать аннотации NotNull, Nullable и Contract самостоятельно — IDE cделает это автоматически при подключении библиотеки!

image

Системы сборки
Интеграция с системами сборки, такими как Maven и Gradle, также претерпела ряд положительных изменений: при запуске тестовых задач Gradle IDE теперь отображает стандартное окно выполнения тестов, позволяющее видеть результаты в удобном виде, а также перезапускать или отлаживать тесты по выбору.

image

Кроме того, теперь вы можете указывать задачу Gradle в поле «Before the launch» в конфигурациях запуска (run configurations).

Интеграция с Maven получила улучшенную поддержку профайлов и автоматическую генерацию MANIFEST.MF файла.

Системы контроля версий
Интеграция с системами контроля версий продолжает развиваться, главным образом, для Git и Mercurial. Журнал изменений (вкладка Log в окне Changes) стал еще быстрее, графы стали отображаться даже при использования фильтра, а в журнале появилась новая команда «Git reset from the log».

image

Также для Git и Mercurial был переделан Push-диалог: теперь он содержит дополнительную информацию об исходящих изменениях, сгруппированную по репозиториям, с возможностью выбора изменений, которые вы хотите отправить. Опция «Force push» доступна из выпадающего меню кнопки Push.

image

Отдельно по Mercurial стоит отметить добавленную поддержку Subrepositories, а также синхронное управление ветками, ранее доступное только для Git.

image

JavaFX
Разработчики десктопных приложений будет рады узнать, что JavaFX Scene Builder теперь доступен прямо из IDE. Теперь для редактирования формы в визуальном редакторе необязательно переключаться из IDE в Scene Builder — достаточно перейти на другую вкладку в редактируемом файле.

image

Фреймворки
Поддержка фреймворков и серверов приложений обновлена в соответствии с последними версиями. В частности, добавлена поддержка Super Dev Mode для GWT, вместе с улучшенной интеграцией с Source Maps и новой опцией в конфигурации, автоматически запускающей сеанс отладки JavaScript.

image

Также ряды поддерживаемых фреймворков пополнились Thymeleaf. Работает дополнение кода, навигация (navigation to declaration), переименование (рефакторинг Rename), поиск вхождений (Find Usages), анализ кода и др. Поддержка распрастраняется не только на файлы шаблонов, но и на контроллеры.

image

Scala
Scala-разработчики также не будут разочарованы, их ждет много приятных изменений. Во-первых, мы наконец отказались от Scala Facet для конфигурации Scala-проекта, заменив ее на расширенные настройки Scala-библиотеки: (которые теперь, кроме путей к библиотекам, содержат также путь и версию компилятора):

image

Поддержка фреймворка Play 2.x стала частью основного Scala-плагина (и по-прежнему доступна только в IntelliJ IDEA Ultimate).

Появилась возможность менять сигнатуру методов с помощью встроенного рефакторинга «Change signature»:

image

Продолжая тему интеграции с системами сборки, стоит отметить улучшенную поддержку SBT:

  • Дополнение (code completion) для SBT keys и зависимостей
  • Quick documentation для SBT keys
  • Шаблон (live template) “dep” для объявления зависимостей
  • Проверка правильности указания зависимостей (с учетом указанных репозиториев)
  • Поддержка android-sbt-plugin плагина
  • Инспекция, предлагающая заменить Project() на project.in(), где это возможно
  • Навигация в подпроекты (subprojects) с помощью Ctrl + клик (Cmd + клик для OS X)


Кроме того были добавлены новые инспекции и, конечно же, улучшена производительность.

Android
Если вы разрабатываете для Android, то будете рады узнать, что все самые последние функции, добавленные командой Google в Android Studio (находящуюся пока еще в стадии Beta), уже доступны в IntelliJ IDEA. Это включает в себя поддержку Android Wear и TV. Подробнее о нововведениях можно узнать на официальной странице Android Studio.

image

Веб-разработка
Все нововведения для веб-разработки, представленные не так давно в WebStorm 9, теперь также есть и в IntelliJ IDEA 14:

  • Постфиксное дополнение для JavaScript
  • Интеграция с Gulp: просмотр, запуск и отладка задач
  • Улучшенная поддержка spy-js для трассировки (tracing) и профилирования Node.js приложений
  • Загрузка изменений (live edit) для запущенного Node.js приложения
  • Плагины для полноценной разработки Meteor и PhoneGap/Cordova/Ionic приложений


Работа с базами данных
И, наконец, обновились инструменты для работы с базами данных и SQL, а точнее унаследовали обновление от 0xDBE, нашей новой IDE, все еще находящейся в разработке. Обновления включают:

  • Улучшенный редактор таблиц и результатов запросов: обнаружение картинок в полях BLOB
  • Команды Quick Value и Quick Documentation теперь объединены вместе и показывают примерное кол-во записей в таблице
  • Подробная информация об ошибке в запросе в окне Event Log
  • Настраиваемое поле Auto-Commit
  • Выполнение больших SQL-файлов
  • Опция Auto Increment в диалоге создания колонки и таблицы
  • Команда Navigate to Table/Procedure
  • Поддержка Integrated Windows Authentication для SQL Server


Получить еще более подробную информацию об IntelliJ IDEA 14, а также скачать IDE вы можете на официальной странице релиза.

Программируйте с удовольствием!
Автор: @andreycheptsov
JetBrains
рейтинг 324,19

Комментарии (191)

  • НЛО прилетело и опубликовало эту надпись здесь
    • 0
      А я ее не для java использую. Она же полиглот. Сейчас в ней пишу на php/js/ruby, заменяет phpstorm/webstorm/rubymine…
      • 0
        [deleted]

        * для тех, кто успел прочитать — отвалились плагины из списочка, но не все — некоторые просто надо обновить.
  • +3
    Супер! Поддержки CQL еще нет?
    • 0
      Пока нет, а там посмотрим.
  • 0
    Подскажите для установки на Linux можно ли использовать Oracle JDK 8?
    На www.jetbrains.com/idea/download/ указана поддержка 6 и 7 версии.
    • 0
      на Windows я сижу и пишу под jdk 8, под Linux думаю все тоже норм будет.
      • 0
        Ну то что под Windows работает я и не сомневался, сам так пробовал, а вот на Linux перешел недавно, и пока не очень много времени для экспериментов.
        • 0
          Можно. У меня на 14.04 работает под 1.8_25.
        • 0
          Работает на

          java version «1.8.0_25»
          Java(TM) SE Runtime Environment (build 1.8.0_25-b17)
          Java HotSpot(TM) 64-Bit Server VM (build 25.25-b02, mixed mode)
    • 0
      Будут проблемы с UI. Лучше остаться на 7.
      • +2
        Как раз нет. В java 8u25, которая доступна сейчас, проблем с UI с разы меньше чем на 7ке.
    • +5
      Да, для Windows и Linux можно использовать Java 6, 7 и 8. А для OS X рекомендуется использовать Java 6.
      Страницу www.jetbrains.com/idea/download/ сейчас поправим.
      • 0
        Спасибо!
      • 0
        Будет ли возможность добавлять свои postfix для javascript?
        • 0
          Да, есть такие планы.
          • 0
            также было бы не плохо писать цепочки постфиксов, например:

            var a = {key: value};

            a.typeof.log => console.log(typeof a);
            • 0
              Но ведь всегда можно написать a.typeof нажать [tab] потом написать .log и снова нажать [tab]. Чем такой вариант не устаивает? :)
              • 0
                Это был как пример, вообще просто интересует цепочная запись постфиксов =)
      • 0
        А почему такая дискриминация OS X? (Надоело после каждой установки править файл: 1.6* -> 1.6+)
        • 0
          Java 1.6 по-прежнему самая надежная пока для OS X, чего не скажешь о Java 1.7 и 1.8. Но мы надеемся, что это измениться в самое ближайшее время.
          • 0
            Она же дико дырявая и уже даже Эппл рекомендует скачивать последнюю версию Java с оффсайта. Я именно поэтому не купил грейд с 12-ой на 13-ю (и видимо уже не куплю на 14-ю) версию вашего софта (т.к. в свое время ваша техподдержка сказала тоже самое, мол используйте 1.6). Все пытаюсь переползти обратно на Эклипс.
            • +1
              Вот список проблем, которые присутствуют в Java 7/8 для OS X. Поверьте, мы стараемся вместе с Oracle их исправить, но рекомендовать всем пользователям использовать 7/8 в их текущем состоянии просто нельзя.
              • НЛО прилетело и опубликовало эту надпись здесь
                • +1
                  Это замечательно :)
                  Но в то же время, есть достаточно пользователей, которые испытывают проблемы, чтобы мы не включали 8 по умолчанию. Например, люди с retina (hey, stalk) не заметят проблем с антиалиасингом, но покупка retina не всегда возможный выход для остальных.
                  • НЛО прилетело и опубликовало эту надпись здесь
                    • 0
                      В 7 проблем еще больше, чем в 8. Yosemite очевидно важнее исправления безопасности в апплетах, чем многие другие проблемы, хотя бы потому, что Apple пользовательский софт на Java не пишет. Если что, то в случае установки 6, Java-плагин для браузера по умолчанию выключен.
                  • НЛО прилетело и опубликовало эту надпись здесь
                    • 0
                      Менее 30% пользователей используют rMBP. Остальные страдают от IDEA-117324, например
                      • НЛО прилетело и опубликовало эту надпись здесь
                        • 0
                          Пользователь смог поставить java 6 — это решение проблемы с фонтами в настоящий момент, есть ещё некоторый workaround для java 7/8 с использованием более жирных фонтов
                      • НЛО прилетело и опубликовало эту надпись здесь
                        • НЛО прилетело и опубликовало эту надпись здесь
                    • +1
                      Имхо, проблема с отсутствием антилайзинга у 100% пользователей уже достаточна.

                      Недавно настроил запуск на JDK 1.8, так как один из плагинов требует Java 1.7+ — особых проблем не заметил, но, блин, шрифты постоянно в глаза бросаются, а разглядывание кода — это все-таки большой процент времени работы с IDE.
                      • 0
                        На виндовсе проблемы нету, на линуксе давно и успешно решается прописыванием магических переменных окружения.
                        Думается, что и с OS X так же можно поступить.

                        Например, рекмоендуется:
                        export _JAVA_OPTIONS='-Dawt.useSystemAAFontSettings=lcd -Dswing.aatext=true -Dswing.defaultlaf=com.sun.java.swing.plaf.gtk.GTKLookAndFeel'
                        


                        Вот тут написано много буков по поводу рендеринга шрифтов.

                        К сожалению, при установке _JAVA_OPTIONS будет сыпаться при запуске любой java-программы всякая ругань в STDERR, что иногда не желательно. Подробнее.
            • 0
              Я более полугода сижу на идее с 8й джавой на маке. Рекомендую 8u25 или вообще eap 8u40
              • 0
                12-ю версию под 7 и 8 мне завести так и не удалось.
                Info.plist модифил, не помогает. Саппорт сказал «ставьте 6-ю и не ### мозг».
                • 0
                  речь только про 14ю версию. Помимо идеи и непосредственно виртуальной машины есть такая штука как нативный ланчер, в котором происходило много изменений за эти два года.
                  • 0
                    Хм, ясно, спасибо за инфу. Попробую свежий триальник поковырять еще.
                    По поводу «много изменений» — дело в том, что 12-я отлично работает под 7/8 в винде.
    • 0
      Не обновили информацию наверное — сама IDE УЖЕ содержит в себе JRE8, если вы про это.
      • +3
        упс. забыл, что под Linux JRE не «изкоропки».
  • 0
    Клонировать выделение (Clone caret): двойное нажатие Ctrl и затем, удерживая Ctrl, стрелки вверх или вниз (Cmd для OS X);

    Вот за это отдельное спасибо! Проверил, это удобнее, чем нажимать Alt+Shift+Fn+Insert (по которым ещё надо попасть) на ноутбуке для перехода в режим выделения колонок.
    Но есть недостатки: нажимаю Ctrl, Ctrl+стрелки и начинаю выделение, нажимаю End для перехода в конец строки, и в результате оказываюсь в конце файла со сброшенным выделением. Оказывается, перед тем как нажать End, надо было нажать Shift, отпустить Ctrl, и после этого нажимать End, чтобы все курсоры перешли в конец строки.
    Хотелось бы чего-то более интуитивно понятного. Ясно, что в данном случае срабатывает Ctrl+End для перехода в конец файла, но я-то нахожусь в контексте выделения, и для меня Ctrl выполняет роль Shift.
    • 0
      Думаю, это можно будет сделать, спасибо за совет. Еще подумаем.
    • 0
      А я себе на Alt+Shift+Up/Down забиндил и горя не знаю.

      Да, на них же висели «Move line up/down», но я всё равно обычно пользуюсь «Move statement up/down» (Ctrl+Shift+Up/Down)
      • 0
        Пытался раньше сделать также, но у этого подхода были свои недостатки (см. здесь пункт 2), теперь всё работает как надо.
  • 0
    Спасибо! А будет ли плагин разработки под Android обновляться только с мажорными версиями Idea или он будет обновляться отдельно с каждым обновлением Android Studio?
    • 0
      Изменения из Android Studio регулярно попадают в код и в обвноления IntelliJ IDE, даже минорные).
      • 0
        Просто некоторое время назад (около месяца) столкнулся с тем, что проект android-приложения, собираемый Gradle с одним и тем же Android SDK, сыпет ошибками и не собирается в Idea, но стабильно собирается и работает в Android Studio. Файл .iml проекта idea тоже был одним и тем же.
        • 0
          Не работало в IntelliJ IDEA 13.1.5?
          • 0
            Сейчас точно не скажу уже, я примерно в то время как раз до этой версии обновлялся, так что есть вероятность, что дело происходило на 13.1.4.
            • +1
              В любом случае, если у нас что-то не работало, нужно сразу писать в трекер, мы в таком случае починим в ближайшем обновлении.
  • +1
    Никто не знает хорошие скринкасты по Идее, особенно навигационным фичам, фичам редактирования и дебагу? Которые бы охватывали последние нововведения, желательно.
  • 0
    Спасибо!

    Фича со скретчфайлами очень классная. А возможно ли сделать что-то подобное для скальных Worksheet'ов? Сейчас очень напрягает необходимость их сохранять в виде файла (особенно когда проект управляется VCS), когда хочется всего лишь попробовать пару команд. Было бы очень удобно, если бы можно было просто запустить worksheet со всем classpath'ом проекта.
    • +1
      Action называется Create light scala worksheet. У него даже shortcut есть (Cmd/Ctrl+Option+Shift+X)
      • 0
        Это офигенно, спасибо!
  • +1
    А не подскажете как эту вашу новомодную фичу с Backspace отключить? Раздражает ужасно. За саму IDE спасибо.
    • +6
      Editor -> General -> Smart Keys -> Smart Backspace Indent
  • 0
    Подскажите, в новой IDE можно включить автоматическую подсказку параметров фунуции? Как в Eclipse: чтобы после открытия скобки или редактирования параметров внутри скобок или по Ctrl+Space IDE отображала, какие параметры принимает функция.

    В текущей IDEA есть только вывод полной справки по функции, с задержкой, после вытягивания её из интернета.

    Этой функции мне очень не хватает, чтобы полностью слезть с Eclipse.
    • +3
      Сtrl+p?
    • 0
      Если подключены сорцы или локальный JavaDoc, ничего из Интернета не будет тянуться. Ctrl+P — справка по параметрам, Ctrl+Q — справка по методу.
      • 0
        А автоматический показ настроить можно? Эта штука нужна всегда как бы.
        • 0
          Автоматически и так показывается после открытия скобки и запятых между параметрами.
          • 0
            Спасибо, буду проверять. У меня почему-то не так: и в IDEA, и в RubyMine, и в WebStorm (все под Линукс, может, в этом дело?). Попробую переустановить или обновиться, конечно…
            • 0
              Проверьте вот эту настройку.
              • 0
                Спасибо, помогло. Задержка была слишком большая и галочка ниже не была установлена.
                Правда, всё равно иногда подглючивает, но попробую обновиться, авось починили.
                image
  • +3
    Еще вот вопрос. У меня есть проект, в котором есть исключенные директории (excluded directories). Я их исключал для того, чтобы не видеть. В 14 версии они почему-то появились в виде папочек красного цвета. Это запланированное изменения и, если да, то как вернуть старое поведение? И почему были сделаны такие изменения?
    • +2
      Это было добавлено специально, чтобы было видно, какие файлы исключены из проекта. Вот здесь подробнее: blog.jetbrains.com/idea/2014/09/intellij-idea-14-eap-138-1980-1-is-out/
      В настройках можно сказать, чтобы они не показывались в дереве.
      • +1
        А можно поподробнее где искать в настройках? Я что-то не могу найти.
        • +5
          image
          • 0
            Спасибо.
          • –4
            На работе поставил 14ую, странно, но в списочке вроде бы не было этого пункта. Сейчас докачаю дома, заскриншотю.

            UPD: Ну как докачаю… Yota на максимальной скорости выдаёт аж целых 10кб\с, так что думаю до завтра придётся подождать (18 часов +\-).
            • 0
              Да, надо минусовать — только поставил. Я нагло наврал, есть такой пунктик.
  • +4
    Изменения для отладки Java выглядят многообещающе.
    Ждём скидок для покупки апгрейда :-).
  • 0
    При попытке коммита выдает (система kubuntu-14.10, x64. Триал ультимат версии):
    NoClassDefFoundError: com/intellij/openapi/vcs/checkin/BeforeCheckinHandlerUtil
    

    Бага происходит из-за пункта «Code style hook», который нельзя отключить.
    Это я что-то пропустил или так получилось случайно?
    • +1
      Возможно это из-за какого-то необновившегося плагина, который был проимпортирован.
      • 0
        Таки да. Большое спасибо за ответ.
  • 0
    У меня на 12й версии сложилось такое мнение, что поддержка maven/gradle добавлена чисто для галочки. Работать было жутко неудобно — пересобираем проект билдтулом (причём без хоткеев. Нет, повесить на хоткей можно, но только конкретный таск в конкретном проекте, что как-то странно), потом ещё обновляем ресурсы, потом пересобираем встроенным компилятором и только потом можно запустить проект… Я понимаю, что в JetBrains судя по всему не используют билдтулы, ещё вариант я не умею готовить идею с их использованием. Да, проекты многомодульные, автокомпиляция далеко не всегда давала желаемый результат, как впрочем и ручной запуск встроенного компилятора. Нет планов всё-таки научить IDE работать только с использованием билдтула? Gradle насколько помню поддерживает инкрементальную сборку «из коробки», если в этом проблема. Хоткеи на таски без привязки к конкретному проекту тоже бы не помешали. Слез обратно на NetBeans в ожидании щастья (да там тоже всё не так радужно, но с тамошними багами мне пока проще мириться).
    • +3
      В 13 и 14 обновлениях было очень много улучшений. Сейчас дело обстоит «гораздо» лучше ;-)

      Нет планов всё-таки научить IDE работать только с использованием билдтула?

      Есть такие планы.

      Хоткеи на таски без привязки к конкретному проекту тоже бы не помешали.

      Речь о каких-то конкретных тасках? У меня была идея Quick popup по хоткею с тасками.
      • 0
        Под тасками я в частности имел в виду фазы maven'а, коряво выразился. К примеру, есть хоткеи для сборки и пересборки с очисткой проекта встроенным компилятором, хотелось бы возможности сделать альтернативные, но через запуск install и clean install.
        Буду ждать обновление, работающее через билдтул, и видимо предприму следующую попытку пересесть)
  • +1
    Когда можно ожидать обновления репозитория для Community Edition в Ubuntu Software Center? Там пока только 13.0 и для trusty (для utopic нет). Или вы к нему не имеете отношения?
  • 0
    А что делать если я буквально меньше суток назад купил 13?
    • 0
      А там подписка на год. Ваша лицензия должна работать.
      • 0
        Работает, но обновиться нельзя.
        • 0
          Мажорные релизы обновляются руками, как и некоторые минорные. Нужно качать триал по ссылке выше и вводить вашу лицензию.
          • 0
            Ясно, я думал что, что Ultimate мажорные релизы всегда платные.
            • +2
              Так и есть, пишет, что мой ключик действует только на 13 версия. Не ловко вышло.
              • 0
                Персональная лицензия?
                Я правильно понял, что версия 14 не принимает ваш ключ?
                Напишите пожалуйста в личку имя на которое куплена лицензия? Попробую проверить.
              • +2
                Только сегодня поставил 14 — она подхватила ключ от 13й.
                По идее, ключи же теперь ограничены не мажорной версией, а сроком действия, так что это у вас, видимо, какие-то проблемы, про которые стоит написать в саппорт.
  • 0
    Для этой и других ваших IDE писать плагины нужно именно на Java или есть другие варианты без хардкора?

    Буду признателен, если ответите. Спрашивал в твиттере, в какой-то социальной сети, но никто так и не ответил.
    • +2
      IDEA и другие IDE от Jetbrains написаны на Java и работают под JVM, поэтому плагины под нее пишутся на реализации любого языка под JVM. Поправьте меня, если я не прав.
      • 0
        Ядро плагина, вроде как, все равно нужно на Java пилить.
      • 0
        Всё правильно. Уже есть готовые плагины со всякими обёртками под конкретный язык, в которые можно свои файлы на том языке подкладывать.
        Например, мне раньше нравилось на JRuby писать.
        Или вот для javascript.
  • +1
    Сломали 'Auto-detect proxy settings'.
    В 13.1 только эта галка нажата и всё работает, а вот в 14-й не работает.

    И когда уже будут подставлять jetbrains.com в диалоге по кнопке 'Check connection'?
    Замучился каждый раз туда это вбивать :(
    • +1
      Опишите детали в трекере пожалуйста
  • +3
    У меня немного другой вопрос: ожидается ли вынос работы некоторых модулей из AWT-EventQueue?
    очень много вещей работают по принципу: создали runnable и скормили в dispatchEvent.

    да, я понимаю что так проще, но в итоге подвисание одного runnable на ресурсоемкой операции останавливает отрисовку всего ui, причем нельзя нажать cancel или abort, так как события от клавиш становятся в очередь и поэтому будут обработаны только после завершения текущей задачи.

    p.s. несколько примеров:
    1) открываем File -> Project Structure. если у нас много Problems, то из-за неаккуратного кодирования (конкатенация строк в цикле через +), строка формируется очень долго, вплоть до подвисания ui (решается только через kill процесса). баг заведен

    2) save на большом проекте, ProjectImpl.save() который в конце концов начинает усиленно дергать ReplacePathToMacroMap.substitute() у меня подвешивает совсем не на одну секунду.

    p.p.s. и да =) я лучше понаблюдаю нагрузку 1 минуту на все ядра, чем буду ждать 5 минут пока оно на одном ядре перемелет все
  • +2
    Спасибо за отличную IDE! В 13-ой не работают горячие клавиши, если включена не английская раскладка. Ужасно бесит! В 14 не исправили?
    • 0
      Сам себе отвечу: не исправили :(
    • 0
      У меня все работает. Можно пример?
      • +1
        Комбинация Alt+` не пашет при русской раскладке.
        Окружение: Win10, IDEA 14
        • 0
          Спасибо, бага очень старая, сообщили разработчику, есть шанс что скоро исправят.
        • +1
          На FreeBSD 10.1 комбинация Alt+`в IDEA 14 работает в обеих раскладках, русской и латинской.
      • НЛО прилетело и опубликовало эту надпись здесь
        • 0
          На FreeBSD 10.1 комбинация CTRL+/ в редакторе кода IDEA 14 комментирует строку, на которой установлен курсор, независимо от текущей раскладки. При этом текстовый курсор перемещается на следующую строку.
      • 0
        Ubuntu 12.04/14.04
        Idea 13/14, если переключиться на русскую раскладку не работают как минимум ctrl-c и ctrl-v
        • +1
          Самое забавное с key bindings по дефолту.
          Форматирование кода: CTRL + ALT + L в Ubuntu делает логаут из системы… Вот это поворот))
    • 0
      На PHPStorm + Ubuntu работает вот с этим github.com/zheludkovm/LinuxJavaFixes
  • 0
    А когда ждать поддержку PHP 5.6 в плагине к IDEA? В PhpStorm 8.0 она вроде как появилась, в том топике говорили о наличии поддержки в плагине PHP к IntelliJ IDEA 14 EAP. Но вот уже релиз, а поддержки не видно.
    • 0
      Плагин PHP к IntelliJ IDEA был обновлен неделю назад и поддержка PHP 5.6 там есть, так как туда входят все новшества из PhpStorm 8. А как именно не видно поддержки PHP 5.6?
      • 0
        Поставил IDEA 14, открыл проект PHP, IDEA предложила установить плагин. Установился из репозитория.



        В описании поддержка до PHP 5.5. В коде «Constant scalar expressions» подчёркиваются красным. Проверка обновлений говорит, что версия последняя.
        • 0
          Да, описание нужно обновить, это правда, прошу прощения за недосмотр. А стоит ли PHP language level на уровне 5.6 в Settings | Languages & Frameworks | PHP?
          • 0
            Спасибо, версия 5.6 в настройках не стояла, недоглядел.

            Теперь константы вида:
            const X = 1 * 2;
            
            подчёркиваться перестали.

            Но константы вида:
            const Y = [1, 2, 3];
            
            всё ещё подчёркиваются, как невалидные. Хотя это вполне валидная конструкция для PHP 5.6.
            • +1
              Прошу прощения за задержку с ответом — да, вот как раз есть баг по этому поводу. Пока не пофикшен.
  • 0
    Немного не по теме: планируется Clion в виде плагина к IDEA?
    • +1
      Пока нет, но кто знает :)
  • +1
    Клева, за скалу отдельное спасибо.
    И спасибо что делаете мою жизнь проще!
  • 0
    Отличная новость.
    А не подскажете что за папки projectBackup везде появляться стали?
  • 0
    Спасибо! Можно как-нибудь отладить Evaluate expression?
    • 0
      А что вы имеете в виду под отладкой Evaluate expression?
      • 0
        Если во время основной отладки нужно запустить нетривиальное выражение и посмотреть по шагам, как оно вычисляется.
        Evaluate expression у вас на третьей картинке.
  • 0
    Побыстрей бы функции появились в Android Studio — наверно они на 1.0 их оставят :) Спасибо, удаление ненужных отступов по backspace и оригинальное форматирование файлов мега круто. Ну и функция просмотра отладочной инфы внутри кода волшебна
  • +1
    Спасибо за новую версию! +1 за Memory monitor.
    Почему-то не так стабильно, как на 13 версии, работает Debug режим Android приложений.
    при 1-ой же попытке отладки — крэш. в дальнейшем нестабильно коннектиться к устройству.
  • 0
    Интересный релиз, спасибо :)
    Ещё не обновился, но тестируя Android Studio заметил, что больно много памяти она кушает при сборке с использованием Gradle. 2 Гб оперативки на ноуте едва хватает для элементарного Hello World… при этом Eclipse (он собирает через ant, вроде, не помню что там по-умолчанию) — кушает раза в два меньше, и вполне можно комфортно работать и с более сложными проектами.

    IDEA будет также много кушать?
    • 0
      память кушает внешний процесс gradle, который также будет присутствовать в IDEA
  • +1
    В чейнджлогах Android Studio периодически проскакивает информация о том, что были стянуты новые изменения из Intellij Idea. В этой статье написано, что периодически стягиваются изменения из Android Studio в Intellij Idea.
    Вопрос — есть какое-то различие между этими двумя продуктами, или это один и тот же функционал, завернутый в немного разные обертки?
    • 0
      В настоящее время Android Studio базируется на IntelliJ IDEA 13.1 CE + кастомные фиксы и новый функционал в Android. IntelliJ Idea 14 стягивает, в основном, последние изменения с некоторой задержкой.
  • 0
    Кстати! А почему в vmoptions по умолчанию так мало памяти выделено? Я очень долго думал как на машине с 8 гигами и ссд может тормозить ИДЕ.
    • 0
      если много памяти выделишь, то будет тормозить сборщик мусора :), пожалуйста сообщите нам о проблеме при использовании настроек памяти по умолчанию
      • 0
        Испытывал. Большой Play проект при редактировании тимплейтов или изменении роутов на ходу Идея висла на 30-40 секунды совсем. Тупо черный экран и никаких движений. Потом отпускало, но стоило начать редактировать текст, как повторялось снова. В VMOptions поменял максимальный размер до 4х гигов и с тех пор не испытываю проблем. Окружение Win7 pro x64, 8gb ram, ssd, core i5, java 8.
        • 0
          второй плей?
          • 0
            Да именно он.
            • 0
              Неплохо бы снять CPU snapshot или threaddumps и зарепортить нам ticket. Будем очень благодарны и попробуем пофиксить как можно быстрее.
              • 0
                Ох ребята. Как время будет. У меня сча температура.
                • 0
                  Надеюсь, что не от нас… Выздоравливайте!
  • 0
    Создалось впечатление, что JavaFX Scene Builder в 14-й версии весьма сырой.
    У меня не отрисовывает части элементов интерфейса самого редактора. Не совсем корректно отображает стили (есть заметная разница с результатом да и с оригинальным SceneBuilder). Не видно выделения в списке объектов, нет границ текстовых полей и кнопок в разделе свойств элемента. Разделы свойств элемента (Properties, Layout, Code) содержат только обрывочные свойства, или вообще не содержат ничего. Меню по правой кнопке вообще без заднего фона, только текст.
    Хотя, может у меня так, но, судя по скриншоту в статье, вижу что выглядит так же.
    И зря в принципе переняли анимацию разворачивания групп в SceneBuilder, это сильно тормозит работу.
  • –1
    Опция «Force push» доступна из выпадающего меню кнопки Push.
    Это решение меня сильно удивляет. Зачем здесь какие-то выпадающие списки?
    Места для ещё одной кнопки более чем предостаточно, но отчего-то тех, кому нужен forced push заставляют целиться в выпадающий список, а всех остальных — стараться в него не попасть.
    • НЛО прилетело и опубликовало эту надпись здесь
    • 0
      А также эта опция отсутствует для git. По крайней мере у меня она не появилась.
      • 0
        По умолчанию опция отключена. Включить можно через Settings | Version Control | Git | Enable force push.
    • +1
      В коммит диалоге уже несколько релизов такая же кнопка.

      В любом случае, выпадающее меню появится по Alt+Shift+Enter, да и мнемоники должны работать.
  • 0
    Спасибо, релиз неплохой. Планируются ли скидки на обновление лицензии?
  • 0
    А можно как то выключить Копирование кода в HTML/RTF
    У меня в 90% случаев это только мешает
    • 0
      Как выключить не подскажу, но на OS X можно пользоваться комбинацией «Shift + Alt + Cmd + V» для «простой» вставки.
  • 0
    Подскажите, а планируется перенести в Idea расширенную поддержку Angular из Webstorm (например, навигацию и рефакторинг templateUrl)?
    • 0
      А это разве не через плагин AngularJS производится?
      • 0
        Не все, ожидалось, что Idea 14 получит эти фичи из WebStorm 8.
        • +1
          Проверьте, пожалуйста, что у вас последняя версия плагина стоит. Все фичи должны быть.
          • 0
            Стоит самая новвя версия 139.12, но в примере:

                    .config(function ($routeProvider) {
                            $routeProvider
                                .when('/casper', {
                                    controller: 'CasperController',
                                    templateUrl: 'partials/casper.html'
                                    ...
            
            


            навигация по имени контроллера работатет, по пути к шаблону — нет.
            • 0
              А в WebStorm — все работает.
              • 0
                В WebStorm Mark as resource root для родительской директории обычно помогает. В IJ иначе работают resource roots, в этом может быть дело…
                Но реквест, на который ссылаются ниже, более общий и, похоже, больше описывает вашу проблему. Надеюсь, что скоро починим.
            • 0
              эта проблема?
              • 0
                Да, благодарю, у меня проблема в разрешении путей, Idea и WebStorm работают одинаково — не видят шаблоны в кастомном проекте, буду разбираться.
  • 0
    А почему вы не сделаете возможность использования ключа от idea в младших продуктах?
    Это было бы так здорово.
    Купил полную версию, а используешь только тот функционал который требуется на данный момент.
    • +1
      Полагаю тупо потому, что это финансово не выгодно, от слова «совсем».
      На разработку разных продуктов тратятся разные ресурсы. Если продавать только один продукт — то он не окупит затрат на разработку всех продуктов, если только не поднять на него ценник, эдак на порядок. Но в таком случае его вообще мало кто купит)
      • 0
        Почему? Ведь сейчас я делаю то же самое используя официальные плагины, которые включают (вроде как) весь функционал соответствующих младших продуктов.
        т.е. и так заплатив (вдвое большую цену) за полный продукт я использую функционал всех его дочек.

        Просто не удобно это тем что разрабатывая, временами, на разных языках — приходится использовать нагруженного разными плагинами монстра, или периодически включать-выключать плагины.
        • 0
          вы делаете почти то же самое.

          1) Да, покупая PhpStorm я получаю «ту же» IDEA + плагины, но… они уже установленные и базово настроенные
          2) Не все хотят сидеть и заморачиваться с поиском и настройкой плагинов — кому-то проще сразу купить заточенный продукт под его задачи

          Когда-то имел лицензии сразу и на IDEA и на PhpStorm только по той причине, что некоторые плагины в PhpStrorm «изкаропки» сразу пашут и их не требовалось допиливать (например тот же Command Line лучше с Zend Framework работал в phpStorm раньше — как сейчас не знаю)
        • 0
          Да, но на разработку этих плагинов тратятся ресурсы и расходы на эти плагины как бы включены в расходы на разработку других продуктов (PyCharm, например).
          И тут мы опять приходим к тому, что ценник придется повышать.
          • 0
            Так вот именно. Сейчас плагины уже разрабатываются командой разработчиков PyCharm. И при этом они разрабатывают и свою конкретизированную версию IDE и плагин предоставляющий функционал PyCharm для идеи. т.е. средства на разработку и продукта и плагина и так в данный момент выделяются.
            Я же хотел бы иметь возможность запустить вместо плагина именно PyCharm версию. Не вызывая остальных не нужных сейчас модулей.
            Ведь это та же среда разработки с встроенными допиленными плагинами. Хотя может я, конечно, не понимаю чего-то в ведении бизнеса.
            • 0
              Окей, вот как это вижу я:

              Вы используете продукт А, купленный за 150 долларов (условно), на разработку которого было потрачено 100 долларов. В итоге компания имеет 25 долларов прибыли (налоги и прочие умные вещи не учитываем).
              В рамках использования этого продукта, вы используете наработки из другого продукта, разработка которого стоила компании 50 долларов. Стоимость этих наработок, ну допустим 25 долларов.
              Так как за наработки отдельной платы не взымается, то получается, что из 50 долларов, полученных за продукт, 25 идут за наработки и прибыль компании уменьшается с 50 до 25 долларов.

              Если же компания дает вам возможность пользоваться вторым продуктом целиком, то 150-50=100=стоимость разработки основного продукта, и прибыли с вас не получается вообще.

              Т.е. с одной стороны с одних пользователей (которые пользуются наработками с нескольких продуктов) компания не получает прибыли вообще, а может и работает в минус, но одновременно с тем, с других пользователей основного продукта (пишут только на java, например) идет прибыль в полном размере.

              PS: само собой это просто мое, очень грубое видение. Реальные механизмы расчетов и распределений во всём этом бюджетировании будут сложнее :)
  • 0
    Ещё дико бы хотелось, чтобы в ActionScript 3.0 подсвечивался конструктор в коде. А то в следующем примере подсвечивается только тип переменной:

    var image:Sprite = new Sprite();
    
    • 0
      Недавно исправлял эту проблему — в ближайшем апдейте должно заработать
      • 0
        если (вдруг) не заработает пинайте youtrack.jetbrains.com/issue/WEB-11508
        • 0
          Это вроде по TyoeScript жалоба. Или исправите там, и в ActionScript исправится?:)
          • 0
            Должно в ActionScript заработать тоже
  • 0
    А что стало с WorkSheet для Scala? Почему то вывода не стало совсем. И это при том что Scala плагин только что обновился.
    image
    • 0
      Убрали необходимость писать object снаражи, так как это приводило к большому количеству недопониманий. Просто код надо писать без object, прямо на top level.
      • 0
        Спасибо! Уже разобрался. Очень позитивное изменение.
        • 0
          Оно вообще было и раньше. Это мы сразу тогда пошли на шаг дальше Eclipse. Но оставили запуск object типа для совместимости с Eclipse. А сейчас решили, что эта совместимость только путает да и от нас требует тучу непонятного кода иметь (ибо надо решить в каких случаях запускать внутренности объекта, а в каких все).
          • 0
            Не надо меня только Эклипсом пугать. Я сегодня проверил, моя лицензия ещё до мая.
  • 0
    Я тут недавно пожаловался команде Android Studio на тему git-плагина
    code.google.com/p/android/issues/detail?id=78769
    Это к вам на самом деле надо было?
    • 0
      По идее все о чем вы говорите есть только в другом виде, например текущие изменения можно посмтореть в панели инструментов в вкладке changes, там же есть лог коммитов(можно глянуть новые).
      Текущая ветка опять же отображается в нижней панели инструментов.

      И в дереве проекта все измененные файлы подсвечиваются другим цветом(у меня синим например).
      • 0
        вкладке changes

        Посмотрю, спасибо

        Текущая ветка опять же отображается в нижней панели инструментов.

        Ерунда там отображается. Надо открыть файл из модуля, чтобы понять в какой он ветке. Такими темпами можно и в консоль сходить и набрать git branch :) А если файлы не открывать, то там ветка самого проекта показывается, а не модуля.

        измененные файлы подсвечиваются другим цветом

        Тут надо аналогично развернуть каталоги все, чтобы увидеть есть ли там измененные файлы.

        Disclaimer: возможно я слишком привык к egit, конечно Но это прекрасно, когда дерево проекта показывает сразу все. Возможно, мне стоит купить монитор покрупнее понаоткрывать инструментов тут :)

        • 0
          Многое из этого — действительно дело привычки. Как отметил vayho, информация предоставляется, но в другом виде. Впрочем, вы не одиноки, и в трекере есть запросы, аналогичные вашим. Голосуйте за них.

          > Current branch for every module
          Реквест: youtrack.jetbrains.com/issue/IDEA-76042
          Workaround: вызвать VCS | Git | Branches (можно на него шорткат повесить): там будут все репозитории с текущими бранчами + оттуда же можно выполнять операции над бранчами.

          > Current state for every file/directory
          Реквест: youtrack.jetbrains.com/issue/IDEA-82527
          Workaround: Changes | Local, там можно и сгруппировать по папкам, если у вас много локальных изменений.

          > Current number of unpushed local commits
          Реквест: youtrack.jetbrains.com/issue/IDEA-53074
          Workaround: Git | Push, в появившемся диалоге показываются незапушенные коммиты.
          • 0
            Огромное спасибо за подборку иссуёв. Тольк нигде не нахожу голосовалку… Думал что я гость, специално акк сделал — а как голосовать — непонятно.
            • +1
              Под серой областью есть большой палец, на него надо нажать.
              Вот сюда: www.dropbox.com/s/2uqdli1hwhme0dx/youtrack-vote.png?dl=0
              • 0
                Точно. Теперь порядок. Спасибо!
              • 0
                кхм. у вас настройки другие что-ли? этот блок справа же находится: habrastorage.org/files/828/005/322/828005322b5f47f2af35f82294907fd8.png
                • 0
                  да, это настраивается в профиле
                • 0
                  а, разобрался — у вас в настройках галка у «Show fields pane on the left» установлена.
                  • 0
                    Точно. В старых версиях Ютрека панель была слева, потом решили её поместить направо, но чтобы привыкшие юзеры не страдали, сделали настройку.
          • 0
            Недологинился, теперь все вижу. Ставлю Star, спасибо
  • 0
    По поводу декомпилятора: видно, что используется некий Fernflower. Есть ли он сейчас в открытом доступе или у вас частное соглашение с его автором?
  • 0
    Господа, а вот где бы взять примеров/готовых плагинов к IDEA на хотя бы Kotlin вместо Java?

Только зарегистрированные пользователи могут оставлять комментарии. Войдите, пожалуйста.

Самое читаемое Разработка