# Среда разработки - IntelliJ IDEA
![Картинка пропала](intellij_idea_icon.svg-5514922-300x300.png "IntelliJ IDEA")

### Что такое IntelliJ IDEA

***IntelliJ IDEA*** — это интеллектуальная IDE, учитывающая контекст. Она предназначена для разработки разнообразных приложений на Java и других языках JVM, например Kotlin, Scala и Groovy. Кроме того, IntelliJ IDEA Ultimate поможет в разработке веб-приложений: она предлагает эффективные встроенные инструменты, поддержку JavaScript и связанных с ним технологий, а также расширенную поддержку таких популярных фреймворков, как Spring, Spring Boot, Jakarta EE, Micronaut, Quarkus и Helidon. А бесплатные плагины, разработанные JetBrains, позволяют дополнительно расширить возможности IntelliJ IDEA и использовать ее для работы с другими языками программирования, в том числе Go, Python, SQL, Ruby и PHP. 

### Эргономичная среда

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

#### Легкий старт
![Картинка пропала](Ergonomics_StartUp.png "IntelliJ IDEA")
Даже если вы впервые работаете с IDE, ее запуск и создание первого проекта не займут много времени. В новом мастере создания проектов можно указать тип проекта, версию Java и поддерживаемые инструменты сборки (например, Maven или Gradle). Все остальные настройки IntelliJ IDEA установит самостоятельно. Таким образом, вы сможете начать работу через считанные мгновения после запуска IntelliJ IDEA. Кроме того, вы можете открывать проекты, импортировать существующие проекты Maven или Gradle, а также извлекать проекты из систем контроля версий.

#### Сочетания клавиш для любых действий
![Картинка пропала](Ergonomics_Shortcuts2.png "IntelliJ IDEA")
В IntelliJ IDEA есть специальные сочетания клавиш практически для любых действий — от просмотра недавних файлов до запуска и отладки проекта. Одно из универсальных сочетаний — это двойной Shift (Search Everywhere). Эта функция позволяет найти любые объекты в проекте или за его пределами. Диапазон поиска может включать все от файлов, действий, классов и символов до настроек, элементов интерфейса и истории из Git.

#### Плагины
![Картинка пропала](Ergonomics_Plugins3.png "IntelliJ IDEA")
Если вы хотите дополнить базовую функциональность IDE, это можно сделать с помощью плагинов для IntelliJ IDEA. Среда поддерживает обширную экосистему плагинов, позволяющих решить практически все задачи, которые могут встать перед разработчиком. Например, у нас есть плагин Kubernetes для управления контейнеризованными приложениями и клевый индикатор выполнения Nyan Progress Bar! Установить все плагины можно в Preferences | Settings / Plugins.

#### Глубокий анализ кода
![Картинка пропала](CodeInsight_InspectionsActions.png "IntelliJ IDEA")
![Картинка пропала](CodeInsight_IntelligentCodeCompletion.png "IntelliJ IDEA")
IntelliJ IDEA была создана в первую очередь для разработки на Java, но она понимает и многие другие языки программирования, в том числе Groovy, Kotlin, Scala, JavaScript, TypeScript и SQL, и предлагает интеллектуальную помощь в написании кода на каждом из этих языков. Первоначальная индексация исходного кода позволяет IDE создать виртуальную карту проекта. Используя информацию виртуальной карты, она мгновенно обнаруживает ошибки, предлагает варианты автодополнения кода с учетом контекста, выполняет рефакторинг и т. д. 

#### Интеграция с системами контроля версий

IntelliJ IDEA по умолчанию поддерживает самые популярные системы контроля версий, такие как Git, Subversion, Mercurial и Perforce. Проект из системы контроля версий можно клонировать прямо на начальном экране, проанализировать разницу между двумя версиями, управлять ветками, записывать и отправлять изменения, разрешать конфликты слияния, просматривать историю изменений и т. д.


#### Поддержка Git
![Картинка пропала](VCS_Git.png "IntelliJ IDEA")
IntelliJ IDEA обеспечивает интеграцию с Git, позволяя клонировать проекты из Git, записывать и отправлять изменения, работать с несколькими ветками, управлять списками изменений и проверять изменения перед отправкой. В IntelliJ IDEA на вкладке Log в окне Git можно посмотреть историю всего проекта, а также отдельных папок и файлов. Можно также открыть соответствующее представление History. В редакторе можно добавить к файлам историю в виде аннотаций, как это делает git blame.


#### Docker
![Картинка пропала](Deployment_Docker.png "IntelliJ IDEA")
IntelliJ IDEA полностью поддерживает Docker. Вы можете прямо из IDE запускать разрабатываемые приложения в контейнерах Docker и выполнять их отладку, скачивать и создавать образы, запускать многоконтейнерные приложения с помощью Docker Compose и многое другое.

IntelliJ IDEA Ultimate поддерживает Docker по умолчанию. Для IntelliJ IDEA Community Edition можно скачать плагин Docker из JetBrains Marketplace. Для этого перейдите в Preferences/Settings | Plugins в IDE.


## Литература 
1. https://www.jetbrains.com/ru-ru/idea/features/