IntelliJ IDEA — среда разработки
IntelliJ IDEA — мощная интегрированная среда разработки от JetBrains, предназначенная для работы с Java и другими языками. Она значительно ускоряет разработку благодаря интеллектуальному анализу кода и встроенным инструментам.
1. Что такое IntelliJ IDEA
IntelliJ IDEA — это коммерческая IDE, разработанная компанией JetBrains. Она создана специально для языка Java и является одной из самых популярных сред разработки в мире. IDEA глубоко анализирует код, понимает его контекст и помогает писать программы быстрее и с меньшим количеством ошибок.
- Интеллектуальный анализ кода — IDE понимает структуру проекта, связи между классами и предлагает точные подсказки.
- Встроенные инструменты — рефакторинг, отладка, тестирование, работа с Git, сборка проектов — всё в одном окне.
- Поддержка фреймворков — Spring, Jakarta EE, Micronaut, Quarkus и десятки других технологий поддерживаются из коробки.
- Плагины — тысячи расширений позволяют адаптировать IDE под любую задачу.
Ultimate vs Community
| Возможность | Community | Ultimate |
|---|---|---|
| Java / Kotlin | Да | Да |
| Android-разработка | Да | Да |
| Spring / Jakarta EE | Нет | Да |
| Веб-фреймворки (React, Vue) | Нет | Да |
| Базы данных | Нет | Да |
| Диаграммы классов | Нет | Да |
| Стоимость | Бесплатно | Платная (бесплатно для студентов) |
Отличия от PyCharm
PyCharm — это дочерний продукт JetBrains, заточенный под Python. IntelliJ IDEA имеет встроенный плагин Python и может работать с Python-проектами, но для чисто Python-разработки PyCharm удобнее за счёт специализированных инструментов: встроенного отладчика Django-шаблонов, подсказок для pip и настройки виртуальных окружений. IntelliJ IDEA же универсален и позволяет работать с Java, Kotlin, Groovy, Scala и многими другими языками одновременно.
2. Установка и настройка
Самый простой способ установить IntelliJ IDEA — через JetBrains Toolbox App. Это менеджер, который автоматически скачивает и обновляет все продукты JetBrains.
- Перейди на jetbrains.com и скачай установщик.
- Запусти установщик и следуй инструкциям — Toolbox установится за пару минут.
- Открой Toolbox, найди IntelliJ IDEA и нажми Install.
- Выбери нужную версию (Community или Ultimate) и нажми Download.
Выбор JDK
При первом запуске IDEA предложит выбрать JDK (Java Development Kit). Это набор инструментов для компиляции и запуска Java-программ.
- OpenJDK — бесплатная открытая реализация. Скачивается с Adoptium (Eclipse Temurin).
- Amazon Corretto — бесплатный JDK от Amazon с долгосрочной поддержкой. Скачивается с aws.amazon.com/corretto.
- Oracle JDK — официальная реализация от Oracle. Требует лицензию для коммерческого использования.
Настройка темы и шрифта
Перейди в File > Settings > Appearance > Appearance, чтобы выбрать тему. IDEA предлагает три варианта:
- Light — светлая тема для работы днём.
- Dark — тёмная тема, снижающая нагрузку на глаза.
- Darcula — фирменная тёмная тема JetBrains.
Для настройки шрифта редактора перейди в Settings > Editor > Font. Рекомендуемый размер — 14–16, шрифт — JetBrains Mono или Cascadia Code.
3. Создание первого Java-проекта
При создании нового проекта IDEA предлагает несколько вариантов:
- Нажми New Project на стартовом экране.
- Выбери тип проекта — Java.
- Укажи Project SDK — JDK, который ты установил ранее.
- Опционально добавь фреймворк (Spring, Maven, Gradle) или оставь пустым.
- Нажми Create.
Структура проекта
После создания IDEA формирует стандартную структуру каталогов:
src/— исходный код. Здесь ты создаёшь Java-классы.out/— скомпилированные .class файлы. IDEA создаёт их автоматически..idea/— настройки проекта (не нужно добавлять в Git)..iml— файл конфигурации модуля.
Первая программа
Щёлкни правой кнопкой на папку src, выбери New > Java Class и назови класс Main. Напиши следующий код:
public class Main {
public static void main(String[] args) {
System.out.println("Привет, мир!");
int sum = 0;
for (int i = 1; i <= 10; i++) {
sum += i;
}
System.out.println("Сумма чисел от 1 до 10: " + sum);
}
}Нажми зелёный треугольник рядом с методом main или используй комбинацию Shift+F10 для запуска.
4. Интерфейс IntelliJ IDEA
Интерфейс IDEA состоит из нескольких ключевых элементов:
- Project Window (левая панель) — дерево файлов проекта. Используй Alt+1, чтобы открыть или закрыть.
- Editor (центральная область) — основное пространство для написания кода.
- Tool Windows (нижние и боковые панели) — терминал, Git, Run, Debug и другие инструменты.
Терминал
Открой встроенный терминал комбинацией Alt+F12. В нём можно выполнять команды Maven, Gradle, Git и любые системные команды без переключения на отдельное окно.
Окно Git
Панель Git (Alt+9) показывает все изменения в проекте. Здесь видны незакоммиченные файлы, история коммитов и текущая ветка. IDEA подсвечивает изменённые строки зелёным (новые), синим (удалённые) и жёлтым (изменённые) прямо в редакторе.
5. Написание кода: автодополнение и рефакторинг
Главное преимущество IDEA перед текстовым редактором — интеллектуальная помощь при написании кода.
Code Completion
Нажми Ctrl+Space для базового автодополнения. IDEA предлагает имена классов, методов, переменных и ключевых слов. При повторном нажатии Ctrl+Space IDEA покажет расширенный список с учётом контекста.
Intentions (Alt+Enter)
Жёлтая лампочка в левой части редактора indicates доступные действия. Нажми Alt+Enter, чтобы увидеть варианты:
- Добавить недостающий импорт.
- Преобразовать лямбду в анонимный класс (или обратно).
- Упростить выражение.
- Создать метод на основе существующего вызова.
Рефакторинг
IDEA предоставляет мощные инструменты рефакторинга, которые безопасно изменяют код во всём проекте:
| Действие | Горячая клавиша | Описание |
|---|---|---|
| Rename | Shift+F6 | Переименование переменной, метода или класса во всём проекте |
| Extract Variable | Ctrl+Alt+V | Выделить выражение в отдельную переменную |
| Extract Method | Ctrl+Alt+M | Выделить блок кода в отдельный метод |
| Inline | Ctrl+Alt+N | Заменить вызов метода/переменную содержимым |
| Change Signature | Ctrl+F6 | Изменить сигнатуру метода (имена, типы, порядок параметров) |
Generate Code
Нажми Alt+Insert (или Alt+Cmd+Insert на macOS), чтобы сгенерировать стандартные конструкции:
public class Student {
private String name;
private int age;
// Alt+Insert > Constructor — генерирует конструктор
public Student(String name, int age) {
this.name = name;
this.age = age;
}
// Alt+Insert > Getter and Setter
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
// Alt+Insert > toString()
@Override
public String toString() {
return "Student{name='" + name + "', age=" + age + "}";
}
}6. Запуск и отладка
Запуск программы
Запусти текущий файл одним из способов:
- Нажми зелёный треугольник Run в верхней панели или рядом с методом
main. - Используй горячую клавишу Shift+F10.
- Правой кнопкой по файлу > Run 'Main.main()'.
Результат выполнения программы появится в панели Run внизу экрана.
Отладка (Debug)
Для отладки нажми Shift+F9 или значок жука рядом с кнопкой Run. IDEA запустит программу в режиме отладки.
- Breakpoints — установи точку останова, щёлкнув левой кнопкой в области рядом с номером строки (появится красный кружок).
- Watches — добавь переменные в окно Watches, чтобы отслеживать их значения в реальном времени.
- Evaluate Expression — нажми Alt+F8 во время остановки, чтобы вычислить любое выражение в контексте текущего выполнения.
- Step Over / Step Into / Step Out — переходи по коду построчно (F8), заходя внутрь методов (F7) или выходя из них (Shift+F8).
7. Системы сборки в IDEA
IntelliJ IDEA интегрирована с Maven и Gradle — двумя наиболее популярными системами сборки в Java-экосистеме.
Maven
Если ты открываешь проект с файлом pom.xml, IDEA автоматически распознает его как Maven-проект. В правом верхнем углу появится панель Maven с кнопками:
- Reload All Maven Projects (значок обновления) — перечитывает
pom.xmlи скачивает недостающие зависимости. - Generate Sources and Update Folders — генерирует код из плагинов (например, proto-файлы).
- Run Maven Goals — запуск произвольных целей:
clean,install,packageи других.
Gradle
Для проектов с файлом build.gradle IDEA предлагает аналогичную интеграцию. При первом открытии нажми Load Gradle Project, и IDEA скачает все зависимости, создаст индексы и настроит подсветку.
build.gradle), так и Kotlin DSL (build.gradle.kts). Выбор формата зависит от предпочтений команды.pom.xml или build.gradle — тогда IDEA правильно настроит индексы и зависимости.8. Тестирование в IDEA
IntelliJ IDEA поддерживает JUnit 4 и JUnit 5 из коробки. Чтобы создать тест:
- Открой класс, для которого нужно написать тест.
- Нажми Alt+Insert и выбери Test.
- Выбери фреймворк (JUnit 5) и IDEA создаст тестовый класс с заготовками методов.
Пример теста
import org.junit.jupiter.api.Test;
import static org.junit.jupiter.api.Assertions.*;
class CalculatorTest {
@Test
void shouldAddTwoNumbers() {
Calculator calc = new Calculator();
assertEquals(5, calc.add(2, 3));
}
@Test
void shouldThrowOnDivisionByZero() {
Calculator calc = new Calculator();
assertThrows(ArithmeticException.class, () -> calc.divide(10, 0));
}
}Запуск тестов
Нажми зелёный треугольник рядом с именем тестового класса или метода. Результаты отображаются в панели Run — зелёная иконка означает успешное прохождение, красная — провал.
Coverage
Для проверки покрытия кода тестами нажми Run with Coverage (значок с зелёным кругом). IDEA покажет, какие строки кода выполняются тестами, а какие нет. Рекомендуемый порог покрытия — не менее 70%.
9. Работа с Git в IDEA
Интеграция с Git — одна из сильнейших сторон IDEA. Все основные операции доступны без переключения на терминал.
Клонирование репозитория
На стартовом экране нажми Get from VCS, вставь URL репозитория и нажми Clone. IDEA скачает проект и автоматически настроит ветку.
Commit и Push
- Нажми Ctrl+K — откроется окно коммита.
- Отметь галочками файлы, которые нужно закоммитить.
- Напиши сообщение коммита и нажми Commit.
- Для отправки на удалённый сервер нажми Ctrl+Shift+K и выбери Push.
Работа с ветками
В нижней панели IDEA (справа) отображается текущая ветка. Нажми на неё, чтобы создать новую ветку, переключиться или сравнить с текущей.
Сравнение и разрешение конфликтов
IDEA предоставляет визуальный инструмент сравнения файлов (Compare with...). При возникновении конфликта слияния открой вкладку Git > Conflicts и используй трёхсторонний merger — IDEA покажет твою версию, удалённую версию и результат.
10. Горячие клавиши
Запомни основные комбинации — они значительно ускорят работу.
| Действие | Горячая клавиша |
|---|---|
| Intentions / Quick Fix | Alt+Enter |
| Rename (рефакторинг) | Shift+F6 |
| Форматирование кода | Ctrl+Alt+L |
| Комментарий строки | Ctrl+/ |
| Перейти к определению | Ctrl+B |
| Поиск по проекту | Ctrl+Shift+F |
| Generate (конструктор, getter) | Alt+Insert |
| Автодополнение | Ctrl+Space |
| Запуск программы | Shift+F10 |
| Отладка (Debug) | Shift+F9 |
| Find and Replace | Ctrl+R |
| Закрыть вкладку | Ctrl+F4 |
| Переход к строке | Ctrl+G |
| Вырезать строку | Ctrl+Y |
| Duplicate line | Ctrl+D |
| Move line up/down | Alt+Shift+Up/Down |
| Встроенный терминал | Alt+F12 |
| Панель Git | Alt+9 |
| Evaluate Expression | Alt+F8 |
11. Полезные настройки и плагины
IntelliJ IDEA становится ещё продуктивнее с правильными плагинами и настройками.
Рекомендуемые плагины
| Плагин | Назначение |
|---|---|
| Lombok | Генерация boilerplate-кода (getter, setter, builder) через аннотации |
| CheckStyle-IDEA | Проверка стиля кода по правилам CheckStyle |
| SonarLint | Анализ качества кода в реальном времени (баги, уязвимости, code smells) |
| Key Promoter X | Показывает горячие клавиши для действий, которые ты делаешь мышкой |
| Rainbow Brackets | Подсвечивает скобки разными цветами для лучшей читаемости |
Live Templates
Live Templates позволяют вставлять часто используемые конструкции кода по сокращению. Например, набрав psvm и нажав Tab, ты получишь:
public static void main(String[] args) {
}Полезные шаблоны:
| Сокращение | Расшифровка |
|---|---|
| psvm | public static void main |
| sout | System.out.println() |
| fori | for (int i = 0; ...) { } |
| itar | for (int i = 0; i < array.length; i++) |
| ifn | if (x == null) |
| inn | if (x != null) |
Настрой шаблоны в Settings > Editor > Live Templates. Ты можешь редактировать существующие, добавлять новые и назначать собственные сокращения.
pom.xml. После этого аннотации @Data, @Builder, @Slf4j будут работать прямо в IDEA без дополнительных шагов.12. Поиск и навигация по проекту
В большом проекте переключение между классами важнее скорости набора. IDEA даёт несколько уровней навигации: от файла к определению метода и к местам, где он вызывается.
| Действие | Горячая клавиша |
|---|---|
| Найти класс | Ctrl+N |
| Найти файл | Ctrl+Shift+N |
| Найти любой символ | Ctrl+Alt+Shift+N |
| Найти использование | Alt+F7 |
| Иерархия вызовов | Ctrl+Alt+H |
Ctrl+N — вводишь «Calc», IDEA открывает класс
Alt+F7 — курсор на методе: все места вызова
Ctrl+Alt+H — цепочка вызовов метода вверхВкладка Structure (Alt+7) показывает членов текущего класса, а панель TODO собирает пометки из всего проекта.
13. Работа с базой данных
В Ultimate встроен инструмент Database Tools: подключайтесь к PostgreSQL, MySQL или Oracle, просматривайте таблицы, пишите SQL с автодополнением и генерируйте классы. В Community аналогичную возможность даёт плагин Database Navigator.
View -> Tool Window -> Database (+ в левом углу)
DataSource -> PostgreSQL -> пользователь и пароль
Далее: SQL Console -> пишем запрос, автодополнение готово| Возможность | Где |
|---|---|
| Просмотр таблиц | дерево DataSource |
| SQL-консоль | правый клик по схеме |
| Сравнение схем | Compare Two Schemes |
| Генерация сущностей | Generate POJOs из результата запроса |
14. Интеграция с Docker и терминалом
Современный Java-проект редко живёт без контейнеров: база, кэш и очередь часто поднимаются в Docker. IDEA позволяет управлять ими из окна Services: запустить, остановить и посмотреть логи, не выходя из IDE.
Services (Alt+8) -> Docker -> контейнер и образ
docker run -p 5432:5432 postgres:16
docker compose up -d // несколько сервисов сразу// docker-compose.yml в корне проекта
services:
db:
image: postgres:16
ports: ["5432:5432"]
environment: { POSTGRES_PASSWORD: dev }- окно Services показывает образы и контейнеры, логи открываются по клику;
- приложение в контейнере отлаживается так же, как локальное;
- полный разбор технологии — в курсе Docker.
15. Инспекции, анализ и профилирование
IDE не только подсвечивает ошибки — она ищет уязвимости, дублирование и опасные паттерны. Команда Analyze → Run Inspection by Name прогоняет сотни проверок за секунды.
- Analyze → Inspect Code — общий отчёт по проекту;
- поиск дубликатов находит копипасту;
- Dependency Analyzer показывает конфликты версий библиотек.
Профилирование: вкладка запуска → кнопка Profiler подключает async-profiler и JFR. Пламя графа (flame graph) мгновенно показывает узкие места по CPU и выделениям памяти.
1. Запусти приложение в профилировщике
2. Повтори медленный сценарий
3. CPU Flame Graph — ищи широкие полосы в своём коде;
«широкие» библиотеки обычно безопасны16. Многомодульные проекты и профили сборки
Большие приложения часто делят на модули: common, api, web. IDEA видит такие проекты как дерево модулей и собирает их в правильном порядке.
Maven multi-module:
parent pom
├── common (jar)
├── domain (jar)
└── web (war, зависит от common+domain)Профили сборки включают разные наборы зависимостей — dev, test, prod:
mvn compile -P dev
mvn package -P test- IdEA показывает модули вкладкой «Project» и собирает их при «Build»;
- зависимости между модулями видны в «Dependency Structure»;
- сборку выбирают в правом углу tool window Build.
<profile>-зависимости: IDEA кеширует разрешения, иногда требуется «Reload All Maven Projects».17. Отладка: точки останова, Evaluate, Drop Frame
Базовая отладка передана в разделе 6. Продвинутый уровень спасает, когда циклы большие, а стек вызовов запутан.
# условная точка останова
i == 500 # остановиться на 500-й итерации
# Evaluate (Alt+F8)
new BigDecimal(x).toString()- Conditional breakpoints — остановка только при выполнении условия;
- Evaluate Expression — выполнить любой код в текущем контексте;
- Drop Frame — «откатить» вызов и зайти снова;
- Watches — наблюдать за значениями без приостановки вывода.
18. Совместная работа и Code With Me
Удалённая парная разработка и код-ревью «в реальном времени» решаются встроенным Code With Me — хост открывает сессию, остальные подключаются, видят курсор и правят общий код.
Control panel → Code With Me → Share
# гость получает ссылку, права: read / writeАльтернатива для команды — пробел-статус через встроенную интеграцию с YouTrack/Jira и совместные запуски тестов.
- Code With Me устойчив к разным IDE — партнёр может быть в WebStorm/PyCharm;
- звуковой звонок встроен — микрофон и камера в одном окне;
- для ревью удобнее традиционный PR на Git (раздел 9).
19. Персонализация: инспекции, действия и стиль кода
Идеальная IDEA — настройка под стиль проекта: единый формат, инспекции под ваш риск, свои шаблоны и «быстрые правки».
Ctrl+Alt+S → Editor → Code Style → Java
→ задать собственный формат (отступы, поля)
→ Inspector: включить Nar те, что важны именно вам- единый Code Style через файл проекта (.idea) — команда форматирует одинаково;
- инспекции: ошибка → предупреждение → не назначать (в statically);
- Action Make (Ctrl+Shift+F10) и Alt+Enter быстрых исправлений — ядро продуктивности.
20. Live Templates и File Templates: шаблоны кода
Повторяющиеся фрагменты — цикл по коллекции, логгер, заготовка метода — превращаются в сниппеты. Live Templates разворачиваются по аббревиатуре и заполняют поля с автодополнением.
Settings → Editor → Live Templates
// пример шаблона "logc"
private static final Logger LOG =
LoggerFactory.getLogger($CLASS$.class); $END$
// встроенные: foreach + it, psvm, sout- переменные $VAR$ и функции — имя класса, текущая дата, выражение;
- File Templates — заготовки новых классов и файлов с единой шапкой;
- шаблоны переносятся командой через Settings Repository (см. раздел 19).
21. Поддержка Spring Boot и веб-разработки
IntelliJ IDEA Ultimate — фактически стандарт для Spring. Начать проект можно прямо через Spring Initializr из интерфейса: зависимости, группа и версия Java без ручной настройки Maven.
New Project → Spring Initializr
→ Java + Spring Web + Spring Data JPA
→ Create → дождаться загрузки зависимостей- автодополнение application.yml / properties и навигация по бинам;
- Spring Boot Dashboard — запуск и остановка профилей в одной панели;
- devtools + Re-run: горячий перезапуск контекста ускоряет итерации.
22. Удалённые серверы: SSH, Deployment и терминал
IDEA умеет открывать удалённый проект по SSH как локальный: редактирование, запуск и отладка Java происходят на сервере, а файлы синхронизируются автоматически.
Tools → Deployment → Configuration
→ SFTP: host, user, root path
→ Tools → Deployment → Upload to ...
// редактируете локально, сохраняете — на сервере готово- Deployment с маппингами локаль → удалённый путь синхронизирует файлы;
- встроенный терминал и Remote Runtime закрывают большинство ssh-задач;
- отдельные профили деплоя для Dev и Prod — из одной IDE.
23. Производительность IDEA: память, кэш и индексация
Заторможенная IDE съедает больше времени, чем любой тайп-стата. Основные рычаги — память JVM, исключение больших папок из индексации и очистка кэшей.
# Help → Edit Custom VM Options
-Xmx2048m # максимум кучи
# Settings → Directories → Excluded:
# out, target, node_modules, .git
# File → Invalidate Caches → Invalidate and Restart- индексация target, node_modules, .git — главный «съедатель» CPU;
- Power Save Mode отключает фоновые проверки на ноутбуке без розетки;
- Invalidate Caches лечит «зависший» поиск после обновления плагинов.
Что дальше
Теперь ты знаком с IntelliJ IDEA и готов писать Java-программы. Рекомендуемый следующий шаг — изучение Maven и Gradle для управления зависимостями, затем JUnit для тестирования и Spring Boot для создания веб-приложений.