Блог
  • Разработка

IntelliJ IDEA: что это и как в ней работать

Написать код на Java получится и в простом текстовом редакторе — в нём можно настраивать подсветку синтаксиса, редактировать и форматировать код, разделять файлы и др.

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

Одной из самых популярных и производительных IDE для Java является IntelliJ IDEA. О том, что это за программа и как с ней работать, подробнее обсудим в этой статье.

Что такое IntelliJ IDEA и в чём её особенности

Это мощная интегрированная среда разработки от JetBrains, которая отлично работает с Java, Scala и прочими языками. В программе можно создавать, редактировать, отлаживать и анализировать код, управлять проектами и обеспечивать множество других задач.

Работа в IntelliJ IDEA основана на модели «клиент — сервер», где клиент — это графический пользовательский интерфейс для взаимодействия с программой, а сервер — ядро IntelliJ для выполнения всех операций синтаксического анализа кода, компиляции и рефакторинга. В комплексе такой подход обеспечивает более гибкую и эффективную работу в IntelliJ IDEA.

IntelliJ — высокопроизводительная программа с обширной функциональностью, в которую входит:

  • AI-помощник. Встроенный чат с искусственным интеллектом может самостоятельно составить комментарии к документации, имя для элемента кода, сообщение о фиксации и т. д.

  • Интеллектуальное завершение кода. Автоматическое продолжение кода без дополнительных ярлыков и настроек. IntelliJ IDEA применяет машинное обучение, поэтому сразу предлагает максимально релевантные варианты.

  • Расширенный рефакторинг. Разнообразие автоматизированных инструментов рефакторинга в IntelliJ IDEA обеспечивает безопасное переименование элементов кода, изменение сигнатуры класса или метода, перемещение кода между методами, выделение кода в метод и прочие операции.

  • Выявление дубликатов кода. Ищет и корректирует повторяемые элементы кода в указанной пользователем области.

  • JVM-фреймворки. Работает с ведущими фреймворками и инструментами для создания современных приложений и микросервисов, включая Spring, Reactor и прочее ПО.

  • Интеграция с системами контроля версий. Бесшовная интеграция с Git, Subversion, Mercurial, CVS и Perforce упрощает совместную работу и оптимизирует версионирование будущего проекта.

  • Интегрированные инструменты. В Intellij уже встроены такие инструменты, как профайлер, терминал, HTTP-клиент и декомпилятор. Также здесь есть поддержка базы данных, предварительный просмотр OpenAPI и отладка кода в IntelliJ IDEA.

  • Тестирование и покрытие кода. Наличие встроенного тестового раннера и функции анализа покрытия кода помогает оперативно выявлять ошибки и улучшать общую работоспособность кода.

  • Широкий набор плагинов. Объёмная экосистема плагинов для IntelliJ IDEA обеспечивает оптимальную поддержку языков программирования, фреймворков и инструментов. При этом расширения создаются как специалистами JetBrains, так и сообществом разработчиков.

  • Кросс-платформенность. IntelliJ IDEA может быть запущена на различных ОС: Windows, MacOS и Linux.

Также IntelliJ IDEA взаимодействует с внешними сервисами через API — например, с помощью CPaaS-платформы МТС Exolve. Такая интеграция может пригодиться для бесплатного оповещения о завершении обработки данных.

Существует две редакции IntelliJ IDEA: Ultimate Edition и Community Edition:

  • Ultimate Edition — расширенная версия для крупных программных проектов и корпоративной среды. Оптимизирует поддержку разработки на разных языках через плагины для PHP, Go, SQL, Web-JavaScript и TypeScript. Также есть поддержка фреймворков Spring, Hibernate, React, Angular, Node и инструментов сборки npm, grunt, gulp.

  • Community Edition — бесплатный вариант с открытым исходным кодом, который используется в том числе для коммерческих проектов. Он включает доработку кода, статический анализ и автоисправления, рефакторинг и прочие базовые функциональные возможности IntelliJ IDEA. Здесь поддерживается несколько языков программирования, мобильная разработка (Android), интеграция с контролем версий и т. д.

Ниже приведены более детальные отличия этих версий.


Показатель

Community Edition

Ultimate Edition

Лицензия

Бесплатная, с открытым исходным кодом

Коммерческая версия с 30-дневным бесплатным пробным периодом

Поддержка технологий и фреймворков

Android, Gradle, JavaFX, Junit, Ant, TestingNG 

Ant, JavaFX, Junit, TestingNG, Gradle, EJB, Spring, Android, Struts, Node.js, Django, OSGi и прочее

Языки программирования

Kotlin, Perl, Python, XML, Go, Scala, Java, Groovy

Groovy, Kotlin, Perl, Python, XML, Go, Scala, HTML, XHTML, Java, CSS, SQL, Ruby, JavaScript и т. д.

Развёртывание

Docker, Docker Compose (через плагин)

Docker, Docker Compose (через плагин), JBoss, WebLogic, Tomcat, Glassfish, Jetty, Virgo и другие


Также существует IntelliJ IDEA Edu — бесплатный формат для учебных заведений и занятий по программированию. Эта версия содержит базовую функциональность программы и работает с уклоном в интерактивное обучение через лекции, задания, упражнения и т. п.

Как создать Java-проект

Обычно генерация стандартных приложений в IntelliJ IDEA проводится по следующему алгоритму:

Создание нового Java-проекта

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

1. Скачайте IntelliJ IDEA, откройте приложение и создайте новый проект.

2. Придумайте имя проекта и укажите, где он будет храниться. Затем выберите Java как язык программирования и IntelliJ как систему сборки.

3. Подключите Java SDK (JDK). Если необходимый JDK уже есть в программе, выберите его из соответствующего перечня.

Если JDK находится на вашем компьютере, но в IDE отсутствует — выберите «Добавить JDK» и укажите к нему путь.

Если JDK нет ни на компьютере, ни в программе — кликните на «Загрузить JDK» и выберите подходящий вариант (например, OpenJDK).

Создание пакета и класса

Пакеты нужны для организации классов, которые имеют общую тему или выполняют похожие задачи, а также для структурирования и организации больших приложений со множеством различных классов:

1. В окне инструмента «Проект» кликните правой кнопкой мыши по папке src и выберите «Создать», а затем отметьте «Класс Java».

2. В графе «Название» введите com.example.projectx.ProjectX и нажмите OK. После этого программа сформирует пакет com.example.projectx и класс ProjectX.

Во время создания пакета IntelliJ IDEA может самостоятельно сгенерировать дополнительные элементы для разработанного класса — например, вставить статические переменные или методы предварительной инициализации.

Написание кода

Для начала нужно добавить метод main() через «живые шаблоны»:

  1. Переведите курсор в строку заголовка класса после скобки { и зажмите комбинацию клавиш Shift + Enter. В отличие от простой команды Enter, этот вариант запускает новую строку, не прерывая рабочей.

  2. Введите main и отметьте подходящий шаблон, который автоматически вставит объявление метода main().

В процессе создания кода IntelliJ IDEA предлагает разные варианты и конструкции, которые легко адаптируются под имеющийся контекст. Для просмотра списка готовых шаблонов можно воспользоваться комбинацией клавиш Ctrl + J.

Когда метод main() объявлен, курсор перемещается к следующей строке в автоматическом порядке. После этого нужно сделать следующее:

1. Введите Sy и выберите класс System из списка автодополнения кода (из стандартного пакета java.lang). Затем нажмите Ctrl + Пробел, чтобы выбрать элемент для автодополнения кода.

2. Нажмите o, выберите out и снова нажмите Ctrl + Пробел.

3. Введите p, укажите метод println(String x), далее — Enter. IntelliJ IDEA покажет типы параметров, которые можно использовать в конкретном случае.

4. Нажмите ", после чего автоматически появится вторая кавычка. Введите Project X!

Базовое автодополнение кода проанализирует контекст вокруг текущей позиции курсора и предложит подсказки по мере ввода переменных. Посмотреть весь список автодополнения можно через комбинацию Ctrl + Space.

Создание и запуск приложения

Создавать и запускать классы с методом main() можно прямо из редактора в соответствующем окне:

1. Щёлкните по иконке «Запустить» в левой боковой панели и выберите «Запустить 'ProjectX.main()». После этого IDE начнёт компиляцию кода.

2. Далее в нижней части экрана откроется панель выполнения «Запуск».

В первой строке будет команда, которую IntelliJ использовала для запуска скомпилированного класса, а во второй — результат выполнения программы Project X! Последняя строка будет содержать код 0, что подтверждает успешное завершение операции.

Если код составлен неверно и IDE не может его скомпилировать, в панели выполнения «Запуск» появится соответствующий код завершения.

При активации кнопки «Запустить» IDEA создаст специальную конфигурацию, которая начнёт сборку приложения. На этом этапе javac скомпилирует исходный код в байт-код JVM.

После того как javac завершит компиляцию, полученный байт-код будет перемещён в каталог out (выделен жёлтым цветом в окне инструмента «Проект»), а затем запущен на JVM.

В дополнение к этому алгоритму приложение можно упаковать в Java-архив (JAR).

Важно! Приведённый алгоритм включает только основные шаги по разработке простейшего Java-приложения в IntelliJ IDEA. Он позволяет создавать проект и классы, писать код и запускать приложение для проверки его работоспособности. Однако для полноценного приложения могут понадобиться другие действия и этапы разработки программного обеспечения, например генерация дополнительного кода, его тестирование и отладка, создание документации и т. д.

IntelliJ IDEA и аналоги

Кроме IntelliJ существует множество мощных IDE, которые можно использовать для разработки приложений и прочего ПО. Рассмотрим самые похожие варианты:

1. Eclipse:

  • Удобство использования IntelliJ IDEA в простом интерфейсе, где навигацию и поиск функций проводить намного легче, чем в Eclipse.

  • Интеллектуальная поддержка кода в IntelliJ IDEA лучше учитывает контекст проектов, поэтому работает продуктивнее, чем в Eclipse.

  • IntelliJ IDEA быстрее интегрируется с Kotlin, в то время как Eclipse для этого нужно больше плагинов.

  • У Eclipse развитая модульная архитектура, которая позволяет настраивать только необходимые функции. IntelliJ IDEA в этом смысле более «скованная» программа.

  • Intellij функциональнее в сравнении с Eclipse, также у IDEA более развитые инструменты рефакторинга.

2. Visual Studio Code:

  • Код Visual Studio легче, чем у IntelliJ IDEA. Он быстрее запускается, поэтому VS Code предпочтительнее для небольших проектов или ускоренной редактуры.

  • IntelliJ IDEA выигрывает из-за сложных инструментов рефакторинга и анализа кода, поэтому больше подходит для крупномасштабных задач.

Заключение

IntelliJ IDEA — исключительный инструмент для разработки с интеллектуальной поддержкой кода, мощными инструментами рефакторинга и бесшовной интеграции. Широкая языковая база и богатый набор функций делают его отличным решением для проектов во многих отраслях разработки современного ПО.

Однако расширенная функциональность IntelliJ IDEA больше подходит для крупных и масштабируемых проектов, нежели для простых и односложных задач.

Предыдущая статья
Оцените статью:
Следующая статья