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

Что такое IntelliJ IDEA

IntelliJ IDEA — интегрированная среда разработки Java приложений от компании JetBrains. Ее позиционируют как самую умную и удобную среду разработки для Java с поддержкой всех последних технологий и фреймворков. IntelliJ IDEA входит в тройку самых популярных IDE для Java вместе с Eclipse IDE и NetBeans IDE. Сравнение трех сред разработки есть в данном материале о выборе среды для разработки. IntelliJ IDEA хорошо знакома сообществу Javarush. Уже с третьего уровня студенты выполняют задания в IntelliJ IDEA, которая легко интегрируется с курсом. Ученики курса получают практические задания прямо в среде разработки. В ней же студент может отправить выполненное задание на проверку и сразу получить обратную связь.
Чтобы посмотреть, как все устроено, нужно иметь аккаунт на JavaRush — онлайн-курсе по изучению программирования на Java с акцентом на практику: 1200+ задач с моментальной проверкой, мини-проекты, задачи-игры, сотни лекций по основам Java.
Хоть IntelliJ IDEA известна как среда разработки для Java, в ней из коробки поддерживаются несколько языков программирования. Кроме того, IntelliJ IDEA интегрирована с рядом современных фреймворков. В данную среду разработки встроены все популярные системы контроля версий и системы сборки приложения. В IDEA реализована поддержка многих серверов приложений. Начиная с шестой версии, IntelliJ IDEA предоставляет интегрированный инструментарий для разработки графического пользовательского интерфейса. У этой среды разработки есть мощные аналитические возможности. Благодаря им эта IDE на лету подсказывает разработчику лучшие варианты кода в текущем контексте. IDEA располагает набором инструментов для рефакторинга существующего кода и быстрого написания шаблонных конструкций.

Условия использования IntelliJ IDEA

Первая версия IntelliJ IDEA появилась в январе 2001 года, и с тех пор компания JetBrains дополняет свое детище новыми фичами и улучшает существующие. Начиная с версии 9.0, IntelliJ IDEA доступна в двух вариантах:
  • Community Edition
  • Ultimate Edition
Community Edition — это свободная версия под лицензией Apache 2.0. Она предназначена для JVM и Android разработки, а также приложений с GUI. Она окажется полезной каки начинающим разработчикам для образовательных целей, и профессионалам для коммерческой разработки. Ultimate Edition доступна под коммерческой лицензией, и в ней поддерживается больше инструментов по сравнеию с Community Edition. Эта версия приложения предназначена для enterprise и web разработки. Она полезна для backend- и frontend-разработчиков. IntelliJ IDEA поставляется для трех платформ: Windows, macOS, Linux. Актуальную версию продукта можно загрузить с официального сайта компании JetBrains. На июнь 2019 года актуальная версия — 2019.1.3. Ниже представлена таблица с различиями между версиями Ultimate Edition и Community Edition.
Поддерживается только в Ultimate Edition Поддерживается в Community Edition и Ultimate Edition
Поддержка языков
  • JavaScript
  • TypeScript
  • SQL
  • CSS, LESS, Sass, Stylus
  • CoffeeScript
  • ActionScript
  • XSL, XPath
  • Ruby, JRuby (через плагин)
  • PHP (через плагин)
  • Go (через плагин)
  • Java
  • Groovy
  • Kotlin
  • Scala (через плагин)
  • Python, Jython (через плагин)
  • Dart (через плагин)
  • Erlang (через плагин)
  • XML, JSON, YAML
  • AsciiDoc, Markdown (через плагины)
Поддержка фреймворков
  • Spring (Spring MVC, Spring Boot, Spring Integration, Spring Security and others)
  • Java EE (JSF, JAX-RS, CDI, JPA, etc)
  • Grails
  • GWT, Vaadin
  • Play (через плагин)
  • Thymeleaf, Freemarker, Velocity, Tapestry
  • Struts, AspectJ, JBoss Seam, OSGI
  • React
  • AngularJS (через плагин)
  • Node.js (через плагин)
  • Apache Flex, Adobe AIR
  • Rails, Ruby Motion (через плагин)
  • Django, Flask, Pyramid (через плагин)
  • Drupal, Wordpress, Laravel (через плагин)
  • Android (включает функциональность Android Studio)
  • Swing (incl. UI Designer)
  • JavaFX
Поддержка систем контроля версий:
  • Team Foundation Server
  • Perforce
  • Git, GitHub
  • Subversion
  • Mercurial
  • CVS
Поддержка инструментов развертывания:
  • Tomcat
  • TomEE
  • Google App Engine and other clouds (через плагины)
  • GlassFish
  • JBoss, WildFly
  • WebLogic
  • WebSphere, Liberty
  • Geronimo
  • Resin
  • Jetty
  • Virgo
  • Kubernetes (через плагин)
  • Docker, Docker Compose
Поддержка систем сборки приложений:
  • NPM (через плагин)
  • Webpack
  • Gulp
  • Grunt
  • Maven
  • Gradle
  • SBT
  • Ant
  • Gant
  • Ivy (через плагин)
Другое:
  • Database Tools
  • Diagrams (UML, Dependencies, и т.д.)
  • Dependency Structure Matrix
  • Detecting Duplicates
  • Settings synchronization via JetBrains Account
  • REST Client
  • Darcula (темная тема)
  • Debugger
  • Decompiler
  • Bytecode Viewer
  • Unit Tests Runner (JUnit, TestNG, Spock; Cucumber, ScalaTest, spec2, etc)
  • Интеграция с баг-трекинговыми системами (YouTrack, JIRA, GitHub, TFS, Lighthouse, Pivotal Tracker, Redmine, Trac, и т.д)
Поддержка пользователей:
  • Поддержка 24/7
  • Баг-трекинговая система и форумы

Преимущества InteliJ IDEA

Данная IDE помогает максимизировать эффективность разработчика. Забота об эргономике среды разработки прослеживается в каждом аспекте. Интерфейс среды спроектирован так, что большую часть времени разработчик видит только редактор кода: Кнопки, активирующие дополнительные инструменты, расположены на боковых и нижней панелях экрана. Каждый инструмент можно быстро отобразить или скрыть: В IntelliJ IDEA практически каждое действие можно выполнить через определенное сочетание клавиш. Разработчик может сам назначать новые и менять старые сочетания клавиш для частых действий. В интерфейсе IntelliJ IDEA в каждой древовидной структуре, списке или всплывающем окне, будь это дерево проекта или же окно настроек среды разработки, есть навигация и поиск. Достаточно сфокусироваться на нужном месте и начать вводить искомый текст: IntelliJ IDEA удобна при написании кода и его отладке. Дебаггер IDEA показывает значения переменных прямо в коде. И каждый раз, когда переменная изменяет свое значение, она подсвечивается дебаггером: В среде разработки есть несколько тем оформления. По умолчанию доступны две темы — светлая и темная. Начиная с версии 2019.1, темы оформления можно кастомизировать и загружать новые через плагин:

Инструменты для работы с кодом в IntelliJ IDEA

У IntelliJ IDEA есть много инструментов для работы с кодом. Приведем примеры некоторых из них. Используя инструмент Live Templates, разработчик в разы сокращает время на написание часто используемых конструкций кода. Например, для создания метода main достаточно набрать в редакторе psvm и нажать клавишу TAB: -> tab ->IntelliJ IDEA индексирует и анализирует весь проект, благодаря чему в любое время она способна моментально находить нужные разработчику классы, методы и файлы. В IDEA реализовано несколько поисков, среди которых есть:
  • Поиск класса по имени
  • Поиск файла или директории по имени
  • Поиск по проекту
  • Поиск по модулю
  • Поиск по директории
  • Поиск по области, среди:
    • файлов проекта
    • тестовых файлов проекта
    • открытых файлов
    • недавно просмотренных файлов
    • недавно измененных файлов
    • и т. д.
Также благодаря индексации и анализу всего проекта привычный для разработчиков автокомплит становится на несколько уровней интеллектуальнее. Smart completion (Ctrl+Shift+Space) дает программисту список наиболее релевантных вариантов кода, применимых к данному контексту: Chain Completion (Ctrl+Shift+Double Space) проводит более глубокий анализ текущей ситуации и предлагает использовать методы классов или переменных для текущего контекста: Функция Static Completion предоставляет список статических полей и методов применимых в данном контексте. Работая в IDEA, программисту не нужно думать об импортах. Среда разработки импортирует нужные пакеты и удаляет из списка импортируемых пакетов ненужные на лету. Помимо прочего, IntelliJ IDEA предоставляет разработчику мощные инструменты для рефакторинга, чтобы быстро реорганизовывать исходный код программы. Все это — малая часть инструментов, которые IntelliJ IDEA предлагает разработчику для работы с кодом.

Недостатки среды разработки

Все вышеперечисленное относится к плюсам IntelliJ IDEA. Однако, как и любой программный продукт, у нее есть и минусы. IntelliJ IDEA разрабатывается с 2001 года. У этого крупного программного продукта — большое количество исходного кода. Как следствие, при работе с IDEA можно наткнуться на баги. IntelliJ IDEA требовательна к ресурсам. По умолчанию она выделяет до 512 Мб на x86 и до 768 Мб на x64. Но порой, например, при крупном рефакторинге, даже этого может быть недостаточно. Стоит сказать, что эти значения могут быть увеличены. Однако при этом IDEA будет сжирать еще больше ресурсов системы. При работе с большими файлами, например, с классами в несколько тысяч строк кода IDEA может заметно подтормаживать. Компания JetBrains регулярно выпускает обновления к IntelliJ IDEA. Очень редко, при обновлении IDEA, может что-то поломаться.

Создание проекта в IntelliJ IDEA

Чтобы создать проект, необходимо нажать в меню File -> New -> Project… Далее, в открывшемся окне, нужно выбрать тип проекта. IntelliJ IDEA поддерживает несколько — выбираем Maven в левом боковом меню. В пункте Project SDK выбираем предустановленную версию JDK и нажимаем кнопку Next. В следующем окне нужно определить GroupId и ArtifactId для нашего Maven проекта. В поле Version оставим значение по умолчанию — 1.0-SNAPSHOT. В следующем окне нам останется определить имя проекта и его расположение в файловой системе. В нашем случае подойдут значения, которые предложила Intelej IDEA: Все готово — наш проект создан.
Что еще почитать: