Руководство по intellij idea на русском

Intellij Idea – Введение

IntelliJ – одна из самых мощных и популярных интегрированных сред разработки (IDE) для Java. Он разработан и поддерживается JetBrains и доступен как окончательная версия для сообщества. Эта многофункциональная IDE обеспечивает быструю разработку и помогает улучшить качество кода.

Что такое IDE и его преимущества?

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

  • Интеграция с полезными инструментами, такими как компилятор, отладчик, система контроля версий, инструменты сборки, различные платформы, профилировщики приложений и так далее.

  • Поддерживает функции навигации по коду, автозавершения кода, рефакторинга и генерации кода, что ускоряет процесс разработки.

  • Поддерживает модульное тестирование, интеграционное тестирование и покрытие кода с помощью плагинов.

  • Предоставляет богатый набор плагинов для дальнейшего расширения функциональности IDE .

Интеграция с полезными инструментами, такими как компилятор, отладчик, система контроля версий, инструменты сборки, различные платформы, профилировщики приложений и так далее.

Поддерживает функции навигации по коду, автозавершения кода, рефакторинга и генерации кода, что ускоряет процесс разработки.

Поддерживает модульное тестирование, интеграционное тестирование и покрытие кода с помощью плагинов.

Предоставляет богатый набор плагинов для дальнейшего расширения функциональности IDE .

Особенности IntelliJ

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

Глубокое понимание

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

  • Интеллектуальное завершение кода – поддерживает контекстное завершение кода. Он дает список наиболее значимых символов, применимых в текущем контексте.

  • Цепное завершение кода – это расширенная функция завершения кода, которая перечисляет соответствующие символы, доступные через методы или методы получения в текущем контексте.

  • Завершение статического члена – позволяет использовать статические методы или константы и автоматически добавляет необходимые операторы импорта, чтобы избежать ошибки компиляции.

  • Обнаружение дубликатов – Он обнаруживает фрагменты дублированного кода на лету и дает уведомление / предложение об этом пользователю.

  • Инспекции и быстрые исправления. Всякий раз, когда IntelliJ обнаруживает, что вы собираетесь совершить ошибку, в одной строке появляется небольшое ламповое уведомление. Нажав на нее, вы увидите список предложений.

Интеллектуальное завершение кода – поддерживает контекстное завершение кода. Он дает список наиболее значимых символов, применимых в текущем контексте.

Цепное завершение кода – это расширенная функция завершения кода, которая перечисляет соответствующие символы, доступные через методы или методы получения в текущем контексте.

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

Обнаружение дубликатов – Он обнаруживает фрагменты дублированного кода на лету и дает уведомление / предложение об этом пользователю.

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

Эргономика разработчика

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

  • Среда, ориентированная на редактора – быстрые всплывающие окна помогают проверять дополнительную информацию, не выходя из текущего контекста.

  • Комбинации клавиш для всего – в IntelliJ IDEA есть комбинации клавиш практически для всего, включая быстрый выбор, переключение между окнами инструментов и многое другое.

  • Встроенный отладчик – Встроенный отладчик позволяет отлаживать приложение в самой IDE. Это делает процесс разработки и отладки беспроблемным.

Среда, ориентированная на редактора – быстрые всплывающие окна помогают проверять дополнительную информацию, не выходя из текущего контекста.

Комбинации клавиш для всего – в IntelliJ IDEA есть комбинации клавиш практически для всего, включая быстрый выбор, переключение между окнами инструментов и многое другое.

Встроенный отладчик – Встроенный отладчик позволяет отлаживать приложение в самой IDE. Это делает процесс разработки и отладки беспроблемным.

Встроенные инструменты разработчика

Чтобы помочь разработчикам организовать рабочий процесс, IntelliJ IDEA предлагает им удивительный набор инструментов, который включает в себя декомпилятор, поддержку Docker, средство просмотра байт-кода, FTP и многие другие инструменты –

  • Контроль версий – IntelliJ поддерживает большинство популярных систем контроля версий, таких как Git, Subversion, Mercurial, CVS, Perforce и TFS.

  • Инструменты сборки – IntelliJ поддерживает Java и другие инструменты сборки, такие как Maven, Gradle, Ant, Gant, SBT, NPM, Webpack, Grunt и Gulp.

  • Тестовый прогон и покрытие кода – IntelliJ IDEA позволяет с легкостью выполнять модульное тестирование. Среда IDE включает в себя тестовые прогоны и инструменты покрытия для основных сред тестирования, включая JUnit, TestNG, Spock, Cucumber, ScalaTest, spec2 и Karma.

  • Декомпилятор – IntelliJ поставляется со встроенным декомпилятором для классов Java. Если вы хотите заглянуть внутрь библиотеки, для которой у вас нет исходного кода, вы можете сделать это без использования сторонних плагинов.

  • Терминал – IntelliJ предоставляет встроенный терминал. В зависимости от вашей платформы вы можете работать с командной строкой, например PowerShell или Bash.

  • Инструменты базы данных – IntelliJ предоставляет инструменты базы данных, которые позволяют подключаться к действующим базам данных; выполнять запросы; просматривать и обновлять данные; и даже управлять своими схемами в визуальном интерфейсе из самой IDE.

  • Сервер приложений – IntelliJ поддерживает основные серверы приложений: Tomcat, JBoss, WebSphere, WebLogic, Glassfish и многие другие. Вы можете развернуть свои артефакты на серверах приложений и отладить развернутые приложения в самой IDE.

  • Поддержка Docker. Через отдельный плагин IntelliJ предоставляет специальное окно инструментов, которое позволяет подключаться к локально работающим компьютерам Docker.

Контроль версий – IntelliJ поддерживает большинство популярных систем контроля версий, таких как Git, Subversion, Mercurial, CVS, Perforce и TFS.

Инструменты сборки – IntelliJ поддерживает Java и другие инструменты сборки, такие как Maven, Gradle, Ant, Gant, SBT, NPM, Webpack, Grunt и Gulp.

Тестовый прогон и покрытие кода – IntelliJ IDEA позволяет с легкостью выполнять модульное тестирование. Среда IDE включает в себя тестовые прогоны и инструменты покрытия для основных сред тестирования, включая JUnit, TestNG, Spock, Cucumber, ScalaTest, spec2 и Karma.

Декомпилятор – IntelliJ поставляется со встроенным декомпилятором для классов Java. Если вы хотите заглянуть внутрь библиотеки, для которой у вас нет исходного кода, вы можете сделать это без использования сторонних плагинов.

Терминал – IntelliJ предоставляет встроенный терминал. В зависимости от вашей платформы вы можете работать с командной строкой, например PowerShell или Bash.

Инструменты базы данных – IntelliJ предоставляет инструменты базы данных, которые позволяют подключаться к действующим базам данных; выполнять запросы; просматривать и обновлять данные; и даже управлять своими схемами в визуальном интерфейсе из самой IDE.

Сервер приложений – IntelliJ поддерживает основные серверы приложений: Tomcat, JBoss, WebSphere, WebLogic, Glassfish и многие другие. Вы можете развернуть свои артефакты на серверах приложений и отладить развернутые приложения в самой IDE.

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

Сравнение между Ultimate и Community Edition

Ultimate Edition предназначен для помощи в разработке веб-сайтов и предприятий, тогда как Community Edition предназначен для разработки JVM и Android. Давайте рассмотрим несколько важных моментов, которые помогут нам понять сравнение между двумя изданиями:

Особенность Community Edition Ultimate Edition
Лицензия коммерческий С открытым исходным кодом, Apache 2.0. для коммерческого развития.
Ява, Котлин, Groovy, Скала поддержанный поддержанный
Разработка Android поддержанный поддержанный
Maven, Gradle, SBT поддержанный поддержанный
Git, SVN, Mercurial, CVS поддержанный поддержанный
Обнаружение дубликатов поддержанный Не поддерживается
Perforce, TFS поддержанный Не поддерживается
JavaScript, TypeScript поддержанный Не поддерживается
Java EE, Spring, GWT, Vaadin, Play, Grails, Другие фреймворки поддержанный Не поддерживается
Инструменты базы данных, SQL поддержанный Не поддерживается

Intellij Idea – Установка и настройка

В этой главе мы поймем, как установить и настроить IntelliJ IDEA. Первый шаг процесса начинается с выбора издания. Согласно вашим требованиям, вы можете скачать сообщество или окончательную версию. Как следует из названия, общественная версия абсолютно бесплатна, и мы можем использовать ее также для коммерческой разработки. Тем не менее, окончательная версия является платной версией, и мы можем свободно оценить ее в течение 30 дней.

Установка на Windows

IntelliJ совместим практически со всеми версиями Windows до 2003 года. Полный список будет: Windows 10/8/7 / Vista / 2003 / XP. Перед установкой IntelliJ в Windows рекомендуется закрыть все остальные приложения.

Системные Требования

  • Для бесперебойной работы рекомендуется минимум 2 ГБ ОЗУ.

  • Для лучшей визуализации рекомендуется разрешение экрана 1024×768.

  • Минимум 300 МБ дискового пространства для установки и дополнительные 1 ГБ для кэша.

Для бесперебойной работы рекомендуется минимум 2 ГБ ОЗУ.

Для лучшей визуализации рекомендуется разрешение экрана 1024×768.

Минимум 300 МБ дискового пространства для установки и дополнительные 1 ГБ для кэша.

Загрузка и установка

  • Загрузка – Вы можете скачать установщик Windows с их официального сайта.

  • Установка. Давайте начнем с установки, а затем с настройками. Установка IntelliJ аналогична другим программным пакетам. Просто дважды щелкните по установщику и следуйте инструкциям на экране для завершения процесса установки.

Загрузка – Вы можете скачать установщик Windows с их официального сайта.

Установка. Давайте начнем с установки, а затем с настройками. Установка IntelliJ аналогична другим программным пакетам. Просто дважды щелкните по установщику и следуйте инструкциям на экране для завершения процесса установки.

Установка в Linux

Для установки IntelliJ на платформах Linux вы должны заметить, что 32-битный JDK не входит в комплект, поэтому рекомендуется 64-битная система.

Системные Требования

  • Среда рабочего стола GNOME, KDE или XFCE

  • Для беспроблемного использования рекомендуется минимум 2 ГБ ОЗУ

  • 300 МБ дискового пространства для установки и добавления 1 ГБ для кэшей

  • Для лучшей визуализации рекомендуется разрешение экрана 1024×768

Среда рабочего стола GNOME, KDE или XFCE

Для беспроблемного использования рекомендуется минимум 2 ГБ ОЗУ

300 МБ дискового пространства для установки и добавления 1 ГБ для кэшей

Для лучшей визуализации рекомендуется разрешение экрана 1024×768

Загрузка и установка

  • Загрузка – Вы можете скачать IntelliJ для Linux с их официального сайта.

  • Установка – Мы скачали пакет tar.gz. Обратите внимание, что в нашем случае имя пакета было ideaIC-2017.2.5.tar.gz. Это может измениться с выпуском / версией. Пожалуйста, используйте соответствующее название пакета.

Загрузка – Вы можете скачать IntelliJ для Linux с их официального сайта.

Установка – Мы скачали пакет tar.gz. Обратите внимание, что в нашем случае имя пакета было ideaIC-2017.2.5.tar.gz. Это может измениться с выпуском / версией. Пожалуйста, используйте соответствующее название пакета.

First extract it using following command:
$ tar xvf ideaIC-2017.2.5.tar.gz
It will create new directory with idea-IC-172.4343.14 name. 
Now change directory to idea-IC-172.4343.14/bin/ and execute idea.sh shell script as shown below:
$ cd idea-IC-172.4343.14/bin/
$ ./idea.sh
Follow on-screen instructions to complete installation procedure.

Настроить IntelliJ

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

Шаг 1 – Если вы используете окончательную версию, появится окно активации лицензии. Выберите параметр «Оценить бесплатно» и нажмите кнопку «Оценить», как показано на следующем рисунке.

Активация лицензии

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

Шаг 3. Теперь пришло время сконфигурировать Java Development Kit (в дальнейшем мы будем называть его JDK) с IntelliJ. Если JDK еще не установлен, следуйте инструкциям, приведенным здесь .

  • На экране приветствия нажмите «настроить»

  • Выберите «Проект по умолчанию» из выпадающего списка

  • Выберите опцию «структура проекта»

На экране приветствия нажмите «настроить»

Выберите «Проект по умолчанию» из выпадающего списка

Выберите опцию «структура проекта»

Структура проекта

  • Выберите опцию «SDK» в меню «Настройки платформы».

  • Нажмите на значок «плюс» и выберите опцию «JDK».

  • Выберите домашний каталог JDK и следуйте инструкциям на экране.

Выберите опцию «SDK» в меню «Настройки платформы».

Нажмите на значок «плюс» и выберите опцию «JDK».

Выберите домашний каталог JDK и следуйте инструкциям на экране.

Настройки платформы

Intellij Idea – Знакомство

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

Эта глава дает вам обзор IntelliJ. Глава начинается с обсуждения визуальных элементов IDE, параметров конфигурации и, наконец, заканчивается обсуждением свойств JVM и платформы.

Визуальные Элементы

Одна из важных вещей в IDE – это ее визуальные элементы. Выявление и понимание визуальных элементов позволяет вам выполнять действия быстрее и проще. Следующий скриншот и метки на нем показывают основной интерфейс IntelliJ.

Визуальные Элементы

  1. Панель меню – Панель меню предоставляет параметры для создания новых проектов и других важных действий, связанных с проектами, таких как рефакторинг кода, сборки, запуск, отладка, параметры управления версиями и так далее.

  2. Панель инструментов – Панель инструментов предоставляет ярлыки для компиляции, отладки и запуска параметров. Вы можете настроить его в соответствии с вашими требованиями.

  3. Панель навигации – Панель навигации облегчает навигацию внутри проекта. Эта функция становится полезной при увеличении базы кода.

  4. Вкладка «Инструменты»вкладка «Инструменты» отображается с обеих сторон главного окна. Отсюда вы можете получить доступ к важным инструментам, таким как базы данных; Maven / Ant строит и так далее.

  5. Перспектива проекта – Окно перспективы проекта показывает различные элементы проектов, такие как пакеты, модули, классы, внешние библиотеки и так далее.

  6. Окно редактора – это место, где разработчик проводит большую часть своего времени. Окно редактора позволяет редактировать / писать код с подсветкой синтаксиса и другими полезными функциями.

Панель меню – Панель меню предоставляет параметры для создания новых проектов и других важных действий, связанных с проектами, таких как рефакторинг кода, сборки, запуск, отладка, параметры управления версиями и так далее.

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

Панель навигации – Панель навигации облегчает навигацию внутри проекта. Эта функция становится полезной при увеличении базы кода.

Вкладка «Инструменты»вкладка «Инструменты» отображается с обеих сторон главного окна. Отсюда вы можете получить доступ к важным инструментам, таким как базы данных; Maven / Ant строит и так далее.

Перспектива проекта – Окно перспективы проекта показывает различные элементы проектов, такие как пакеты, модули, классы, внешние библиотеки и так далее.

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

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

Работа с плагинами

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

Плагины Начиная

Шаги по управлению плагинами

Выполните следующие шаги для управления плагинами –

  • Перейдите в меню Файл → Настройки.

  • Выберите вкладку Плагины на левой панели.

  • В этом окне перечислены все установленные плагины. С правой стороны имени каждого плагина есть флажок. Переключение этого флажка включает / отключает плагины.

  • Онлайн-плагин для IntelliJ доступен здесь. Чтобы добавить / удалить плагин репозитория, нажмите на кнопку обзора репозитория, и он предоставит способ сделать все необходимое.

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

Перейдите в меню Файл → Настройки.

Выберите вкладку Плагины на левой панели.

В этом окне перечислены все установленные плагины. С правой стороны имени каждого плагина есть флажок. Переключение этого флажка включает / отключает плагины.

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

В дополнение к этому, он позволяет автономную установку плагина. Для этого загрузите плагин, выберите установочный плагин с помощью кнопки диска и перейдите к пути загрузки.

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

Работа с настройками

Этот раздел содержит несколько важных советов по управлению настройками. Это позволяет вам импортировать, экспортировать и обмениваться настройками IntelliJ.

Настройки экспорта

Это позволяет экспортировать текущие настройки в виде файла JAR.

  • Перейдите в Файл → Настройки экспорта.

  • В окне настроек экспорта перечислены доступные настройки, связанные с пользовательским интерфейсом, отладчиком, SDK и другими.

  • Он предоставляет флажок для выбора. После того, как выбор сделан, нажмите кнопку ОК, чтобы сохранить настройки на локальном диске.

Перейдите в Файл → Настройки экспорта.

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

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

Настройки импорта

Это позволяет импортировать настройки, хранящиеся в файле JAR.

  • Перейдите в Файл → Импортировать настройки.
  • Выберите файл настроек с помощью структуры папок
  • Нажмите на кнопку ОК.

Настройки обмена

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

Чтобы обеспечить его статус –

  • Перейдите в Файл → Настройки → Плагины
  • Плагин репозитория настроек поиска

Мы можем сохранить текущие настройки в GitHub / Bitbucket и применить их к другим экземплярам. Для сохранения текущей настройки –

  • Перейдите в Файл → Настройки хранилища.

  • Введите URL-адрес хранилища Git в вышестоящем диалоговом окне URL.

  • Нажмите на кнопку Перезаписать дистанционный.

  • Чтобы применить те же настройки к другим экземплярам, ​​нажмите кнопку «Перезаписать локальный».

Перейдите в Файл → Настройки хранилища.

Введите URL-адрес хранилища Git в вышестоящем диалоговом окне URL.

Нажмите на кнопку Перезаписать дистанционный.

Чтобы применить те же настройки к другим экземплярам, ​​нажмите кнопку «Перезаписать локальный».

Настройка параметров JVM и свойств платформы

Мы можем настроить параметры JVM, перейдя в меню « Справка» → «Изменить пользовательские параметры виртуальной машины» . Ниже приведены несколько важных параметров JVM, которые мы можем установить.

  • –Server – позволяет выбрать виртуальную машину Java HotSpot Server

  • -Xms <размер> – устанавливает начальный размер кучи Java. Значение по умолчанию составляет 128 МБ.

  • -Xmx <размер> – устанавливает максимальный размер кучи Java. Значение по умолчанию составляет 750 МБ.

  • -Xss <размер> – устанавливает размер стека потока Java.

  • –XX – позволяет установить алгоритм GC и другие свойства.

–Server – позволяет выбрать виртуальную машину Java HotSpot Server

-Xms <размер> – устанавливает начальный размер кучи Java. Значение по умолчанию составляет 128 МБ.

-Xmx <размер> – устанавливает максимальный размер кучи Java. Значение по умолчанию составляет 750 МБ.

-Xss <размер> – устанавливает размер стека потока Java.

–XX – позволяет установить алгоритм GC и другие свойства.

Intellij Idea – создание первого Java-проекта

Настало время получить практический опыт работы с IntelliJ. В этой главе мы создадим наш первый Java-проект. Мы напишем и выполним традиционную программу Hello World . В этой главе описывается компиляция и запуск приложения Java.

Создать проект

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

  • Запустите IntelliJ.

  • Перейдите в Файл → Создать → Меню проекта .

  • Выберите проект Java и соответствующий SDK и нажмите кнопку «Далее».

Запустите IntelliJ.

Перейдите в Файл → Создать → Меню проекта .

Выберите проект Java и соответствующий SDK и нажмите кнопку «Далее».

Java проект

  • Если вы хотите создать класс Java с помощью метода main, то выберите «Создать проект» из флажка шаблона.

  • Выберите приложение командной строки в диалоговом окне, показанном ниже, и продолжите.

  • Введите название проекта и местоположение каталога.

  • Нажмите на кнопку Готово.

Если вы хотите создать класс Java с помощью метода main, то выберите «Создать проект» из флажка шаблона.

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

Введите название проекта и местоположение каталога.

Нажмите на кнопку Готово.

Создать пакет

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

  • Перейти к перспективе проекта.

  • Щелкните правой кнопкой мыши Project, выберите опцию New-> Module .

Перейти к перспективе проекта.

Щелкните правой кнопкой мыши Project, выберите опцию New-> Module .

Перспектива проекта

  • Новое окно модуля будет похоже на новый проект. Выберите опцию Java и соответствующий SDK и нажмите кнопку Далее.

  • Введите имя модуля.

  • Нажмите на кнопку Готово.

Новое окно модуля будет похоже на новый проект. Выберите опцию Java и соответствующий SDK и нажмите кнопку Далее.

Введите имя модуля.

Нажмите на кнопку Готово.

Создать класс Java

В этом разделе мы узнаем, как создать класс Java. Класс Java может быть создан под модулем Java. Выполните следующие шаги, чтобы создать модуль –

  • Перейти к перспективе проекта.

  • Разверните Project и выберите каталог src из модуля.

  • Щелкните по нему правой кнопкой мыши; выберите опцию New-> Java Class.

  • Введите имя класса в диалоговом окне и нажмите кнопку ОК.

  • Откроется окно редактора с объявлением класса.

Перейти к перспективе проекта.

Разверните Project и выберите каталог src из модуля.

Щелкните по нему правой кнопкой мыши; выберите опцию New-> Java Class.

Введите имя класса в диалоговом окне и нажмите кнопку ОК.

Откроется окно редактора с объявлением класса.

Запустить Java-приложение

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

  • Давайте напишем простой код, который напечатает сообщение на консоли. Введите следующий код в окне редактора –

Давайте напишем простой код, который напечатает сообщение на консоли. Введите следующий код в окне редактора –

public class HelloWorld { 
   public static void main(String[] args) { 
      System.out.println("Hello, World !!!"); 
   } 
}
  • Перейдите в меню «Выполнить» и выберите параметр «Выполнить».

  • Выберите имя класса и нажмите «Выполнить».

  • Если нет ошибок компиляции, то он покажет вывод в нижней части окна.

Перейдите в меню «Выполнить» и выберите параметр «Выполнить».

Выберите имя класса и нажмите «Выполнить».

Если нет ошибок компиляции, то он покажет вывод в нижней части окна.

Java-приложение

Intellij Idea – Deep Dive

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

Понимание проектов

Проект – это приложение или программное обеспечение, над которым вы работаете. Он может содержать несколько модулей, классов, библиотек, конфигурации и так далее. Это самый верхний элемент в иерархии.

Понимание модулей

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

В дополнение к этому, мы также можем импортировать существующие модули. Выполните следующие шаги, чтобы импортировать существующие модули –

  • Перейдите в Файл → Структура проекта.
  • Выберите модули и нажмите на значок плюс.
  • Покажет возможность импортировать модуль.

Особенность модулей

Понимание папок

Корень содержимого – это папка, содержащая все файлы, которые составляют ваш модуль. Модуль может иметь более одной папки содержимого. Папки подразделяются на следующие типы –

  • Источники. Назначая эту категорию папке, мы указываем IntelliJ, что эта папка и ее подпапка содержат исходный код Java и должны быть скомпилированы как часть процесса компиляции.

  • Тесты – назначая эту категорию папке, мы указываем IntelliJ, что это место для модульных тестов. Эта папка может получить доступ к классам из папки Sources.

  • Ресурсы – представляет различные файлы ресурсов, используемые в проекте, например, изображения, XML и файлы свойств. В процессе компиляции содержимое этой папки копируется как есть в выходную папку.

  • Исключено – содержимое из исключенной папки не будет проиндексировано IntelliJ. Это означает, что IntelliJ не будет предлагать подсказки для завершения кода и другие подсказки. Например, выходной каталог и целевой каталог по умолчанию исключены.

  • Тестовые ресурсы – это похоже на ресурсы и используется для модульных тестов.

Источники. Назначая эту категорию папке, мы указываем IntelliJ, что эта папка и ее подпапка содержат исходный код Java и должны быть скомпилированы как часть процесса компиляции.

Тесты – назначая эту категорию папке, мы указываем IntelliJ, что это место для модульных тестов. Эта папка может получить доступ к классам из папки Sources.

Ресурсы – представляет различные файлы ресурсов, используемые в проекте, например, изображения, XML и файлы свойств. В процессе компиляции содержимое этой папки копируется как есть в выходную папку.

Исключено – содержимое из исключенной папки не будет проиндексировано IntelliJ. Это означает, что IntelliJ не будет предлагать подсказки для завершения кода и другие подсказки. Например, выходной каталог и целевой каталог по умолчанию исключены.

Тестовые ресурсы – это похоже на ресурсы и используется для модульных тестов.

Корень контента

Понимание библиотек

Библиотека представляет собой сборник разных классов. Библиотека позволяет многократно использовать код. В Java библиотека может быть заключена в ZIP, Jar или просто папку. Мы можем определить библиотеки на трех разных уровнях. Уровни – глобальный, проектный и модульный.

  • Глобальный уровень – общий для всех проектов.

  • Уровень проекта – общий для всех модулей проекта.

  • Уровень модуля – общий для классов этих модулей.

Глобальный уровень – общий для всех проектов.

Уровень проекта – общий для всех модулей проекта.

Уровень модуля – общий для классов этих модулей.

Понимание граней

Грани являются расширениями модулей. Они добавляют поддержку фреймворкам и технологиям. Когда фасет добавляется в модуль, IntelliJ определяет, что он добавляет поддержку. Например, подсказки и помощь в редакторе, новые инструменты в панели окон, загрузка зависимостей и так далее. Вы можете добавить фасеты из окна Файл → Структура проекта, как показано ниже –

Оконная панель

Артефакты

Артефакты являются результатом проекта. Это может быть простой файл JAR, приложение Java EE или приложение Java EJB. Если мы используем внешние инструменты сборки, такие как Gradle или Maven, IntelliJ автоматически добавит для них артефакт. Артефакты можно создать, перейдя в Файл → Структура проекта, как показано ниже –

Артефакты

Импорт существующего проекта

В этом разделе мы поймем, как импортировать существующий проект. Мы можем импортировать проект двумя способами –

  • Импортируйте его из существующего источника
  • Импортируйте его из модели сборки.

В настоящее время он поддерживает инструменты сборки Gradle и Maven. Импортировать проект –

  • Перейдите в Файл → Создать → Проект из существующего источника.
  • Выберите каталог существующего проекта, Maven’s pom.xml или скрипт сборки Gradle.
  • Нажмите на кнопку ОК.

Импорт существующего проекта

Форматы проектов

IntelliJ поддерживает два типа формата проекта: один – на основе каталогов, а другой – на основе файлов . Формат на основе каталогов является более новым, рекомендуется. По умолчанию IntelliJ создает каталог проекта на основе формата. Вы можете выбрать формат проекта при создании нового проекта. В новом окне проекта просто нажмите на дополнительные настройки, как показано на рисунке ниже –

Форматы проектов

Директивный формат проекта

Этот формат помогает создать папку идей в вашем проекте и сохранить все файлы конфигурации в этой папке. Настройки сгруппированы в XML-файлы. Например, он создаст misc.xml, modules.xml, workspace.xml и так далее. Следующий скриншот поможет вам понять, как это работает –

Директивный формат проекта

Файловый формат проекта

Он создаст два файла проекта с расширениями ..ipr и wpr . Файл ipr будет содержать параметры, относящиеся к проекту, а файл wpr будет содержать параметры, относящиеся к рабочей области.

Файловый формат проекта

Чтобы преобразовать файловый проект в проект на основе каталога, перейдите в Файл → Сохранить как формат на основе каталога .

На основе каталогов против файлового формата проекта

По сравнению с форматом проекта на основе файлов формат проекта на основе каталога хранит настройки в отдельной папке со значимыми именами. Другие отличия –

  • Связанные настройки, сохраняемые в одном файле, упрощают управление в формате проекта на основе каталога.

  • Если папка содержит подпапку идеи, то IntelliJ распознает этот проект. Из-за этого вам не нужно явно выбирать проект ipr.

  • Формат проекта на основе каталогов разбивает настройки на несколько файлов, поэтому проще выбрать конкретный тип настроек для хранения в системе контроля версий.

Связанные настройки, сохраняемые в одном файле, упрощают управление в формате проекта на основе каталога.

Если папка содержит подпапку идеи, то IntelliJ распознает этот проект. Из-за этого вам не нужно явно выбирать проект ipr.

Формат проекта на основе каталогов разбивает настройки на несколько файлов, поэтому проще выбрать конкретный тип настроек для хранения в системе контроля версий.

Intellij Idea – глубокое погружение в редактор

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

Визуальные элементы редактора

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

Давайте теперь рассмотрим другое положение –

Водосточная зона

Область желоба редактора расположена на левой стороне IDE, как показано на следующем рисунке –

Водосточная зона

Этикетки

Теперь мы поймем, как работают этикетки. Приведенный выше скриншот помечен цифрами. Теперь мы посмотрим, что цифры должны показать –

  • Здесь мы можем видеть номера строк вместе с другими полезными опциями. Если вы внимательно посмотрите перед именем класса и основным методом, то увидите маленький зеленый треугольник. Он предоставляет возможность запуска, отладки и запуска приложения с покрытием. Просто нажмите на значок треугольника, и он предоставит варианты.

  • Вы можете увидеть маленький символ плюс в строке номер 6. Это функциональность свертывания кода. Если вы нажмете на эту иконку, она развернется. Свертывание кода может быть выполнено на уровне класса, метода, цикла и других блоков.

  • В строках с номерами 11 и 14 есть 2 стрелки, которые указывают друг на друга. Маркер представляет начальную и конечную позицию метода. Если вы нажмете на любую стрелку, то она выполнит действие сгиба для этого блока кода. Область желоба будет отображать различные символы при выполнении определенных действий; например, он покажет символы для точек останова, аннотации Java.

Здесь мы можем видеть номера строк вместе с другими полезными опциями. Если вы внимательно посмотрите перед именем класса и основным методом, то увидите маленький зеленый треугольник. Он предоставляет возможность запуска, отладки и запуска приложения с покрытием. Просто нажмите на значок треугольника, и он предоставит варианты.

Вы можете увидеть маленький символ плюс в строке номер 6. Это функциональность свертывания кода. Если вы нажмете на эту иконку, она развернется. Свертывание кода может быть выполнено на уровне класса, метода, цикла и других блоков.

В строках с номерами 11 и 14 есть 2 стрелки, которые указывают друг на друга. Маркер представляет начальную и конечную позицию метода. Если вы нажмете на любую стрелку, то она выполнит действие сгиба для этого блока кода. Область желоба будет отображать различные символы при выполнении определенных действий; например, он покажет символы для точек останова, аннотации Java.

Статус бар

В нижней части окна редактора находится строка состояния, в которой отображается информация о текущем файле и состоянии проекта.

Журнал событийСтатус бар

  • На первом изображении 16: 1 представляет текущий номер строки и номер столбца соответственно.

  • Далее идет разделитель строк, для UNIX и Mac OS это n, а для Windows – r.

  • UTF-8 представляет кодировку файла.

  • Далее идет значок замка . Мы можем переключить атрибут файла только для чтения, щелкнув по нему.

  • В конце есть символ с мужским лицом. Позволяет управлять уровнем проверки кода.

    • Когда мы вводим код в редакторе, IntelliJ проверяет код на лету и показывает подсказки / предложения. Мы можем решить уровень проверки отсюда. Например, мы можем полностью отключить его или разрешить проверку только на синтаксис и так далее.

    • Отсюда также можно включить режим энергосбережения, который отключит фоновый анализ кода и другие фоновые задания.

  • Строка состояния также показывает информацию о действиях проекта. Например, второе изображение показывает информацию о компиляции проекта.

На первом изображении 16: 1 представляет текущий номер строки и номер столбца соответственно.

Далее идет разделитель строк, для UNIX и Mac OS это n, а для Windows – r.

UTF-8 представляет кодировку файла.

Далее идет значок замка . Мы можем переключить атрибут файла только для чтения, щелкнув по нему.

В конце есть символ с мужским лицом. Позволяет управлять уровнем проверки кода.

Когда мы вводим код в редакторе, IntelliJ проверяет код на лету и показывает подсказки / предложения. Мы можем решить уровень проверки отсюда. Например, мы можем полностью отключить его или разрешить проверку только на синтаксис и так далее.

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

Строка состояния также показывает информацию о действиях проекта. Например, второе изображение показывает информацию о компиляции проекта.

Царапины

IntelliJ предоставляет временный редактор. Вы можете создавать текст или фрагмент кода без изменения текущей структуры проекта. Он предоставляет два типа временных файлов –

Скретч-файлы

Они функциональны, работают и отлаживаются. Создать скретч-файл –

  • Перейдите в Файл → Создать → Скретч- файл.

  • Выберите язык по вашему выбору.

  • Он создаст файл в папке IntelliJ-Installation-Directory config scratches.

Перейдите в Файл → Создать → Скретч- файл.

Выберите язык по вашему выбору.

Он создаст файл в папке IntelliJ-Installation-Directory config scratches.

Царапин буферы

Это используется только для создания любого текста. Чтобы создать рабочий буфер –

  • Нажмите Ctrl + Shift + A или нажмите значок поиска везде

  • Появится диалоговое окно.

  • Введите новый текст буфера очистки в этом поле и нажмите Enter.

  • Это откроет рабочий буфер в окне редактора.

Нажмите Ctrl + Shift + A или нажмите значок поиска везде

Появится диалоговое окно.

Введите новый текст буфера очистки в этом поле и нажмите Enter.

Это откроет рабочий буфер в окне редактора.

Как и рабочие файлы, рабочие папки также хранятся в папке IntelliJ-Installation-Directory config scratches.

Полоса прокрутки

Полоса прокрутки выделяет предупреждения / сообщения об ошибках / маркеры TODO из кода. Например, методы sayHello () и sayGoodBye () никогда не используются; следовательно, полоса прокрутки показывает желтый маркер для них.

Полоса прокрутки

В строке № 8 есть комментарий TODO, полоса прокрутки выделяет его с помощью синего маркера. Ошибки подсвечиваются красным маркером.

Действия редактора

В этом разделе мы обсудим действия редактора в IntelliJ.

Поиск и замена

Для поиска текста в текущем файле –

  • Перейдите к файлу в окне редактора и нажмите Ctrl + F.

  • Появится текстовое поле, введите текст для поиска там.

  • Здесь вы можете указать различные параметры – совпадение с учетом регистра, точное совпадение, регулярное выражение и т. Д.

Перейдите к файлу в окне редактора и нажмите Ctrl + F.

Появится текстовое поле, введите текст для поиска там.

Здесь вы можете указать различные параметры – совпадение с учетом регистра, точное совпадение, регулярное выражение и т. Д.

Действия редактора

Вы можете выполнить операцию поиска на очень детальном уровне. Например, поиск может быть выполнен на уровне проекта, модуля или каталога –

  • Нажмите комбинацию клавиш Ctrl + Shift + F.

  • Появится новое окно; отсюда вы можете выбрать соответствующий уровень.

Нажмите комбинацию клавиш Ctrl + Shift + F.

Появится новое окно; отсюда вы можете выбрать соответствующий уровень.

Новое окно

Чтобы выполнить действие замены в текущем файле –

  • Нажмите комбинацию клавиш Ctrl + R.

  • Появится диалоговое окно, введите текст для замены здесь.

  • Эта операция позволяет заменить одно совпадение, все совпадения или пропустить текущее совпадение.

Нажмите комбинацию клавиш Ctrl + R.

Появится диалоговое окно, введите текст для замены здесь.

Эта операция позволяет заменить одно совпадение, все совпадения или пропустить текущее совпадение.

Заменить один

Выполнить действие замены на уровне детализации –

  • Нажмите сочетание клавиш Shift + Ctrl + R.

  • Это позволит вам заменить текст в проекте, модуле, каталоге и других областях.

Нажмите сочетание клавиш Shift + Ctrl + R.

Это позволит вам заменить текст в проекте, модуле, каталоге и других областях.

Режим выбора столбца

Чтобы включить выбор режима столбца, удерживайте клавишу Alt при выделении текста. Чтобы включить режим выбора столбцов на постоянной основе, выберите « Правка» → «Режим выбора столбцов» .

Выбор столбца

История буфера обмена

Когда мы копируем любой текст, он попадает в историю буфера обмена. IntelliJ поддерживает историю буфера обмена. Чтобы просмотреть эту историю, нажмите комбинацию клавиш Ctrl + Shift + V. Вы можете выбрать содержимое для вставки из этого окна.

История буфера обмена

Завершение кода

IntelliJ проверяет код на лету и обеспечивает точное завершение кода. Например, когда я набираю слово say – он предлагает методы sayHello () и sayGoodBye () .

Завершение кода

Завершение кода предлагает атрибуты класса и методы класса при работе с объектами класса.

Генерация кода

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

  • Выберите опцию Generate .

  • В нем будут перечислены методы, для которых может быть сгенерирован код.

Выберите опцию Generate .

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

Создать вариант

Проверка кода

Мы уже видели, что IntelliJ идентифицирует синтаксические ошибки, предупреждающие сообщения и маркеры TODO. В дополнение к этому, он предлагает улучшение кода, идентифицирует мертвый код, оптимизацию кода. Например, в приведенном ниже коде значение flag всегда равно true. Следовательно, другая часть никогда не будет выполнена.

boolean flag = true; 
if (flag == true) { 
   System.out.println("Value of flag is true"); 
} else { 
   System.out.println("Value of flag is false"); 
}

IntelliJ идентифицирует это и предлагает удалить этот блок кода.

Проверка кода

Сравнение файлов и папок

Выполните следующие действия, чтобы сравнить файлы и папки –

  • Удерживайте клавишу Ctrl и выберите файлы для сравнения с точки зрения проекта.

  • Щелкните правой кнопкой мыши и выберите опцию « Сравнить файлы» .

  • Откроется окно сравнения, в котором выделены изменения.

Удерживайте клавишу Ctrl и выберите файлы для сравнения с точки зрения проекта.

Щелкните правой кнопкой мыши и выберите опцию « Сравнить файлы» .

Откроется окно сравнения, в котором выделены изменения.

Вы также можете применить изменения из одного файла в другой. Если вы наблюдаете, есть две стрелки, выделенные красным цветом. Нажмите на них, чтобы применить изменения из другого файла. Нажмите Ctrl + Z, чтобы отменить изменения.

Аналогично, для сравнения папок выберите папки с точки зрения проекта вместо файлов.

Сравнить файлы

Получать помощь

Это полезно, если вы легко узнаете подробности о коде. Как и описание метода, его тип возвращаемого значения, тип аргументов и количество аргументов – IntelliJ может предоставить эти детали в самом окне редактора.

Встроенная документация

Как следует из названия, IntelliJ может получить доступ к документации, извлекая ее из кода. Если вы предоставляете Java Docs для своего кода, IntelliJ может показать справку об этом. Чтобы получить доступ к встроенной документации, наведите курсор на имя метода и нажмите комбинацию клавиш Ctrl + Q.

Встроенная документация

Просмотр определения

Чтобы просмотреть определение, наведите указатель мыши на имя метода и нажмите комбинацию клавиш Ctrl + Shift + I.

Просмотр определения

Показать использование

Чтобы просмотреть использование метода, нажмите на объявление / определение метода и нажмите комбинацию клавиш Alt + Ctrl + F7 .

Показать использование

Просмотр параметров

Чтобы просмотреть параметры метода, введите имя метода и нажмите комбинацию клавиш Ctrl + P.

Просмотр параметров

Линнинг код

Linting – это процесс, в котором инструмент lint анализирует исходные коды и сообщает о потенциальных проблемах, связанных со стандартом кодирования. Это помогает в улучшении качества кода. IntelliJ поддерживает плагин SonarLint, который связывает код.

О СонарЛинт

После установки и включения подключаемого модуля SonarLint он автоматически начнет анализ кода при открытии файла в окне редактора. Он сообщит о проблемах на панели SonarLint. Мы обсудим больше об этом в этом разделе.

SonarLint поддерживает популярные языки программирования, такие как Java, JavaScript, PHP и Python.

Монтаж

Выполните следующие шаги для установки SonarLint –

  • Загрузите SonarLint отсюда .

  • Перейдите в Файл → Настройки → Выбрать плагины .

  • Нажмите на кнопку Установить плагин с диска .

  • Выполните установку на экране, чтобы завершить процедуру установки.

Загрузите SonarLint отсюда .

Перейдите в Файл → Настройки → Выбрать плагины .

Нажмите на кнопку Установить плагин с диска .

Выполните установку на экране, чтобы завершить процедуру установки.

Установка на экране

Анализ кода

После того, как плагин установлен и включен, он начнет анализировать код на лету . Он сообщит о проблемах на панели SonarLint. Выполните следующие шаги для просмотра проблем текущего файла –

  • Нажмите на вкладку Текущий файл.

  • Он будет сообщать о таких проблемах, как неиспользуемые локальные переменные, неиспользуемые атрибуты класса, ведение журнала сообщений и так далее.

  • Чтобы узнать больше о проблеме, нажмите на проблему на панели SolarLint.

  • В правой части окна он покажет свою серьезность как Major, Minor и так далее.

Нажмите на вкладку Текущий файл.

Он будет сообщать о таких проблемах, как неиспользуемые локальные переменные, неиспользуемые атрибуты класса, ведение журнала сообщений и так далее.

Чтобы узнать больше о проблеме, нажмите на проблему на панели SolarLint.

В правой части окна он покажет свою серьезность как Major, Minor и так далее.

Серьезность как майор

Сделать один раз анализ кода

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

  • Выберите Файл → Настройки → Другие настройки → Общие настройки SonarLint.

  • Снимите флажок Автоматически анализ триггера на вкладке настроек.

  • Нажмите Применить, а затем кнопку ОК .

Выберите Файл → Настройки → Другие настройки → Общие настройки SonarLint.

Снимите флажок Автоматически анализ триггера на вкладке настроек.

Нажмите Применить, а затем кнопку ОК .

Автоматический запуск анализа

Intellij Idea – Рефакторинг кода

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

переименовывать

Действия переименования могут использоваться для переименования методов, их параметров, атрибутов класса, локальных переменных и так далее. Давайте создадим следующий класс в IntelliJ.

public class Employee {
   private String name;
   private String address;
   private int age;
   public Employee() {
      this("Jarvis", "Palo Alto", 35);
   }
   public Employee(String name, String address, int age) {
      this.name = name;
      this.address = address;
      this.age = age;
   }
   public String getName() {
      return name;
   }
   public void setName(String name) {
      this.name = name;
   }
   public String getAddress() {
      return address;
   }
   public void setAddress(String address) {
      this.address = address;
   }
   public int getAge() {
      return age;
   }
   public void setAge(int age) {
      this.age = age;
   }
   
   @Override
   public String toString() {
      return "Employee{" +
      "name='" + name + ''' +
      ", address='" + address + ''' +
      ", age=" + age +
      '}';
   }
   public static void main(String args[]) {
      Employee e = new Employee();
      System.out.println(e);
   }
}

Теперь давайте переименуем класс Employee в Person . Это действие внесет изменения в конструкторы, а метод main ()

  • Выберите слово сотрудника

  • Перейдите в Refactor → Rename и переименуйте его с помощью Person.

Выберите слово сотрудника

Перейдите в Refactor → Rename и переименуйте его с помощью Person.

Переименовать действия

Заменить дубликаты кода

Это одно из мощных действий по рефакторингу. IntelliJ идентифицирует дубликаты кода и заменяет его соответствующим кодом. Давайте введем дублирование кода и проведем его рефакторинг. Введите следующий код в редакторе –

public class Employee {
   private String name;
   private String address;
   private int age;
   public Employee() {
      this("Jarvis", "Palo Alto", 35);
   }
   public Employee(String name, String address, int age) {
      this.name = name;
      this.address = address;
      this.age = age;
   }
   public void setData(String name, String address,  int age) {
      this.name = name;
      this.address = address;
      this.age = age;
   }
   public void showEmployeeDetail() {
      System.out.println("Name = " + name + ", Address = " + address + ", Age = " + age);
   }
   public static void main(String args[]) {
      Employee e = new Employee();
      e.showEmployeeDetail();
   }
} 

В этом примере конструктор Employee (String name, String address, int age) и открытый void setData (String name, String address, int age) полностью идентичны. После рефакторинга конструктор Employee (String name, String address, int age) изменяется следующим образом:

public Employee(String name, String address, int age) {
 setData(name, address, age);
}

Чтобы заменить дубликаты –

  • Перейдите в Refactor → Найти и заменить дубликаты кода.

  • Выберите область рефакторинга и следуйте инструкциям на экране для завершения действия.

Перейдите в Refactor → Найти и заменить дубликаты кода.

Выберите область рефакторинга и следуйте инструкциям на экране для завершения действия.

Заменить дубликаты кода

Копировать рефакторинг

В этом разделе мы поймем, как копировать один класс в другой. Давайте скопируем класс Employee в класс Person. Мы можем скопировать его в существующий или новый модуль. IntelliJ сделает необходимые изменения в зависимости от этого. Выполните следующие действия, чтобы выполнить рефакторинг копии.

  • Перейдите в Refactor → Copy , откроется диалоговое окно.

  • Введите новое имя и целевой пакет.

  • Нажмите на кнопку ОК, и он сделает все необходимое.

Перейдите в Refactor → Copy , откроется диалоговое окно.

Введите новое имя и целевой пакет.

Нажмите на кнопку ОК, и он сделает все необходимое.

Копировать класс

Переместить Рефакторинг

Рефакторинг Move аналогичен копии, но вместо создания другой копии он перемещает код в другой пакет или делает его внутренним классом другого класса.

Выполните следующие шаги, чтобы выполнить рефакторинг ходов –

  • Перейти к, Refactor → Move.

  • Появится новое окно.

  • Выберите один из вариантов в соответствии с вашим выбором и нажмите Refactor.

Перейти к, Refactor → Move.

Появится новое окно.

Выберите один из вариантов в соответствии с вашим выбором и нажмите Refactor.

Переместить Рефакторинг

Безопасное удаление

Действие Безопасное удаление удалит объект только тогда, когда на него нет ссылок нигде в проекте. Целью этой опции может быть класс, интерфейс, метод, поле или параметр.

Давайте посмотрим на это в действии. Введите следующий код в редакторе –

public class HelloWorld {
   static void sayHello() {
      System.out.println("Hello, World !!!");
   }
   public static void main(String[] args) {
      sayHello();
   }
}

Выполните следующие действия для выполнения безопасного удаления –

  • Выберите метод sayHello () .

  • Щелкните правой кнопкой мыши по нему и выберите опцию Refactor → Safe Delete .

  • Поскольку метод sayHello () используется, он покажет ошибку, как на следующем скриншоте –

Выберите метод sayHello () .

Щелкните правой кнопкой мыши по нему и выберите опцию Refactor → Safe Delete .

Поскольку метод sayHello () используется, он покажет ошибку, как на следующем скриншоте –

Безопасное удаление

Изменить подпись

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

Выполните следующие действия, чтобы выполнить действие Изменить подпись –

  • Выберите метод.

  • Щелкните правой кнопкой мыши по нему и выберите Refactor → Изменить подпись

  • Появится новое окно, в котором вы можете выполнить вышеуказанные действия.

  • В нижней части окна отображается предварительный просмотр новой подписи.

Выберите метод.

Щелкните правой кнопкой мыши по нему и выберите Refactor → Изменить подпись

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

В нижней части окна отображается предварительный просмотр новой подписи.

Изменить подпись

Тип Миграция

Тип Миграция меняет тип символа. Этот символ может быть параметром метода или атрибутом класса. Давайте рассмотрим следующий метод перед выполнением требуемого действия –

static void sayHello(String name) {
   System.out.println(name);
}

Выполните следующие шаги для выполнения миграции типов –

  • Выберите тип данных «String».

  • Щелкните правой кнопкой мыши по нему и выберите « Refactor» → «Тип миграции» .

Выберите тип данных «String».

Щелкните правой кнопкой мыши по нему и выберите « Refactor» → «Тип миграции» .

Тип Миграция

  • Введите требуемый тип данных в данное текстовое поле.

  • Выберите область и нажмите на кнопку Refactor.

Введите требуемый тип данных в данное текстовое поле.

Выберите область и нажмите на кнопку Refactor.

Intellij Idea – Выполнение проектов

IntelliJ предоставляет несколько способов создания конфигурации. В этой главе рассматриваются варианты создания временной постоянной конфигурации. Также обсуждается метод обмена конфигурацией среди других пользователей.

Создать временную конфигурацию

Временная конфигурация создается при запуске или отладке Java-класса или тестового примера. Рассмотрим следующие шаги, чтобы понять, как это работает –

  • Создайте класс Java.
  • Щелкните правой кнопкой мыши по нему и выберите опцию «Выполнить».
  • После первого запуска временная конфигурация добавляется в меню запуска.

Временная конфигурация

Создать постоянную конфигурацию

Временную конфигурацию можно преобразовать в постоянную, сохранив ее с помощью IntelliJ. Чтобы сохранить конфигурацию, нажмите « Сохранить конфигурацию» в меню «Выполнить» –

Постоянная конфигурация

Вы также можете изменить существующую конфигурацию, отредактировав ее.

Создать новую конфигурацию

В этом разделе мы поймем, как создать новую конфигурацию. Выполните следующие шаги, чтобы создать новую конфигурацию –

  • Перейдите к Run → Edit Configuration.

  • Нажмите кнопку «Плюс», чтобы добавить новую конфигурацию.

  • Выберите приложение из выпадающего списка.

Перейдите к Run → Edit Configuration.

Нажмите кнопку «Плюс», чтобы добавить новую конфигурацию.

Выберите приложение из выпадающего списка.

Новая конфигурация

  • Это создаст неназванную конфигурацию.

  • Настройте его в соответствии с вашими требованиями и нажмите кнопку ОК.

  • Эта сохраненная конфигурация будет доступна из меню «Выполнить» вместе с другими конфигурациями.

Это создаст неназванную конфигурацию.

Настройте его в соответствии с вашими требованиями и нажмите кнопку ОК.

Эта сохраненная конфигурация будет доступна из меню «Выполнить» вместе с другими конфигурациями.

Совместное использование конфигурации

Выполните следующие шаги, чтобы поделиться конфигурацией с другими –

  • Перейдите к Run → Edit Configuration.

  • Выберите конфигурацию на левой панели и установите флажок «Поделиться».

  • Он будет хранить конфигурацию на диске.

Перейдите к Run → Edit Configuration.

Выберите конфигурацию на левой панели и установите флажок «Поделиться».

Он будет хранить конфигурацию на диске.

Если используется формат на основе каталога, он сохранит конфигурацию в отдельном файле в папке runConfiguration . В противном случае он сохранит конфигурацию в файле .ipr .

Поделиться настройкой

Запустить конфигурацию

Для запуска проекта с определенной конфигурацией –

  • Выберите конфигурацию в меню «Выполнить».

  • Запустите проект, как показано на следующем скриншоте –

Выберите конфигурацию в меню «Выполнить».

Запустите проект, как показано на следующем скриншоте –

Запустить конфигурацию

Intellij Idea – Инструменты для сборки

IntelliJ предоставляет способ для сборки и упаковки пакета Java. Он поддерживает внешние инструменты сборки, такие как Maven и Gradle. В этой главе обсуждаются эти инструменты сборки.

Создание проекта Maven

Выполните следующие шаги, чтобы создать проект Maven –

  • Перейдите в Файл → Проект .

  • Выберите опцию Maven и нажмите кнопку «Далее».

Перейдите в Файл → Проект .

Выберите опцию Maven и нажмите кнопку «Далее».

Maven Project

  • В новом окне проекта введите tutorialspoint.com как GroupId и HelloWorld как ArtifactId.

  • В новом окне откроется файл pom.xml.

  • Нам нужно добавить свойства в этот файл; конечный файл pom.xml должен выглядеть следующим образом –

В новом окне проекта введите tutorialspoint.com как GroupId и HelloWorld как ArtifactId.

В новом окне откроется файл pom.xml.

Нам нужно добавить свойства в этот файл; конечный файл pom.xml должен выглядеть следующим образом –

<?xml version = "1.0" encoding = "UTF-8"?>
<project xmlns = "http://maven.apache.org/POM/4.0.0"
   xmlns:xsi = "http://www.w3.org/2001/XMLSchema-instance"
   xsi:schemaLocation = "http://maven.apache.org/POM/4.0.0  
      http://maven.apache.org/xsd/maven-4.0.0.xsd">
   <modelVersion>4.0.0</modelVersion>
   <groupId>com.tutorialspoing</groupId>
   <artifactId>HelloWorld</artifactId>
   <version>1.0-SNAPSHOT</version>
   <properties>
      <maven.compiler.source>1.7</maven.compiler.source>
      <maven.compiler.target>1.7</maven.compiler.target>
   </properties>
</project>

Теперь давайте создадим класс Java внутри каталога src / main / java проекта Maven. Выполните следующие шаги, чтобы создать класс –

  • Перейдите в каталог src / main / java.

  • Щелкните правой кнопкой мыши по нему и выберите New → Java Class .

Перейдите в каталог src / main / java.

Щелкните правой кнопкой мыши по нему и выберите New → Java Class .

Выполните следующие шаги, чтобы скомпилировать этот класс с помощью Maven –

  • Перейдите к Run → Edit Configuration.

  • Нажмите на зеленый значок плюс и выберите опцию Maven из выпадающего меню.

  • Введите название проекта как Maven-Package.

  • Предоставить пакет в качестве командной строки.

  • Нажмите на кнопку ОК.

Перейдите к Run → Edit Configuration.

Нажмите на зеленый значок плюс и выберите опцию Maven из выпадающего меню.

Введите название проекта как Maven-Package.

Предоставить пакет в качестве командной строки.

Нажмите на кнопку ОК.

Командная строка

  • Перейдите к Run и выберите опцию Maven-Package .

  • Начнется сборка пакета. После успешного построения пакета, вы увидите следующий результат –

Перейдите к Run и выберите опцию Maven-Package .

Начнется сборка пакета. После успешного построения пакета, вы увидите следующий результат –

Строительный пакет

Создать проект Gradle

В этом разделе мы узнаем, как создать проект Gradle –

  • Перейдите к File → Project и выберите Gradle.

  • Нажмите на кнопку Далее.

  • В новом окне проекта введите tutorialspoint в качестве GroupId и HelloWorld в качестве ArtifactId.

  • Нажмите кнопку Далее, проверьте детали проекта и нажмите кнопку Готово.

  • Следуйте инструкциям на экране для завершения процесса.

Перейдите к File → Project и выберите Gradle.

Нажмите на кнопку Далее.

В новом окне проекта введите tutorialspoint в качестве GroupId и HelloWorld в качестве ArtifactId.

Нажмите кнопку Далее, проверьте детали проекта и нажмите кнопку Готово.

Следуйте инструкциям на экране для завершения процесса.

Кнопка Готово

  • Откройте файл buildl.gradle и напишите задачу Hello, как показано на скриншоте выше.

  • Чтобы скомпилировать эту задачу, перейдите к параметру Run → Build-Gradle .

Откройте файл buildl.gradle и напишите задачу Hello, как показано на скриншоте выше.

Чтобы скомпилировать эту задачу, перейдите к параметру Run → Build-Gradle .

Intellij Idea – модульное тестирование

Модульное тестирование играет важную роль в разработке программного обеспечения. IntelliJ поддерживает различные среды модульного тестирования, такие как JUnit, TestNG, Spock и многие другие. В этой главе мы собираемся использовать JUnit3.

Создать юнит тест

В этом разделе мы узнаем, как создать модульный тест. Выполните следующие шаги, чтобы создать тест –

  • Выберите пункт « Навигация» → «Тест» .

  • Появится диалоговое окно, в котором необходимо выбрать « Создать новый тест» .

  • Следуйте инструкциям на экране, чтобы продолжить –

Выберите пункт « Навигация» → «Тест» .

Появится диалоговое окно, в котором необходимо выбрать « Создать новый тест» .

Следуйте инструкциям на экране, чтобы продолжить –

  • Предоставьте сведения о тесте, такие как библиотека тестирования, сведения о классе, методы setUp, tearDown и т. Д.

Предоставьте сведения о тесте, такие как библиотека тестирования, сведения о классе, методы setUp, tearDown и т. Д.

Методы разрушения

  • Нажмите на кнопку ОК, чтобы продолжить.

  • Тестовый класс будет создан. Первоначально он может не разрешить некоторые символы. Переместите курсор на строку ошибки, на ней появится символ подсказки.

  • Выберите соответствующую опцию из выпадающего меню. Мы выбрали Добавить библиотеку ‘junit.jar!’ к пути к классам

Нажмите на кнопку ОК, чтобы продолжить.

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

Выберите соответствующую опцию из выпадающего меню. Мы выбрали Добавить библиотеку ‘junit.jar!’ к пути к классам

Опция Classpath

Вы можете добавить логику внутри каждого теста в соответствии с требованиями вашего бизнеса. Я сохранил это пустым для простоты.

Выполнить юнит-тест

Выполните следующие шаги для запуска модульного теста –

  • Выберите класс модульного теста в окне редактора.

  • Перейдите в меню «Выполнить» и выберите параметр «Выполнить».

  • Будет сгенерирован следующий результат

Выберите класс модульного теста в окне редактора.

Перейдите в меню «Выполнить» и выберите параметр «Выполнить».

Будет сгенерирован следующий результат

Опция запуска.

Intellij Idea – отладка

Отладчик значительно упрощает отладку приложений. Используя отладчик, мы можем остановить выполнение программы в определенный момент, проверить переменные, войти в функцию и сделать много вещей. IntelliJ предоставляет встроенный отладчик Java.

Контрольные точки

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

Точки останова обозначаются красными кружочками. Рассмотрим точку останова, установленную в строке 3.

Контрольные точки

Рассмотрим следующие шаги, чтобы лучше понять, как работают точки останова.

  • Щелкните правой кнопкой мыши на символе красного круга.

  • Выберите Больше параметров.

  • Чтобы удалить точку останова, просто нажмите на тот же символ.

Щелкните правой кнопкой мыши на символе красного круга.

Выберите Больше параметров.

Чтобы удалить точку останова, просто нажмите на тот же символ.

Выполните следующие шаги, чтобы запустить отладчик –

  • Перейдите в меню «Выполнить».
  • Выберите параметр «Отладка».

Шаг в

Во время отладки, если обнаружена функция и выбран шаг в действие, отладчик остановит выполнение программы в каждой точке этой функции, как если бы для этой функции была включена отладка.

Например, когда выполнение программы достигает строки 9, и если мы выбираем шаг в действие, то оно останавливает выполнение в каждой строке функции sayGoodBye () .

Выполнение программы

Выйти

Действие «Шаг за шагом» – это полная противоположность действия «Шаг за шагом» Например, если вы выполняете действие step out с помощью описанного выше сценария, тогда отладчик вернется из метода sayGoodBye () и начнет выполнение со строки 10.

Выйти

Переступить

Действие Step over не входит в функцию, оно переходит к следующей строке кода. Например, если вы находитесь в строке 9 и выполняете действие step over, тогда оно переместит выполнение в строку 10.

Переступить

Программа возобновления

Действие Resume Program продолжит выполнение программы, игнорируя все точки останова.

Контрольные точки

Остановить действие

Действие Stop помогает остановить отладчик.

Стоп Действие

Умный шаг в

Во время отладки мы иногда можем встретить строку кода, которая вызывает несколько методов. При отладке этих строк кода отладчик обычно позволяет нам использовать шаг в и ведет нас через все дочерние функции, а затем обратно к родительской функции. Тем не менее, что, если мы хотим перейти только к одной дочерней функции? С помощью Smart step-into это позволяет нам выбрать функцию, в которую вы хотите войти.

Теперь давайте создадим класс Java со следующей строкой кода:

public class HelloWorld {
   public static void main(String[] args) {
      allFunctions();
   }
   static void allFunctions() {
      System.out.println(function1() + " " + function2() + " " + function3());
   }
   static String function1() {
      return "function1";
   }
   static String function2() {
      return "function2";
   }
   static String function3() {
      return "function3";
   }
}

В приведенном выше коде allFunctions () вызывает еще 3 функции. Давайте установим точку останова на эту функцию. Выполните следующие шаги, чтобы выполнить умный шаг в –

  • Иди бегать
  • Выберите умный шаг в.
  • Выберите дочернюю функцию для перехода.

Дочерняя функция

Проверка переменных

Во время отладки IntelliJ показывает значение переменной в самом окне редактора. Мы также можем просмотреть ту же информацию в окне отладки.

Проверка переменных

Оценить выражение

Оценить выражение позволяет оценить выражение на лету. Выполните следующие действия, чтобы выполнить это действие –

  • Запустить приложение в отладчике

  • Перейдите к Выполнить-> Оценить выражение.

  • Введите выражение. В приведенном ниже примере текущее значение переменной ‘i’ равно 0; следовательно, выражение ‘i> 100’ будет иметь значение false

Запустить приложение в отладчике

Перейдите к Выполнить-> Оценить выражение.

Введите выражение. В приведенном ниже примере текущее значение переменной ‘i’ равно 0; следовательно, выражение ‘i> 100’ будет иметь значение false

Оценить выражение

Intellij Idea – Профилирование

Профилировщик дает представление о вашем приложении, как его процессор, память и куча использования. Он также дает подробную информацию о потоках приложений. В этой главе обсуждается использование инструмента VisualVM для профилирования приложений Java. Он может профилировать объекты, такие как процессор и куча.

Читателям этого руководства рекомендуется ознакомиться с концепциями профилировщика приложений.

Вступление

VisualVM – это визуальный инструмент, который интегрирует инструменты JDK и предоставляет вам мощные возможности профилирования. Он позволяет генерировать и анализировать данные кучи, отслеживать утечки памяти, отслеживать сборщик мусора и выполнять профилирование памяти и процессора.

Выгоды

  • Визуальный интерфейс для локальных и удаленных Java-приложений, работающих на JVM.

  • Мониторинг использования памяти приложения и поведение приложения во время выполнения.

  • Мониторинг потоков приложений

  • Анализ выделения памяти для разных приложений.

  • Отводы резьбы – очень удобно в случае тупиков и условий гонки.

  • Кучи дампов – очень удобно при анализе распределения памяти кучи.

Визуальный интерфейс для локальных и удаленных Java-приложений, работающих на JVM.

Мониторинг использования памяти приложения и поведение приложения во время выполнения.

Мониторинг потоков приложений

Анализ выделения памяти для разных приложений.

Отводы резьбы – очень удобно в случае тупиков и условий гонки.

Кучи дампов – очень удобно при анализе распределения памяти кучи.

конфигурация

В этом разделе мы изучим шаги, выполняемые для настройки VisualVM. Шаги следующие:

  • Загрузите его отсюда .

  • Распакуйте ZIP-файл.

  • Перейдите в файл etc / visualvm.conf и добавьте в этот файл следующую строку:

Загрузите его отсюда .

Распакуйте ZIP-файл.

Перейдите в файл etc / visualvm.conf и добавьте в этот файл следующую строку:

visualvm_jdkhome=<path of JDK>
  • Если ваш JDK установлен в каталоге C: Program Files Java jdk-9.0.1, он должен выглядеть следующим образом:

Если ваш JDK установлен в каталоге C: Program Files Java jdk-9.0.1, он должен выглядеть следующим образом:

visualvm_jdkhome="C:Program FilesJavajdk-9.0.1"

Приложение для мониторинга

Давайте теперь посмотрим, как контролировать приложение. Рассмотрим следующие шаги, чтобы понять то же самое –

  • Дважды щелкните файл visualvm.exe.
  • Выберите приложение из левой панели.
  • Выберите вкладку монитора.

Приложение для мониторинга

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

Взгляд на темы

Приложение Java может содержать несколько потоков выполнения. Чтобы узнать больше о потоках, выберите вкладку «Потоки» определенного приложения. Это даст различную статистику о потоках, таких как количество активных потоков и потоков демонов. Различными состояниями потока являются «Бег», «Спящий», «Ожидание», «Парковка» и «Монитор».

Insights Threads

Приложение для отбора проб

VisualVM поддерживает ЦП, выборку памяти и обнаружение утечек памяти. Чтобы попробовать приложение, выберите приложение и выберите вкладку «Образец» –

Выборка процессора

Для выборки ЦП, нажмите на кнопку ЦП, как показано на следующем скриншоте –

Выборка памяти

Профилирование памяти

Для профилирования памяти нажмите кнопку Память, как показано на следующем снимке экрана –

Профилирование памяти

Утечки памяти

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

Если объект, который не используется программой, не удален, он остается в памяти, и ГХ не может освободить свое пространство. Если количество байтов и количество экземпляров в вашем приложении должно постоянно и значительно увеличиваться в вашей программе до точки использования всего пространства, это может указывать на утечку памяти.

Профилирование приложения

В этом разделе мы узнаем, как профилировать приложение. Чтобы профилировать приложение, выберите приложение на левой панели и щелкните вкладку профиля –

Профилирование процессора

Чтобы выполнить профилирование процессора, нажмите кнопку CPU, как показано на скриншоте ниже –

Профилирование процессора

Профилирование памяти

Чтобы выполнить профилирование процессора, нажмите кнопку CPU, как показано на скриншоте ниже –

Профилирование памяти процессора

Intellij Idea – Контроль версий

IntelliJ поддерживает различные системы контроля версий, такие как Git, Subversion, Mercurial, CVS, GitHub и TFS. Вы можете выполнять действия, связанные с контролем версий, из самой IDE.

В этой главе мы обсудим Git и Subversion (далее именуемые SVN). Мы предполагаем, что читатель знаком с инструментом Git и SVN и его терминологией.

Гит

В этом разделе мы узнаем, как работать с Git.

клон

Чтобы клонировать существующее хранилище Git –

  • Перейдите в Файл-> Новый-> Проект из контроля версий-> Git.

  • Введите URL хранилища, Родительский каталог и Имя каталога.

  • Нажмите на кнопку клона, чтобы продолжить.

Перейдите в Файл-> Новый-> Проект из контроля версий-> Git.

Введите URL хранилища, Родительский каталог и Имя каталога.

Нажмите на кнопку клона, чтобы продолжить.

Репозиторий клонов

  • После успешного выполнения вышеуказанных шагов, хранилище будет клонировано.

После успешного выполнения вышеуказанных шагов, хранилище будет клонировано.

Отслеживать изменения

Git будет отслеживать изменения, которые вы делаете в репозитории. Давайте изменим любой файл из репозитория и сравним его с репозиторием.

  • Перейдите к VCS → Git → Сравнить с последней версией репозитория.

  • Вышеуказанный шаг откроет окно diff.

  • Вы можете видеть, что есть новая линия на правой стороне с зеленым цветом фона.

  • Git показывает это зеленым цветом, так как мы добавили новое содержимое. Если мы удалим какое-либо содержимое, оно будет показано красным цветом.

Перейдите к VCS → Git → Сравнить с последней версией репозитория.

Вышеуказанный шаг откроет окно diff.

Вы можете видеть, что есть новая линия на правой стороне с зеленым цветом фона.

Git показывает это зеленым цветом, так как мы добавили новое содержимое. Если мы удалим какое-либо содержимое, оно будет показано красным цветом.

Отслеживать изменения

Отменить локальные изменения

Выполните следующие действия, чтобы отменить локальные изменения.

  • Перейдите к опции VCS → Git → Revert .

  • Он запросит подтверждение и удалит ваши изменения.

Перейдите к опции VCS → Git → Revert .

Он запросит подтверждение и удалит ваши изменения.

Отменить изменения

Добавить файл в хранилище

Чтобы добавить файл в хранилище, перейдите к VCS → Git → Добавить опцию . Это действие похоже на действие git add .

Зафиксируйте изменения

Операция Commit создаст локальный коммит. Это похоже на действие git commit . Выполнить коммит –

  • Перейдите к опции VCS → Git → Commit File .

  • Выберите файлы для фиксации.

  • Введите сообщение о коммите и нажмите кнопку «Фиксация».

Перейдите к опции VCS → Git → Commit File .

Выберите файлы для фиксации.

Введите сообщение о коммите и нажмите кнопку «Фиксация».

Зафиксировать изменения

Нажмите изменения в удаленном хранилище

Действие Push отправит локальные изменения в удаленный репозиторий. Чтобы подтолкнуть изменения –

  • Перейдите к опции VCS → Git → Push .

  • Окно появится. Здесь вы можете увидеть комиты, которые нужно нажать.

  • Подтвердите фиксацию и нажмите кнопку Push, чтобы опубликовать ваши изменения.

Перейдите к опции VCS → Git → Push .

Окно появится. Здесь вы можете увидеть комиты, которые нужно нажать.

Подтвердите фиксацию и нажмите кнопку Push, чтобы опубликовать ваши изменения.

Push Changes

Просмотр истории или журналов

Чтобы показать историю, перейдите к VCS → Git → Показать историю . Это действие похоже на команду git log . Это покажет историю следующим образом –

Просмотр истории или журналов

Получать обновления

Выполните следующие шаги, чтобы получить обновления из хранилища –

  • Перейдите к опции VCS → Git → Pull .

  • Выберите опцию в соответствии с вашими требованиями.

  • Нажмите на кнопку Pull.

Перейдите к опции VCS → Git → Pull .

Выберите опцию в соответствии с вашими требованиями.

Нажмите на кнопку Pull.

Получать обновления

Добавить существующий проект в Git

Чтобы добавить существующий проект под Git –

  • Перейдите к VCS → Импорт в Контроль версий → Создать Git- репозиторий.

  • Выберите проект, просмотрев каталог.

  • Нажмите на кнопку ОК.

Перейдите к VCS → Импорт в Контроль версий → Создать Git- репозиторий.

Выберите проект, просмотрев каталог.

Нажмите на кнопку ОК.

Существующий проект

диверсия

В этом разделе мы поймем, как Subversion работает в IntelliJ. Давайте рассмотрим несколько важных действий, чтобы понять это.

Проверять, выписываться

Чтобы оформить хранилище SVN –

  • Перейдите к « Файл» → «Создать» → «Проект» из «Контроль версий» → «Subversion».

  • Введите URL хранилища.

  • Нажмите на кнопку ОК .

Перейдите к « Файл» → «Создать» → «Проект» из «Контроль версий» → «Subversion».

Введите URL хранилища.

Нажмите на кнопку ОК .

Проверять, выписываться

Отслеживать изменения

SVN будет отслеживать изменения, сделанные вами в хранилище. Давайте изменим любой файл из репозитория и сравним его с репозиторием –

  • Перейдите к VCS-> Subversion-> Сравните с последней версией репозитория

  • Вы можете видеть, что есть новая линия на правой стороне с зеленым цветом фона.

  • SVN показывает это с зеленым фоном, чтобы указать добавление нового контента. Если мы удалим какой-либо контент, он будет показан красным цветом.

Перейдите к VCS-> Subversion-> Сравните с последней версией репозитория

Вы можете видеть, что есть новая линия на правой стороне с зеленым цветом фона.

SVN показывает это с зеленым фоном, чтобы указать добавление нового контента. Если мы удалим какой-либо контент, он будет показан красным цветом.

Последний репозиторий

Отменить локальные изменения

Выполните следующие действия, чтобы отменить локальные изменения, которые вы внесли –

  • Перейдите к опции VCS → Subversion → Revert .

  • Он запросит подтверждение и удалит ваши изменения.

Перейдите к опции VCS → Subversion → Revert .

Он запросит подтверждение и удалит ваши изменения.

Удалить ваши изменения

Зафиксируйте изменения в удаленном хранилище

Выполните следующие шаги, чтобы зафиксировать изменения в удаленном хранилище –

  • Перейдите к опции VCS → Subversion → Commit Files .

  • Появится новое окно. Здесь вы можете увидеть файлы для фиксации в удаленном репозитории.

  • Проверьте файлы и нажмите кнопку «Подтвердить», чтобы опубликовать изменения.

Перейдите к опции VCS → Subversion → Commit Files .

Появится новое окно. Здесь вы можете увидеть файлы для фиксации в удаленном репозитории.

Проверьте файлы и нажмите кнопку «Подтвердить», чтобы опубликовать изменения.

Кнопка фиксации

Просмотр истории или журналов

Чтобы показать историю, перейдите к VCS → Subverion → Показать историю . Эта опция похожа на команду svn log . Это покажет историю следующим образом –

История Навигация

Операция обновления

Чтобы получить последние изменения, перейдите к VCS → Subversion → Обновить файл / Обновить папку .

Операция обновления

Добавить существующий проект в Subversion

Выполните следующие шаги, чтобы добавить существующий проект в SVN –

  • Перейдите к VCS → Импортировать в Контроль версий → Импортировать в Subverion .

  • Введите URL хранилища и нажмите кнопку «Импорт» –

Перейдите к VCS → Импортировать в Контроль версий → Импортировать в Subverion .

Введите URL хранилища и нажмите кнопку «Импорт» –

Добавить существующий проект

Intellij Idea – Базы данных

IntelliJ предоставляет инструмент для работы с базой данных, который позволяет выполнять операции с базой данных из самой IDE. Он поддерживает все основные базы данных, такие как MySQL, Oracle, Postgress, SQL-сервер и многие другие. В этой главе мы обсудим, как IntelliJ поддерживает базу данных MySQL.

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

Создать базу данных

Для начала создадим базу данных – test_db . Выполните следующую команду в командной строке –

Создать базу данных

Подключиться к базе данных

Выполните следующие шаги для подключения к базе данных –

  • Перейдите к Виду → Инструмент Windows → База данных .

  • Нажмите на зеленый значок плюс и выберите Источник данных → MySQL.

Перейдите к Виду → Инструмент Windows → База данных .

Нажмите на зеленый значок плюс и выберите Источник данных → MySQL.

Подключиться к базе данных

  • Введите адрес хоста и нажмите кнопку «Проверить соединение».

  • Если все пойдет хорошо, он покажет Успешно, как показано на изображении выше.

  • Нажмите на кнопку ОК, чтобы сохранить соединение.

Введите адрес хоста и нажмите кнопку «Проверить соединение».

Если все пойдет хорошо, он покажет Успешно, как показано на изображении выше.

Нажмите на кнопку ОК, чтобы сохранить соединение.

Создать таблицу

Выполните следующие шаги, чтобы создать новую таблицу –

  • Щелкните правой кнопкой мыши на панели базы данных и выберите схему.

  • Выберите опцию New → Table

Щелкните правой кнопкой мыши на панели базы данных и выберите схему.

Выберите опцию New → Table

Создать таблицу

  • Появится новое окно. Определите таблицу со столбцами, типами и так далее.

Появится новое окно. Определите таблицу со столбцами, типами и так далее.

Стол с колоннами

  • Нажмите на кнопку Выполнить

  • Нажмите на кнопку Выполнить

Нажмите на кнопку Выполнить

Нажмите на кнопку Выполнить

Вставить данные

Выполните следующие шаги, чтобы вставить данные –

  • Выберите таблицу на панели базы данных.
  • Откроется таблица в новом окне.
  • Нажмите на значок плюса, чтобы вставить новую строку.
  • Нажмите кнопку «Отправить», чтобы сделать изменения постоянными.

Вставить данные

Получить данные

Чтобы получить данные, дважды щелкните значок student_table на панели базы данных. Он покажет данные таблицы в новом окне.

Чтобы убедиться, что данные вставлены в таблицу, откройте командную строку и выполните следующие команды:

Получить данные

Intellij Idea – Миграция из NetBeans

NetBeans – это еще одна популярная Java IDE. Если вы являетесь текущим пользователем NetBeans и хотите перейти с него на IntelliJ, это послужит хорошей отправной точкой.

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

Импортировать проект NetBeans

В этом разделе мы узнаем, как импортировать проект NetBeans. Выполните следующие шаги, чтобы импортировать проект –

  • Перейдите в Файл → Создать → Проект из существующих источников.

  • Выберите каталог проекта NetBeans.

  • Когда откроется мастер импорта проекта, выберите параметр «Создать проект из существующих источников».

  • Следуйте инструкциям на экране, чтобы продолжить.

Перейдите в Файл → Создать → Проект из существующих источников.

Выберите каталог проекта NetBeans.

Когда откроется мастер импорта проекта, выберите параметр «Создать проект из существующих источников».

Следуйте инструкциям на экране, чтобы продолжить.

IntelliJ vsNetBeans терминология

В следующей таблице сравниваются термины IntelliJ и NetBeans.

IntelliJ NetBeans
модуль проект
Глобальная библиотека Глобальная библиотека
Библиотека модулей Библиотека проекта
Зависимость модуля Зависимость проекта
Модуль SDK SDK для конкретного проекта

Популярные ярлыки

IntelliJ – это ориентированная на клавиатуру IDE. Это обеспечивает ярлыки для большинства действий. В следующей таблице перечислены несколько важных ярлыков –

действие кратчайший путь
Запустить программу Java Ctrl + Shift + F10
Организовать импорт Ctrl + Alt + O
System.out.println () Введите sout и нажмите Ctrl + J
Удалить текущую строку Ctrl + Y
Поиск Ctrl + Shift + F
Создать геттер и сеттер alt + insert
Код формата Ctrl + Alt + L
Код комментария Ctrl + /
Перейти на линию Ctrl + G
Перейти к декларации Ctrl + B
переименовывать Shift + F6
Переместить линии Ctrl + Shift + вверх / вниз

Ярлыки отладчика

В следующей таблице перечислены несколько важных ярлыков отладчика.

Отладочное действие кратчайший путь
Отладить программу Shift + F9
Выберите конфигурацию и отладьте Shift + Alt + F9
Переступить F8
Шаг в F7
Умный шаг в Shift + F7
Выйти Shift + F8
Перешагнуть через силу Shift + Alt + F8
Заставить шаг в Shift + Alt + F7
Возобновить программу F9
Оценить выражение Alt + F8
Переключить точки останова Ctrl + F8
Посмотреть точки останова Ctrl + Shift + F8

Часто задаваемые вопросы и советы

В этом разделе мы рассмотрим несколько часто задаваемых вопросов и советов. Часто задаваемые вопросы и советы следующие:

Могу ли я использовать привязки клавиш NetBeans в IntelliJ IDEA?

  • Перейдите к файлам → Настройки и выберите Keymap.

  • Выберите NetBeans из выпадающего списка

Перейдите к файлам → Настройки и выберите Keymap.

Выберите NetBeans из выпадающего списка

Выпадающий список

Отличается ли локальная история в IntelliJ IDEA от истории NetBeans?

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

Могу ли я включить «компиляция при сохранении» в IntelliJ IDEA?

  • Перейдите в Файл → Настройки → Сборка, Выполнение, Развертывание → Компилятор.
  • Выберите опцию Автоматически построить проект.
  • Нажмите на кнопку ОК.

Построить проект автоматически

Могу ли я использовать плагины NetBeans в IntelliJ IDEA?

Нет, ты не можешь.

Можно ли создавать приложения RCP NetBeans с помощью IntelliJ IDEA?

Это возможно; однако вы не получите ту же поддержку, которую получаете с NetBeans (мастера, действия с меню и т. д.). Для более подробной информации, посетите это.

Intellij Idea – Миграция из Eclipse

Eclipse – еще одна популярная Java IDE. Если вы являетесь текущим пользователем Eclipse и хотите перейти с него на IntelliJ, то это хорошая отправная точка.

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

Импортировать существующий проект

В этом разделе мы обсудим, как импортировать существующий проект. Выполните следующие шаги, чтобы импортировать проект –

  • Перейдите к File → New → Project из существующих источников.

  • Выберите каталог проекта NetBeans.

  • Когда откроется мастер импорта проекта, выберите параметр «Создать проект из существующих источников».

  • Следуйте инструкциям на экране, чтобы продолжить.

Перейдите к File → New → Project из существующих источников.

Выберите каталог проекта NetBeans.

Когда откроется мастер импорта проекта, выберите параметр «Создать проект из существующих источников».

Следуйте инструкциям на экране, чтобы продолжить.

IntelliJ vsEclipse терминология

В следующей таблице сравниваются термины IntelliJ и NetBeans.

IntelliJ Затмение
проект Рабочая среда
модуль проект
фаска фаска
Библиотека Библиотека
SDK JRE
Переменная пути Переменная classpath

Популярные ярлыки

IntelliJ – это ориентированная на клавиатуру IDE. Это обеспечивает ярлыки для большинства действий. В следующей таблице перечислены несколько популярных ярлыков –

действие кратчайший путь
Запустить Java-программу Ctrl + Shift + F10
Организовать импорт Ctrl + Alt + O
System.out.println () Введите sout и нажмите Ctrl + J
Удалить текущую строку Ctrl + Y
Поиск Ctrl + Shift + F
Создать геттер и сеттер alt + insert
Код формата Ctrl + Alt + L
Код комментария Ctrl + /
Перейти на линию Ctrl + G
Перейти к декларации Ctrl + B
переименовывать Shift + F6
Переместить линии Ctrl + Shift + вверх / вниз

Ярлыки отладчика

В следующей таблице перечислены наиболее часто используемые ярлыки отладчика.

Отладочное действие кратчайший путь
Отладить программу Shift + F9
Выберите конфигурацию и отладьте Shift + Alt + F9
Переступить F8
Шаг в F7
Умный шаг в Shift + F7
Выйти Shift + F8
Перешагнуть через силу Shift + Alt + F8
Заставить шаг в Shift + Alt + F7
Возобновить программу F9
Оценить выражение Alt + F8
Переключить точки останова Ctrl + F8
Посмотреть точки останова Ctrl + Shift + F8

Часто задаваемые вопросы и советы

В этом разделе мы увидим несколько часто задаваемых вопросов и советов. Часто задаваемые вопросы и советы следующие:

Используйте Eclipse Compiler

В то время как Eclipse использует свой собственный компилятор, IntelliJ IDEA использует компилятор javac, связанный с проектом JDK. Если вы хотите использовать компилятор Eclipse –

  • Перейдите в Файл → Настройки → Сборка, Выполнение, Развертывание → Компилятор → Компилятор Java .

  • Выберите нужный компилятор из выпадающего списка User compiler.

Перейдите в Файл → Настройки → Сборка, Выполнение, Развертывание → Компилятор → Компилятор Java .

Выберите нужный компилятор из выпадающего списка User compiler.

Eclipse Compiler

Eclipse Keymap

Для пользователей Eclipse, которые предпочитают не изучать новые сочетания клавиш, IntelliJ IDEA предоставляет раскладку клавиш Eclipse, которая близко имитирует ее сочетания –

  • Перейдите к Файлу → Настройки → Вариант раскладки клавиатуры.
  • Выберите Eclipse из раскрывающегося списка.

Eclipse Keymap

Форматирование кода

Чтобы импортировать настройки форматера Eclipse –

  • Перейдите в Файл → Настройки → Редактор → Стиль кода → Java .

  • Выберите профиль Eclipse XML .

Перейдите в Файл → Настройки → Редактор → Стиль кода → Java .

Выберите профиль Eclipse XML .

Настройки Eclipse Formatter

Работа с инструментами сборки

Как и Eclipse, IntelliJ не предоставляет визуальные формы для редактирования файлов конфигурации Maven / Gradle.

После того как вы импортировали / создали свой проект Maven / Gradle, вы можете редактировать его файлы pom.xml / build.gradle непосредственно в текстовом редакторе.

IntelliJ IDEA

Скачать


Intellij Idea — Introduction

IntelliJ is one of the most powerful and popular Integrated Development Environments (IDE) for Java. It is developed and maintained by JetBrains and available as community and ultimate edition. This feature rich IDE enables rapid development and helps in improving code quality.

What is IDE and its benefits?

IDE stands for Integrated Development Environment. It is a combination of multiple tools, which make software development process easier, robust and less error-prone. It has following benefits over plain text editor −

  • Integration with useful tools like compiler, debugger, version control system, build tools, various frameworks, application profilers and so on.

  • Supports code navigation, code completion, code refactoring and code generation features which boosts development process.

  • Supports unit testing, integration testing and code coverage via plug-ins.

  • Provides rich set of plug-ins to enhance IDE functionality further.

Features of IntelliJ

IntelliJ IDEA has some top productive Java code completion features. Its predictive algorithm can accurately assume what a coder is attempting to type, and completes it for him, even if he doesn’t know the exact name of a particular class, member or any other resource.

Deep Insight

IntelliJ IDEA really understands and has a deep insight into your code, as well as the context of the coder, which makes it so unique among other Java IDEs.

  • Smart code completion − It supports context based code completion. It gives a list of the most relevant symbols applicable in the current context.

  • Chain code completion − It is an advanced code completion feature which lists applicable symbols accessible via methods or getters in the current context.

  • Static member’s completion − It allows you to use static methods or constants and automatically adds the required import statements to avoid compilation error.

  • Detecting duplicates − It finds the duplicate code fragments on the fly and gives notification/suggestion about it to user.

  • Inspections and quick-fixes − Whenever IntelliJ detects that you’re about to make a mistake, a little light bulb notification pops up on same line. Clicking it shows the suggestion list.

Developer Ergonomics

IntelliJ IDEA is designed around the coding principle that developers should be allowed to write codes with as less distraction as possible. That is why in this case, the editor is the only thing visible on the screen, with dedicated shortcuts for all other coding-unrelated functions.

  • Editor-centric environment − Quick pop-ups help in checking additional information without leaving the current context.

  • Shortcuts for everything − IntelliJ IDEA has keyboard shortcuts for nearly everything, including rapid selection and switching between tool windows and many more.

  • Inline debugger − Inline debugger allows you to debug application in IDE itself. It makes the development and debugging process seamless.

Built-in Developer Tools

To help the developers organize their workflow, IntelliJ IDEA offers them an amazing toolset, which comprises of a decompiler, Docker support, bytecode viewer, FTP and many other tools −

  • Version control − IntelliJ supports most of the popular version control system like Git, Subversion, Mercurial, CVS, Perforce, and TFS.

  • Build tools − IntelliJ supports Java and other build tools like Maven, Gradle, Ant, Gant, SBT, NPM, Webpack, Grunt, and Gulp.

  • Test runner and code coverage − IntelliJ IDEA lets you perform unit testing with ease. The IDE includes test runners and coverage tools for major test frameworks, including JUnit, TestNG, Spock, Cucumber, ScalaTest, spec2, and Karma.

  • Decompiler − IntelliJ comes with a built-in decompiler for Java classes. When you want to take a look inside a library that you do not have the source code for, you can do it without using any third-party plug-ins.

  • Terminal − IntelliJ provides built-in terminal. Depending on your platform, you can work with the command line prompt, like PowerShell or Bash.

  • Database tools − IntelliJ provides database tools, which allow you to connect to live databases; run queries; browse and update data; and even manage your schemas in a visual interface from IDE itself.

  • Application server − IntelliJ supports major application servers: Tomcat, JBoss, WebSphere, WebLogic, Glassfish, and many others. You can deploy your artifacts onto application servers and debug the deployed applications in IDE itself.

  • Docker support − Via a separate plug-in, IntelliJ provides a dedicated tool window that lets you connect to locally running Docker machines.

Comparison between Ultimate and Community Edition

The Ultimate Edition is designed to assist in web and enterprise development, whereas the Community Edition is designed for JVM and Android Development. Let us consider a few important points that will help us understand the comparison between the two editions −

Feature Ultimate Edition Community Edition
License Commercial Open-source, Apache 2.0. for commercial development.
Java, Kotlin, Groovy, Scala Supported Supported
Android development Supported Supported
Maven, Gradle, SBT Supported Supported
Git, SVN, Mercurial, CVS Supported Supported
Detecting Duplicates Supported Not supported
Perforce, TFS Supported Not supported
JavaScript, TypeScript Supported Not supported
Java EE, Spring, GWT, Vaadin, Play, Grails, Other Frameworks Supported Not supported
Database Tools, SQL Supported Not supported

Intellij Idea — Installation and Configuration

In this chapter, we will understand how to install and configure IntelliJ IDEA. The first step of the process starts with choosing the edition. As per your requirements, you can download community or ultimate edition. As name suggests, community edition is absolutely free and we can use it for commercial development as well. However, ultimate edition is paid version and we can evaluate it freely for 30 days.

Installation on Windows

IntelliJ is compatible with almost all versions of Windows prior to 2003. A comprehensive list will be: Windows 10/8/7/Vista/2003/XP. It is recommended that you shut down all other applications before you install IntelliJ on Windows.

System Requirements

  • A minimum 2 GB of RAM capacity is recommended for seamless performance.

  • For better visualization, 1024×768 screen resolution is recommended.

  • Minimum 300 MB disk space for installation and additional 1 GB for cache.

Downloading and Installation

  • Downloading − You can download windows installer from their official website.

  • Installation − Let us begin with the installation followed by the configuration steps. Installation of IntelliJ is similar to other software packages. Just double-click on the installer and follow the on-screen instructions to complete the installation process.

Installation on Linux

For installation of IntelliJ on Linux platforms, you need to note that a 32-bit JDK is not bundled, so a 64-bit system is recommended.

System Requirements

  • GNOME, KDE or XFCE desktop environment

  • Minimum 2 GB of RAM is recommended for seamless usage

  • 300 MB of disk space for installation and addition 1 GB for caches

  • For better visualization, 1024×768 screen resolution is recommended

Downloading and Installation

  • Downloading − You can download IntelliJ for Linux from their official website.

  • Installation − We have downloaded tar.gz bundle. Note that in our case bundle’s name was ideaIC-2017.2.5.tar.gz. It may change with the edition/version. Please use the appropriate bundle name.

First extract it using following command:
$ tar xvf ideaIC-2017.2.5.tar.gz
It will create new directory with idea-IC-172.4343.14 name. 
Now change directory to idea-IC-172.4343.14/bin/ and execute idea.sh shell script as shown below:
$ cd idea-IC-172.4343.14/bin/
$ ./idea.sh
Follow on-screen instructions to complete installation procedure.

Configure IntelliJ

The configuration steps are similar on both platforms. To begin configuration, launch IntelliJ application. Optionally, you can import the existing configuration from this wizard. Click on the next button to continue.

Step1 − If you are using the ultimate edition, then a license activation window will pop-up. Select evaluate for free option and click on the evaluate button as shown in the following image.

License Activation

Step 2 − Accept the license agreement to proceed and follow on-screen instruction to start IntelliJ. You will see the Welcome screen of IntelliJ.

Step 3 − Now, it is time to configure the Java Development Kit (hereafter, we will refer to it as JDK) with IntelliJ. If JDK is not installed already then follow the instruction as in here.

  • On the Welcome screen, click on ‘configure’

  • Select ‘project defaults’ from the drop-down list

  • Select the ‘project structure’ option

Project Structure

  • Select the ‘SDKs’ option from the ‘platform settings’ menu.

  • Click on the ‘plus’ icon and select the ‘JDK’ option.

  • Select JDK’s home directory and follow the on-screen instructions.

Platform Settings

Intellij Idea — Getting Familiar

In this chapter, we will get more familiar with IntelliJ IDEA. To discuss the advantages and functionality of any tool, one must be familiar with that tool and IntelliJ is no exception to that.

This chapter gives you an overview of IntelliJ. The chapter begins with a discussion about IDE’s visual elements, configuration settings and finally ends by discussing JVM and platform properties.

Visual Elements

One of the important things about IDE is its visual elements. Identifying and understanding the visual elements enables to you do action in a quicker and easier manner. The following screenshot and the labels on it show the main interface of IntelliJ.

Visual Elements

  1. Menu bar − The Menu bar provides options to create new projects and other important actions related to projects like code refactoring, builds, run, debug, version-controlling options and so on.

  2. Tool bar − The Tool bar provides shortcuts to compile, debug and run options. You can customize it according to your requirements.

  3. Navigation bar − The Navigation bar enables easier navigation within a project. This feature comes handy as code base increases.

  4. Tools tab − The Tools tab shows on either side of the main window. From here, you can access important tools like databases; Maven/Ant builds and so on.

  5. Project perspective − Project perspective window shows various elements of projects like packages, modules, classes, external libraries and so on.

  6. Editor window − This is a place where developer spends most of his/her time. Editor window allows you edit/write code with syntax highlighting and other useful features.

At the bottom of the main window, there is a status bar, which shows some additional attributes about the file — like its format and the encoding type. It also provides option to toggle the read-only attribute of the current file. You can also manage inspection level from here.

Working with Plug-ins

Plug-ins help to extend functionality of IntelliJ. It provides a large number of plug-ins ranging from databases, version controlling, profiling and this list goes on.

Plug-ins Ranging

Steps to manage plug-ins

Follow these steps to manage plug-ins −

  • Go to the File → Settings menu.

  • Select the Plugins tab on the left pane.

  • This window lists all installed plug-ins. There is a checkbox on the right side of each plug-in name. Toggling that checkbox enables/disables the plug-ins.

  • IntelliJ online plug-in repository is available here. To add/remove plug-in repository, click on the browse repository button and it will provide a way to do needful.

  • In addition to this, it allows offline plug-in installation. For this, download plug-in and select install plug-in from the disk button and navigate to the download path.

To perform other actions on plug-ins like uninstalling, updating and sorting, right-click on any plug-in. It will show a dropdown menu from which you can select one of the actions.

Working with Settings

This section provides a few important tips to manage settings. It enables you to import, export and share IntelliJ settings.

Export Settings

It allows exporting the current settings as a jar file.

  • Go to File → Export Settings.

  • Export setting windows list the available settings related to UI, debugger, SDK along with others.

  • It provides a checkbox for selection. Once the selection is done, click on the OK button to save the settings on the local disk.

Import Settings

It allows importing the settings stored in the jar file.

  • Go to File → Import settings.
  • Select the Setting jar by navigating folder structure
  • Click on the OK button.

Sharing Settings

IntelliJ IDEA allows you to share your IDE settings between different instances. This is particularly useful when you want to apply the same settings within a team or organization. The prerequisite for this is to enable the Settings Repository plug-in. It is installed and enabled by default.

To ensure its status −

  • Go to File → Settings → Plugins
  • Search settings repository plug-in

We can store the current setting on GitHub/Bitbucket and apply them on other instances. To store the current setting −

  • Go to the File → Settings Repository.

  • Type the Git repository URL in upstream URL dialog box.

  • Click on the Overwrite remote button.

  • To apply the same settings to other instances, click on the Overwrite local button.

Configuring JVM Options and Platform Properties

We can configure the JVM options by navigating to the Help → Edit Custom VM Options menu. Following are a few important JVM options we can set.

  • –server − It allows the selection of the Java HotSpot Server VM

  • -Xms<size> − It sets the initial Java heap size. The default value is 128 MB.

  • -Xmx<size> − It sets the maximum Java heap size. The default value is 750 MB.

  • -Xss<size> − It sets the Java thread stack size.

  • –XX − It allows setting GC algorithm and other properties.

Intellij Idea — Create First Java Project

It is time we got a hands-on experience with IntelliJ. In this chapter, we will create our first Java Project. We will write and execute the traditional Hello World program. This chapter explains the compilation and running of Java application.

Create Project

For anything related to development, a developer has to create a new project with IntelliJ. Let us follow these steps to create a project −

  • Launch IntelliJ.

  • Go to File → New → Project menu.

  • Select the Java project and appropriate SDK and click on the Next button.

Java Project

  • If you want to create a Java class with the main method, then select Create Project from the template checkbox.

  • Select the command line app from the dialog box shown below and continue.

  • Enter the project name and the directory location.

  • Click on the Finish button.

Create Package

A package is created under Java project and can be created separately, or at the same time of creating a class. Let us follow these steps to create a package −

  • Go to the project perspective.

  • Right-click on Project, select the New->Module option.

Project Perspective

  • The new module window will be similar to the new project. Select the Java option and appropriate SDK and click on the Next button.

  • Enter the module name.

  • Click on the Finish button.

Create Java Class

In this section, we will learn how to create a Java class. A Java class can be created under a Java module. Follow these steps to create a module −

  • Go to the Project perspective.

  • Expand Project and select the src directory from the module.

  • Right click on it; select the New->Java Class option.

  • Enter the class name in the dialog-box and click on the OK button.

  • It will open the Editor window with the class declaration.

Run Java Application

We will now see how to run a Java application. Follow these steps and see how it runs −

  • Let us write a simple code, which will print a message on the console. Enter the following code in the Editor window −

public class HelloWorld { 
   public static void main(String[] args) { 
      System.out.println("Hello, World !!!"); 
   } 
}
  • Go to the Run menu and select the Run option.

  • Select the Class name and click on Run.

  • If there are no compilation errors, then it will show output at the bottom of the window.

Java Application

Intellij Idea — Deep Dive

The first four chapters of this tutorial were designed to give beginners a basic-level overview of IntelliJ. This section dives deep into IntelliJ and discusses more about projects, its format along with other things.

Understanding Projects

A project is an application or software on which you are working. It can contain multiple modules, classes, libraries, configuration, and so on. It is the topmost element in the hierarchy.

Understanding Modules

Modules feature one rung below ‘Project’. A module is a separate entity that can be compiled, debugged and run independently of other modules. A single project can contain multiple modules. You may add or remove modules from a project any time.

In addition to this, we can also import the existing modules. Follow these steps to import the existing modules −

  • Go to File → Project structure.
  • Select modules and click on plus icon.
  • It will show the option to import module.

Modules Feature

Understanding Folders

Content root is a folder that contains all the files that make up your module. A module can have more than one content folder. Folders are categorized into the following types −

  • Sources − By assigning this category to folder, we instruct IntelliJ that this and its subfolder contain java source code and it should be compiled as part of the compilation process.

  • Tests − By assigning this category to folder, we instruct IntelliJ that it is the location for unit tests. This folder can access classes from the Sources folder.

  • Resources − It represents various resource files used in project, for instance, images, XML and properties files. During the compilation process, contents of this folder is copied as is to the output folder.

  • Excluded − Contents from the excluded folder will not be indexed by IntelliJ. This means that IntelliJ will not provide the code completion suggestion and other hints. For example, the output directory and the target directory are excluded by default.

  • Test resources − This is similar to the resources and used for unit tests.

Content Root

Understanding Libraries

Library is a compilation of different classes. Library enables code reusability. In Java, library can be enclosed in ZIP, Jar or simply folder. We can define libraries at three different levels. The levels are — global, project and module level.

  • Global level − Shared by all projects.

  • Project level − Shared by all the modules of project.

  • Module level − Shared by the classes of those modules.

Understanding Facets

Facets are the extensions to the modules. They add support to the frameworks and technologies. When a facet is added to a module, IntelliJ identifies it adds support. For instance, hints and help in editor, new tools in window bar, dependency downloading and so on. You can add facets from the File → Project Structure window as shown below −

Window Bar

Artifacts

Artifacts are the output of a project. It can be a simple JAR file, Java EE application, or Java EJB application. If we are using external build tools like Gradle or Maven, then IntelliJ will add artifact for them automatically. Artifacts can be created by navigating to the File → Project Structure as shown below −

Artifacts

Importing Existing Project

In this section, we will understand how to import an existing project. We can import a project in two ways −

  • Import it from existing source
  • Import it from the build model.

At present, it supports Gradle and Maven build tools. To import project −

  • Navigating to File → New → Project from the existing source.
  • Select directory of the existing project, Maven’s pom.xml or Gradle’s build script.
  • Click on the OK button.

Importing Existing Project

Project Formats

IntelliJ supports two types of project format one is directory-based and other is file-based. Directory based format is newer one it is recommended. By default, IntelliJ creates directory based project format. You can select project format while creating new project. On new project window just click on more settings as show in below image −

Project Formats

Directory-based Project Format

This format helps create an idea folder in your project and keep all configuration files inside that folder. Settings are grouped into the xml files. For instance, it will create misc.xml, modules.xml, workspace.xml and so on. The following screenshot will help you understand how this works −

Directory-based Project Format

File-based Project Format

It will create two project files with ..ipr and wpr extensions. The ipr file will contain project-specific settings and the wpr file will contain workspace-specific settings.

File-based Project Format

To convert a file-based project to a directory-based project, go to the File → Save as a Directory-Based format.

Directory-based vs File-based Project Format

Compared to the file-based project format, the directory-based project format stores settings in a separate folder with meaningful names. Other differences are −

  • Related settings getting stored in a single file makes it easier to manage in directory-based project format.

  • If folder contains the idea subfolder then IntelliJ recognizes that project. Because of this, you don’t have select the ipr project explicitly.

  • Directory-based project format breaks settings into multiple files hence it is easier to select particular type of setting to store in version control system.

Intellij Idea — Deep Dive into Editor

Editor is that area where a developer spends most of his/her time. Mastering the editor is the first step at improving the productivity of any resource. This chapter discusses visual elements of editor, the most common editor actions and SonarLint plug-in, which provides lint checking.

Visual Elements of Editor

IntelliJ has many provisions that include visual elements designed to assist developers in navigating through and understanding the real status of their coding.

Let us now go through the different provision −

Gutter Area

Editor’s gutter area is located on the left side of IDE as shown in the following image −

Gutter Area

Labels

We will now understand how the labels work. The above screenshot is marked in numbers. We will now see what the numbers have to show −

  • Here we can see line numbers along with other useful options. If you observe carefully just before class name and main method there is a small green triangle. It provides option to run, debug and run application with coverage. Just click on the triangle icon and it will provide options.

  • You can see the small plus symbol at line number 6. This is the code folding functionality. If you click on that icon, then it will unfold it. Code folding can be done at class, method, loop and other block levels.

  • At line numbers 11 and 14, there are 2 arrows which point towards each other. The marker represents the method’s start and end position. If you click on any arrow, then it will perform the fold action on that code block. The Gutter area will show various symbols when certain actions are taken; for instance, it will show symbols for breakpoints, Java annotations.

Status Bar

At the bottom of the Editor window, there is a status bar, which shows information about the current file and the project status.

Event Log
Status Bar

  • In the first image, 16:1 represents the current line number and the column number respectively.

  • Next is the line separator, for UNIX and mac OS it’s n and for windows it’s r.

  • UTF-8 represents the file encoding.

  • Next is the lock icon. We can toggle file’s read-only attribute by clicking on it.

  • At the end, there is a symbol with a man’s face. It allows managing the code inspection level.

    • When we type code in Editor, IntelliJ inspects code on the fly and shows hints/suggestion. We can decide the inspection level from here. For instance, we can completely disable it or allow inspection only for syntax and so on.

    • We can also enable the Power Save mode from here, which will disable background code analysis and other background jobs.

  • The Status bar also shows information about project actions. For instance, second image show information about project compilation.

Scratches

IntelliJ provides a temporary Editor. You can create text or piece of code without modifying the current project structure. It provides two types of temporary files −

Scratch files

They are functional, run-able and debug-able. To create a scratch file −

  • Go to File → New → Scratch file.

  • Select the language of your choice.

  • It will create a file in the IntelliJ-Installation-Directory config scratches folder.

Scratch buffers

This is used only for creating any text. To create a scratch buffer −

  • Press Ctrl + Shift + A or click on Search Everywhere icon

  • It will pop up dialog box.

  • Enter new scratch buffer text in that box and press enter.

  • It’ll open scratch buffer in editor window.

Like the scratch files, scratch buffers are also stored in the IntelliJ-Installation-Directoryconfigscratches folder.

Scrollbar

Scrollbar highlights warnings/error messages/TODO markers from the code. For instance, the sayHello() and sayGoodBye() method is never used; hence, the scrollbar shows yellow marker for them.

Scrollbar

At line number 8, there is the TODO comment, scrollbar highlights it using the blue marker. Errors are highlighted using red marker.

Editor Actions

In this section, we will discuss the Editor actions in IntelliJ.

Search and Replace

To search text in the current file −

  • Navigate to the file in the Editor window and press Ctrl+F.

  • It will show text box, type text to be searched there.

  • You can provide various options here — case sensitive match, exact match, regular expression and so on.

Editor Actions

You can perform the search operation at a very granular level. For instance, search can be done at project, module or directory level −

  • Press the Ctrl+Shift+F key combination.

  • A new window will appear; from here, you can select the appropriate level.

New Window

To perform a replace action in the current file −

  • Press the Ctrl+R key combination.

  • A dialog box will appear, enter the text to be replaced here.

  • This operation allows you to replace single match, all matches or skip current match.

Replace Single

To perform the replace action at a granular level −

  • Press the Shift+Ctrl+R key combination.

  • It will allow you replace text at project, module, directory and other scopes.

Column Selection Mode

To enable the column mode selection, hold the Alt key while selecting the text. To enable the column selection mode on a permanent basis, select Edit → Column selection mode.

Column Selection

Clipboard History

When we copy any text, it goes to the clipboard history. IntelliJ maintains the clipboard history. To view this history, pressthe Ctrl+Shift+V key combination. You can select the content to paste from this window.

Clipboard History

Code Completion

IntelliJ inspects the code on the fly and provides accurate code completion. For instance, when I type the word say — it suggests sayHello() and sayGoodBye() methods.

Code Completion

Code completion suggests class attributes and class methods while working with the class objects.

Generating Code

IntelliJ provides a way to generate useful code like constructor, getter, setter, toString() method, override methods and so on. Follow these steps to generate right-click in the Editor window.

  • Select the Generate option.

  • It will list the methods for which code can be can generated.

Generate Option

Code Inspection

We have already seen that IntelliJ identifies syntax errors, warning messages and TODO markers. In addition to this, it suggests code improvement, identifies dead code, code optimization. For instance, in the code given below, the value of flag is always true. Hence, the else part will never be executed.

boolean flag = true; 
if (flag == true) { 
   System.out.println("Value of flag is true"); 
} else { 
   System.out.println("Value of flag is false"); 
}

IntelliJ identifies this and suggests removing this code block.

Code Inspection

Comparing Files and Folders

Follow these steps to compare files and folders −

  • Hold the Ctrl key and select files to be compared from the project perspective.

  • Right-click on it and select the Compare Files option.

  • It will open the Compare window where the changes are highlighted.

You can also apply the changes from one file to another. If you observe, there are two arrow markers highlighted in red color. Click on them to apply changes from other file. Press Ctrl+Z to undo the changes.

Similarly, to compare the folders, select folders from project perspective instead of files.

Compare Files

Getting Help

It is useful if you get details about code easily. Like the method description, its return type, arguments type and number of arguments — IntelliJ can provide these details in the Editor window itself.

Inline Documentation

As the name suggests, IntelliJ can access documentation by extracting it from the code. If you provide Java Docs for your code, then IntelliJ can show help about it. To access inline documentation, hover click on method name and press the Ctrl+Q key combination.

Inline Documentation

Viewing Definition

To view definition, hover the mouse over method name and press the Ctrl+Shift+I key combination.

Viewing Definition

Show Usage

To view method usage, click on method declaration/definition and press the Alt+Ctrl+F7 key combination.

Show Usage

View Parameters

To view the method parameters, type method name and press the Ctrl+P key combination.

View Parameters

Linting Code

Linting is a process in which the lint tool analyzes the source codes and reports potential issues related to the coding standard. It helps in improving the code quality. IntelliJ supports SonarLint plug-in which lints the code.

About SonarLint

Once you install and enable the SonarLint plug-in, it will start analyzing the code automatically when you open a file in the Editor window. It will report issues in the SonarLint panel. We will discuss more about it in this section.

SonarLint supports popular programming languages like Java, JavaScript, PHP and Python.

Installation

Follow these steps to install SonarLint −

  • Download SonarLint from here.

  • Go to File → Settings → Select plugins.

  • Click on the Install plugin from disk button.

  • Follow on-screen installation to complete the installation procedure.

On-screen Installation

Code Analysis

Once the plug-in is installed and enabled, it will start analyzing code on the fly. It will report issues in the SonarLint panel. Follow these steps to view issues of the current file −

  • Click on the Current file tab.

  • It will report issues like unused local variables, unused class attributes, message logging and so on.

  • To know more about issue, click on issue from SolarLint panel.

  • In the right side of the window, it will show its severity as Major, Minor and so on.

Severity as Major

Do One Time Code Analysis

If you are not comfortable with on-the-fly code analysis, then you can disable it and perform one time code analysis once you are ready with code. Follow these steps to disable on-the-fly code analysis −

  • Go to File → Settings → Other Setting → SonarLint General Settings

  • Uncheck Automatically Trigger Analysis checkbox from the settings tab.

  • Click on Apply followed by Ok button.

Automatically Trigger Analysis

Intellij Idea — Code Refactoring

In this chapter, we will learn about Code Refactoring and how it works in IntelliJ. Code refactoring is restructuring of code without changing its functionality and usability. Code refactoring can be done to improve code readability, performance or to remove unused/duplicate functionality. IntelliJ provides great support for code refactoring. This chapter discusses various code refactoring actions.

Rename

Rename actions can be used to rename methods, its parameters, class attributes, local variables and so on. Let us create the following class in IntelliJ.

public class Employee {
   private String name;
   private String address;
   private int age;
   public Employee() {
      this("Jarvis", "Palo Alto", 35);
   }
   public Employee(String name, String address, int age) {
      this.name = name;
      this.address = address;
      this.age = age;
   }
   public String getName() {
      return name;
   }
   public void setName(String name) {
      this.name = name;
   }
   public String getAddress() {
      return address;
   }
   public void setAddress(String address) {
      this.address = address;
   }
   public int getAge() {
      return age;
   }
   public void setAge(int age) {
      this.age = age;
   }
   
   @Override
   public String toString() {
      return "Employee{" +
      "name='" + name + ''' +
      ", address='" + address + ''' +
      ", age=" + age +
      '}';
   }
   public static void main(String args[]) {
      Employee e = new Employee();
      System.out.println(e);
   }
}

Now, let us rename Employee class to Person. This action will do modifications in constructors and the main() method −

  • Select Employee word

  • Go to Refactor → Rename and rename it with Person.

Rename Actions

Replace Code Duplicates

This is one of the powerful refactoring actions. IntelliJ identifies code duplicates and
replaces it with appropriate code. Let us introduce code duplication and refactor it. Type
the following code in the Editor −

public class Employee {
   private String name;
   private String address;
   private int age;
   public Employee() {
      this("Jarvis", "Palo Alto", 35);
   }
   public Employee(String name, String address, int age) {
      this.name = name;
      this.address = address;
      this.age = age;
   }
   public void setData(String name, String address,  int age) {
      this.name = name;
      this.address = address;
      this.age = age;
   }
   public void showEmployeeDetail() {
      System.out.println("Name = " + name + ", Address = " + address + ", Age = " + age);
   }
   public static void main(String args[]) {
      Employee e = new Employee();
      e.showEmployeeDetail();
   }
} 

In this example, Employee(String name, String address, int age) constructor and public void setData(String name, String address, int age) method are exactly identical. After refactoring, the Employee(String name, String address, int age) constructor gets modified as follows −

public Employee(String name, String address, int age) {
 setData(name, address, age);
}

To replace the duplicates −

  • Go to Refactor → Find and Replace Code Duplicates.

  • Select refactor scope and follow on-screen steps to complete action.

Replace Code Duplicates

Copy Refactoring

In this section, we will understand how to copy one class to another. Let us copy Employee
class to Person class. We can copy it to the existing module or a new one. IntelliJ will do
the required changes depending on it. Follow these steps to perform copy refactoring −

  • Go to Refactor → Copy, it will open the dialog box.

  • Enter new name and destination package.

  • Click on the OK button and it will do the needful.

Copy Class

Move Refactoring

Move refactoring is similar to copy but instead of making another copy it moves the code to a different package or make it as inner class of another class.

Follow these steps to perform move refactoring −

  • Go to, Refactor → Move.

  • A new window will appear.

  • Select one of the options according to your choice and click on Refactor.

Move Refactoring

Safe Delete

The Safe Delete action will delete object only when it is not referenced anywhere in the
project. The target for this option can be class, interface, method, field or parameter.

Let us see this in action. Type the following code in Editor −

public class HelloWorld {
   static void sayHello() {
      System.out.println("Hello, World !!!");
   }
   public static void main(String[] args) {
      sayHello();
   }
}

Follow these steps to perform the safe delete action −

  • Select the sayHello() method.

  • Right-click on it and select the Refactor → Safe Delete option.

  • As the sayHello() method is being used it will show an error as in the following
    screenshot −

Safe Delete Action

Change Signature

The action modifies method signature. It can change the method name, its parameters,
types, return values and so on. Let us take a method from the above example and change
its signature.

Follow these steps to perform the Change Signature action −

  • Select method.

  • Right-click on it and select the Refactor → Change signature action

  • A new window will appear wherein you can perform the above actions.

  • At the bottom of the window, it shows the preview of new signature.

Change Signature

Type Migration

The Type Migration changes the type of the symbol. This symbol can be a method parameter or class attribute. Let us consider the following method before performing the required action −

static void sayHello(String name) {
   System.out.println(name);
}

Follow these steps to perform type migration −

  • Select the “String” data type.

  • Right-click on it and select Refactor → Type migration.

Type Migration

  • Enter the required data type in the given text box.

  • Choose scope and click on the Refactor button.

Intellij Idea — Running Projects

IntelliJ provides multiple ways to create configuration. This chapter discusses the options
to create temporary, permanent configuration. It also discusses method to share configuration among other users.

Create Temporary Configuration

Temporary configuration is created when you run or debug Java class or test case. Consider the following steps to understand how this works −

  • Create a Java class.
  • Right-click on it and select the Run option.
  • After the first Run, temporary configuration is added to the run menu.

Temporary Configuration

Create Permanent Configuration

Temporary configuration can be converted to permanent configuration by saving it with
IntelliJ. To save configuration, click on the Save Configuration option from the Run menu −

Permanent Configuration

You can also modify the existing configuration by editing it.

Create New Configuration

In this section, we will understand how to create new configuration. Follow these steps to
create new configuration −

  • Navigate to the Run → Edit Configuration.

  • Click on the Plus button to add new configuration.

  • Select Application from the dropdown list.

New Configuration

  • It will create un-named configuration.

  • Configure it according to your requirements and click on the OK button.

  • This saved configuration will be accessible from the Run menu along with other
    configurations.

Sharing the Configuration

Follow these steps to share configuration with others −

  • Navigate to the Run → Edit Configuration.

  • Select configuration from the left pane and click on the Share checkbox.

  • It will store configuration on disk.

If directory based format is used, it will save configuration in separate file under
runConfiguration folder. Otherwise, it will store configuration in the .ipr file.

Share Configuration

Run Configuration

To run project with specific configuration −

  • Select configuration from the Run menu.

  • Run the project as shown in the following screenshot −

Run Configuration

Intellij Idea — Build Tools

IntelliJ provides a way to build and package Java package. It supports external build tools
like Maven and Gradle. This chapter discusses about these build tools.

Creating Maven Project

Follow these steps to create a Maven project −

  • Navigate to File → Project.

  • Select Maven option and click on Next button.

Maven Project

  • In the new project window enter tutorialspoint.com as GroupId and HelloWorld as ArtifactId.

  • In the New window, it will open the pom.xml file.

  • We need to add properties to this file; the final pom.xml file should look like this −

<?xml version = "1.0" encoding = "UTF-8"?>
<project xmlns = "http://maven.apache.org/POM/4.0.0"
   xmlns:xsi = "http://www.w3.org/2001/XMLSchema-instance"
   xsi:schemaLocation = "http://maven.apache.org/POM/4.0.0  
      http://maven.apache.org/xsd/maven-4.0.0.xsd">
   <modelVersion>4.0.0</modelVersion>
   <groupId>com.tutorialspoing</groupId>
   <artifactId>HelloWorld</artifactId>
   <version>1.0-SNAPSHOT</version>
   <properties>
      <maven.compiler.source>1.7</maven.compiler.source>
      <maven.compiler.target>1.7</maven.compiler.target>
   </properties>
</project>

Now, let us create a Java class inside the src/main/java directory of the Maven project. Follow these steps to create the class −

  • Navigate to the src/main/java directory.

  • Right click on it and select New → Java Class.

Follow these steps to compile this class using Maven −

  • Navigate to Run → Edit Configuration.

  • Click on the green plus icon and select the Maven option from the dropdown menu.

  • Enter the project name as Maven-Package.

  • Provide package as the command line.

  • Click on the OK button.

Command Line

  • Navigate to Run and select the Maven-Package option.

  • It will start building package. Upon successful building of the package, you will see
    the following result −

Building Package

Create Gradle Project

In this section, we will learn how to create a Gradle project −

  • Navigate to File → Project and select Gradle.

  • Click on the Next button.

  • In the new project window, enter tutorialspoint as GroupId and HelloWorld
    as ArtifactId.

  • Click on the Next button, verify the project details and click on the Finish button.

  • Follow the on-screen instructions to complete the process.

Finish button

  • Open the buildl.gradle file and write Hello task as shown in the above screenshot.

  • To compile this task, navigate to the Run → Build-Gradle option.

Intellij Idea — Unit Testing

Unit testing plays an important role in software development. IntelliJ supports various unit
testing frameworks like JUnit, TestNG, Spock and many more. In this chapter, we are going to use JUnit3.

Create Unit test

In this section, we will learn how to create a Unit Test. Follow these steps to create the
test −

  • Select the Navigate → Test option.

  • A dialog box will appear wherein, you have to select Create New Test.

  • Follow the on-screen instructions to continue −

  • Provide the details about the test like testing library, class details, setUp, tearDown
    methods and so on.

Tear Down Methods

  • Click on the OK button to continue.

  • A test class will be created. Initially it may fail to resolve some symbols. Navigate
    the cursor to the error line, it will show the hint symbol.

  • Select the appropriate option from the dropdown menu. We have selected the Add library ‘junit.jar!’ to classpath option −

Classpath Option

You can add logic inside each test according to your business requirement. I have kept it
empty for simplicity.

Run Unit Test

Follow these steps to run unit test −

  • Select unit test class from the Editor window.

  • Navigate to the Run menu and select the Run option.

  • The following result will be generated

Run Option.

Intellij Idea — Debugging

Debugger makes application debugging much easier. Using debugger, we can stop the execution of program at a certain point, inspect variables, step into function and do many things. IntelliJ provides inbuilt Java debugger.

Breakpoints

Breakpoint allows stopping program execution at certain point. Breakpoints can be set by hovering the mouse over the Editor’s gutter area and clicking on it.

Breakpoints are denoted using red circle symbols. Consider the breakpoint set at line 3.

Breakpoints

Consider the following steps to understand more on how the breakpoints work −

  • Right-click on the red circle symbol.

  • Select the More options.

  • To remove breakpoint just click on same symbol.

Follow these steps to start the debugger −

  • Navigate to the Run menu.
  • Select the Debug option.

Step into

While debugging, if a function is encountered and a step into action is selected, then debugger will stop program execution at each point of that function as if debugging is enabled for that function.

For instance, when program execution reaches at line 9 and if we select the step into action then it stops the execution at each line in the sayGoodBye() function.

Program Execution

Step out

The Step out action is exactly the reverse of Step in action. For instance, if you perform the step out action with the above scenario then debugger will return from the sayGoodBye() method and start execution at line 10.

Step Out

Step over

The Step over action does not enter into function instead, it will jump to the next line of code. For instance, if you are at line 9 and execute the step over action then it will move execution to line 10.

Step Over

Resume Program

The Resume Program action will continue execution of program by ignoring all breakpoints.

Breakpoints

Stop action

The Stop action helps stop the debugger.

Stop Action

Smart step into

While debugging, we may sometimes reach a line of code that calls several methods. When debugging these lines of code, the debugger typically allows us to use step into and leads us through all child functions and then back to the parent function. However, what if we only wanted to step into one child function? With Smart step-into, it allows us to choose the function to step into.

Now, let us create a Java class with the following line of code −

public class HelloWorld {
   public static void main(String[] args) {
      allFunctions();
   }
   static void allFunctions() {
      System.out.println(function1() + " " + function2() + " " + function3());
   }
   static String function1() {
      return "function1";
   }
   static String function2() {
      return "function2";
   }
   static String function3() {
      return "function3";
   }
}

In the above code, allFunctions() calls 3 more functions. Let us set the breakpoint at
this function. Follow these steps to perform smart step into −

  • Go to run
  • Select smart step into.
  • Select the child function to go.

Child Function

Inspecting variables

During debugging, IntelliJ shows value of variable in the Editor window itself. We can also
view the same information in the Debug window.

Inspecting Variables

Evaluate expression

Evaluate expression allows to evaluate expression on the fly. Follow these steps to perform
this action −

  • Start application in debugger

  • Navigate to Run->Evaluate expression.

  • Enter expression. In the example given below, the current value of variable ‘i’ is 0;
    hence, expression ‘i > 100’ will evaluate to false

Evaluate Expression

Intellij Idea — Profiling

Profiler gives insights about your application like its CPU, memory and heap usage. It also
gives details about the application threads. This chapter discusses the usage of VisualVM
tool for Java application profiling. It can profile entities such as CPU and heap.

It is recommended that the readers of this tutorial are familiar with the application profiler
concepts.

Introduction

VisualVM is a visual tool that integrates JDK tools and gives you powerful profiling
capabilities. It allows you to generate and analyze heap data, track down memory leaks,monitor the garbage collector and perform memory and CPU profiling.

Benefits

  • Visual interface for local and remote Java applications running on JVM.

  • Monitoring of application’s memory usage and application’s runtime behavior.

  • Monitoring of application threads

  • Analyzing the memory allocations to different applications.

  • Thread dumps − very handy in case of deadlocks and race conditions.

  • Heap dumps − very handy in analyzing the heap memory allocation.

Configuration

In this section, we will learn the steps performed to configure VisualVM. The steps are as
follow −

  • Download it from here.

  • Extract the zip file.

  • Navigate to etc/visualvm.conf file and add the following line in this file −

visualvm_jdkhome=<path of JDK>
  • If your JDK is installed in the C:Program FilesJavajdk-9.0.1 directory then
    it should look like this −

visualvm_jdkhome="C:Program FilesJavajdk-9.0.1"

Monitoring application

Let us now see how to monitor the application. Consider the following steps to understand
the same −

  • Double-click on the visualvm.exe file.
  • Select the application from left pane.
  • Select the monitor tab.

Monitoring Application

You will be directed to a window where you will get the details about CPU, Heap, Classes
and threads. To be specific with the usage, hover the mouse over any graph. We can see
the usage of Heap in the above screenshot.

Insights about Threads

Java application can contain multiple threads of execution. To know more about threads,
select the Threads tab of a particular application. It will give various statistics about
threads like number of live threads and daemon threads. The different thread states are
Running, Sleeping, Waiting, Park and Monitor.

Insights Threads

Sampling Application

VisualVM supports CPU, memory sampling and memory leak detection. To sample application, select application and choose the sample tab −

CPU sampling

For CPU sampling, click on the CPU button as show in the following screenshot −

Memory Sampling

Memory profiling

For memory profiling, click on the Memory button as shown in the following screenshot −

Memory profiling

Memory leaks

A memory leak occurs when an application, while running, slowly fills up the heap with
objects that are not automatically deleted by the program.

If an object that is not used by the program is not deleted, then it remains in memory and
the GC cannot reclaim its space. If the number of bytes and number of instances in your
application were to increase constantly and significantly in your program to the point of
using up all the space, this can be an indication of a memory leak.

Profiling application

In this section, we will learn how to profile an application. To profile an application, select application from left pane and click the profile tab −

CPU profiling

To perform CPU profiling, click on the CPU button as shown in the screenshot below −

CPU Profiling

Memory profiling

To perform CPU profiling, click on the CPU button as shown in the screenshot below −

CPU Memory Profiling

Intellij Idea — Version Control

IntelliJ supports various version control systems like Git, Subversion, Mercurial, CVS,
GitHub and TFS. You can perform version control related action from the IDE itself.

In this chapter, we will discuss Git and Subversion (hereafter referred to as SVN). We
assume that the reader is familiar with Git and SVN tool and its terminology.

Git

In this section, we will learn how to work with Git.

Clone

To clone an existing Git repository −

  • Navigate to File->New->Project from Version Control->Git.

  • Enter the repository URL, Parent directory and Directory name.

  • Click on the clone button to continue.

Clone Repository

  • Upon successful running of the above steps, the repository will get cloned.

Track changes

Git will track the changes that you make in repository. Let us modify any file from the
repository and compare it with the repository.

  • Navigate to VCS → Git → Compare with Latest Repository Version.

  • The above step will open the diff window.

  • You can see there is a new line on the right side with green background colour.

  • Git shows it in green as we have added new contents. If we remove any contents then it’ll be shown in red colour

Track Changes

Revert local changes

Follow these steps to discard the local changes −

  • Navigate to the VCS → Git → Revert option.

  • It will ask for confirmation and remove your changes.

Revert Changes

Add file to repository

To add file to repository navigate to VCS → Git → Add option. This action is similar to the git add action.

Commit changes

The Commit operation will create local commit. It is similar to the git commit action. To perform commit −

  • Navigate to the VCS → Git → Commit File option.

  • Select files to be committed.

  • Enter commit message and click on Commit button.

Commit Changes

Push changes to the remote repository

The Push action will send local changes to the remote repository. To push changes −

  • Navigate to the VCS → Git → Push option.

  • A window will appear. Here, you can see the comitts to be pushed.

  • Verify commit and click on the Push button to publish your changes.

Push Changes

View history or logs

To show history, navigate to the VCS → Git → Show history option. This action is similar
to the git log command. It will show history as follows −

View History or Logs

Get updates

Follow these steps to fetch updates from the repository −

  • Navigate to the VCS → Git → Pull option.

  • Select the option according to your requirements.

  • Click on the Pull button.

Get Updates

Add existing project to Git

To add existing project under Git −

  • Navigate to VCS → Import into Version Control → Create Git repository.

  • Select project by browsing directory.

  • Click on the OK button.

Existing Project

Subversion

In this section, we will understand how Subversion works in IntelliJ. Let us consider a few
important actions to understand this.

Checkout

To checkout SVN repository −

  • Navigate to File → New → Project from Version Control → Subversion.

  • Enter repository URL.

  • Click on the OK button.

Checkout

Track changes

SVN will track changes you made in the repository. Let us modify any file from repository
and compare it with repository −

  • Navigate to VCS->Subversion->Compare with Latest Repository Version

  • You can see there is new line on right side with green background colour.

  • SVN shows it in with green background to indicated the addition of new content. If
    we remove any content then it will be shown in red colour.

Latest Repository

Revert local changes

Follow these steps to revert the local changes you have made −

  • Navigate to the VCS → Subversion → Revert option.

  • It will ask for confirmation and remove your changes.

Remove Your Changes

Commit changes to remote repository

Follow these steps to commit changes in the remote repository −

  • Navigate to VCS → Subversion → Commit Files option.

  • A new window will appear. Here, you can see the files to be committed to remote
    respository.

  • Verify the files and click on the Commit button to publish your changes.

Commit Button

View history or logs

To show history, navigate to the VCS → Subverion → Show history option. This option is
similar to the svn log command. It will show history as follows −

History Navigate

Update operation

To fetch latest changes navigate to VCS → Subversion → Update File/Update Folder option.

Update Operation

Add existing project to Subversion

Follow these steps to add existing project under SVN −

  • Navigate to VCS → Import into Version Control → Import into Subverion.

  • Enter the repository URL and click on the Import button −

Add Existing Project

Intellij Idea — Databases

IntelliJ provides database tool which allows you to perform database related operation from the IDE itself. It supports all major databases like MySQL, Oracle, Postgress, SQL server and many more. In this chapter, we will discuss how IntelliJ supports MySQL database.

We assume that the reader is familiar with the database concepts and the required databases’ tools are installed and configured on your system.

Create Database

To begin with, we will create a database — test_db. Execute the following command in the command prompt −

Create Database

Connect to Database

Follow these steps to connect to a Database −

  • Navigate to View → Tool Windows → Database.

  • Click on the green plus icon and select Data Source → MySQL.

Connect To A Database

  • Enter the host address and click on the Test Connection button.

  • If everything goes well then it’ll show Successful as shown in above image.

  • Click on OK button to save connection.

Create table

Follow these steps to create a new table −

  • Right-click on the database pane and select schema.

  • Select the New → Table option

Create Table

  • A new window will appear. Define the table with columns, types and so on.

Table With Columns

  • Click on the Execute button

  • Click on the Execute button

Insert Data

Follow these steps to insert data −

  • Select table from the database pane.
  • It will open table in the new window.
  • Click on the plus icon to insert new row.
  • Click on the Submit button to make the changes permanent.

Insert Data

Retrieve Data

To retrieve data, double-click on student_table from the database pane. It will show table
data in new window.

To ensure that the data is inserted into the table, open the command prompt and execute
the following commands −

Retrieve Data

Intellij Idea — Migrating from NetBeans

NetBeans is another popular Java IDE. If you are a current user of NetBeans and want to
migrate from it to IntelliJ then this will serve as a good starting point.

This chapter discusses the importing of NetBeans projects in IntelliJ, its terminologies
equivalent to NetBeans, popular shortcuts and frequently asked questions.

Import NetBeans project

In this section, we will learn how to import NetBeans project. Follow these steps to import
the project −

  • Navigate to File → New → Project from Existing Sources

  • Select your NetBeans project directory.

  • When the Import Project wizard opens, select the Create project from existing sources option.

  • Follow the on-screen instructions to continue.

IntelliJ vsNetBeans terminology

The following table compares IntelliJ and NetBeans terminology −

IntelliJ NetBeans
Module Project
Global library Global library
Module library Project library
Module dependency Project dependency
Module SDK Project-specific SDK

Popular shortcuts

IntelliJ is a keyboard-centric IDE. It provides shortcuts for most of the actions. The
following table lists a few important shortcuts −

Action Shortcut
Run Java program ctrl+shift+F10
Organize imports ctrl+alt+o
System.out.println() Type sout and press ctrl+j
Delete current line ctrl + y
Search ctrl + shift + f
Generate getter and setter alt + insert
Format code ctrl + alt + l
Comment out code ctrl + /
Go to line ctrl + g
Go to declaration ctrl + b
Rename shift+F6
Move lines ctrl + shift + up/down

Debugger shortcuts

The following table lists down a few important debugger shortcuts −

Debug action Shortcut
Debug a program Shift + F9
Choose configuration and debug Shift+Alt+F9
Step over F8
Step into F7
Smart step into Shift + F7
Step out Shift + F8
Force step over Shift+Alt+F8
Force step into Shift+Alt+F7
Resume program F9
Evaluate expression Alt+F8
Toggle breakpoints Ctrl+F8
View breakpoints Ctrl+Shift+F8

FAQsand Tips

In this section, we will go through a few Frequently Answered Questions and Tips. The
FAQs and tips are as follows −

Can I use the NetBeans key bindings in IntelliJ IDEA?

  • Navigate to Files → Settings and select Keymap.

  • Select NetBeans from the drop down box

Drop Down Box

Is local history in IntelliJ IDEA different from that in NetBeans?

Local history in IntelliJ IDEA, generally, is more detailed. Whatever you do with a directory,
file, class, method or field, or a code block is reflected in your local history. The local
history also includes VCS operations.

Can I enable ‘compile on save’ in IntelliJ IDEA?

  • Navigate to File → Settings → Build, Execution, Deployment → Compiler
  • Select Build Project Automatically option.
  • Click on the OK button.

Build Project Automatically

Can I use NetBeans plugins in IntelliJ IDEA?

No, you cannot.

Is it possible to build NetBeans RCP applications with IntelliJ IDEA?

It is possible; however, you will not get the same kind of support that you get with
NetBeans (wizards, menu actions, etc.). For more details, visit this.

Intellij Idea — Migrating from Eclipse

Eclipse is yet another popular Java IDE. If you are a current user of Eclipse and want to
migrate from it to IntelliJ, then this is a good starting point.

This chapter discusses how to import Eclipse projects in IntelliJ, its terminologies
equivalent to Eclipse, popular shortcuts and frequently asked questions.

Import existing project

In this section, we will discuss how to import an existing project. Follow these steps to
import the project −

  • Navigate to File → New → Project from Existing Sources.

  • Select your NetBeans project directory.

  • When the Import Project wizard opens, select the Create project from existing
    sources option.

  • Follow the on-screen instructions to continue.

IntelliJ vsEclipse terminology

The following table compares IntelliJ and NetBeans terminologies −

IntelliJ Eclipse
Project Workspace
Module Project
Facet Facet
Library Library
SDK JRE
Path variable Classpath variable

Popular shortcuts

IntelliJ is a keyboard-centric IDE. It provides shortcuts for most of the actions. The
following table lists a few popular shortcuts −

Action Shortcut
Run java program ctrl+shift+F10
Organize imports ctrl+alt+o
System.out.println() Type sout and Press ctrj+j
Delete current line ctrl + y
Search ctrl + shift + f
Generate getter and setter alt + insert
Format code ctrl + alt + l
Comment out code ctrl + /
Go to line ctrl + g
Go to declaration ctrl + b
Rename shift+F6
Move lines ctrl + shift + up/down

Debugger shortcuts

The following table lists down commonly used debugger shortcuts −

Debug action Shortcut
Debug a program Shift + F9
Choose configuration and debug Shift+Alt+F9
Step over F8
Step into F7
Smart step into Shift + F7
Step out Shift + F8
Force step over Shift+Alt+F8
Force step into Shift+Alt+F7
Resume program F9
Evaluate expression Alt+F8
Toggle breakpoints Ctrl+F8
View breakpoints Ctrl+Shift+F8

FAQsand Tips

In this section, we will see a few Frequently Answered Questions and tips. The FAQs and
tips are as follows −

Use Eclipse Compiler

While Eclipse uses its own compiler, IntelliJ IDEA uses the javac compiler bundled with the
project JDK. If you want to use the Eclipse compiler −

  • Navigate to File → Settings → Build, Execution, Deployment → Compiler → Java Compiler.

  • Select the required compiler from User compiler dropdown.

Eclipse Compiler

Eclipse Keymap

For Eclipse users who prefer not to learn new shortcuts, IntelliJ IDEA provides the Eclipse
keymap that closely mimics its shortcuts −

  • Navigate to File → Settings → Keymap option.
  • Select Eclipse from Keymap dropdown.

Eclipse Keymap

Code formatting

To import your Eclipse formatter settings −

  • Navigate to File → Settings → Editor → Code Style → Java.

  • Select the Eclipse XML profile.

Eclipse Formatter Settings

Working with Build Tools

Like Eclipse, IntelliJ does not provide visual forms for editing Maven/Gradle configuration
files.

Once you have imported/created your Maven/Gradle project, you are free to edit its
pom.xml/build.gradle files directly in the text editor.

содержание

Основы работы с IntelliJ IDEA. Интерфейс программы

Для написания Java-программы (и естественно, Kotlin) по большому счету достаточно обыкновенного текстового редактора, но, конечно же, такой вариант просто несопоставим с использованием профессиональных сред разработки приложений, так называемых IDE (Integrated Development Environment).

IntelliJ IDEA – это интегрированная среда разработки программного обеспечения на Java/Kotlin от компании JetBrains. Кстати, не только на них. Среда с успехом используется и для других языков программирования, например, Scala. Первая версия программы появилась в 2001 г. и с тех пор программа неуклонно повышает свой рейтинг популярности. IntelliJ IDEA выпускается в двух редакциях: Community Edition и Ultimate Edition. Первая версия является полностью бесплатной. Вторая версия распространяется под различными лицензиями и, как декларируется, может использоваться бесплатно для разработки проектов с открытым программным кодом.

Версии отличаются также поддерживаемыми технологиями.

  1. Ultimate Edition:
  • полнофункциональная среда разработки под JVM и разработке на различных языках: Java, Kotlin, PHP, JavaScript, HTML, CSS, SQL, Ruby, Python;
  • поддержка технологий Java EE, Spring/Hibernate и других;
  • внедрение и отладка с большинством серверов приложений.
  1. Community Edition:
  • полнофункциональная среда разработки для Java SE, Kotlin, Groovy и Scala;
  • мощная среда для разработки под Google Android.

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

Естественно, IntelliJ IDEA – не единственная среда создания приложений для Java, достаточно припомнить популярную Eclipse или NetBeans, так что разработчику есть из чего выбирать.

Установка системы

Скопировать дистрибутив можно с сайта разработчика компании JetBrains по ссылке http://www.jetbrains.com/idea/. Установка IntelliJ IDEA проблем не вызывает. Отмечу только, что при инсталляции установите ассоциацию программы (Create associations) с файлами Java и Kotlin.

Интерфейс программы

Стартовое окно

После установки при первоначальной загрузке IntelliJ IDEA появляется стартовое окно «Welcome to IntelliJ IDEA», позволяющее загрузить либо открыть проект, импортировать проект, выполнить его загрузку из репозитория нескольких систем контроля версий («Check out from Version Control»). При наличии в проекте файлов настройки сборки для Maven или Gradle, IntelliJ IDEA предложит вам использовать их для конфигурации.

После работы с определенным проектом, он запоминается, и при последующем запуске программы происходит загрузка последнего открытого проекта. Впрочем, это происходит при настройках программы по умолчанию, когда в настройках программы (FileSettings) в группе Appearance & Behavior (Внешний вид и поведение), System Setting (Настройки программы) установлен флажок для поля-метки Reopen last project on startup (Открывать последний проект при загрузке).

Основное окно

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

Инструментальные окна располагаются по периметру окна редактора, то есть слева, справа и внизу от него на полях главного окна, которые в дальнейшем будем называть боковыми панелями (sidebar в терминологии программы). Поскольку инструментальные окна отображают разноплановую информацию, то каждая боковая панель содержит ряд вкладок, которые открываются при выполнении определенной команды. Переход к нужной вкладке (инструментальному окну) осуществляется щелчком на ее названии, которые располагаются на боковых панелях главного окна. Названию некоторых вкладок инструментальных окон предваряет цифра. Используя клавишу совместно с этой цифрой, можно быстро перейти к этой вкладке, попутно открыв ее, если она находится в свернутом положении, либо, наоборот, свернуть ее.

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

Окно редактора

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

Программа содержит внушительный инструментарий управления вкладками окна. Так, расположение вкладок можно произвольно изменять, располагая их, например, горизонтально, перебрасывая файлы из одной группы вкладок в другую, что достигается при помощи группы команд WindowsEditor Tabs либо из контекстного меню, вызываемого на вкладке окна редактирования. При необходимости конкретную вкладку можно закрепить, что бывает полезным при большом количестве вкладок, когда все они не помещаются в окне редактирования, для чего используем команду Pin Tab, о чем речь пойдет ниже.

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

По левому краю окна редактирования расположены метки блоков кода, при помощи которых можно быстро свернуть блок за ненадобностью либо вновь его развернуть. С этой же стороны окна располагаются точки останова (при их наличии), советы по модификации кода и некоторая другая информация.

Для отображения нумерации строк программного кода следует вызвать контекстное меню (кликнуть правой кнопкой мыши) на вертикальной полосе в левой части окна редактирования и выбрать Show Lines Numbers (Отображать нумерацию строк). Однако при таком действии отображение строк осуществляется только в текущем сеансе. Для постоянного же отображения нумерации строк программного кода следует в настройках раскрыть последовательно пункты Editor (Редактор), General (Общие настройки), Appearance (Внешний вид) и установить флажок для поля-метки Show line numbers (Отображать номера строк).

Сам программный код (подсветка текста, шрифты) оформляются в соответствии с настройками программы, о чем речь пойдет позже.

Инструментальные окна

Инструментальное окно проекта

На левой боковой панели отображается инструментальное окно проекта. Оно содержит вкладку иерархической структуры проекта (Project), вкладку структуры (списка метода) класса (Structure) и вкладку Favorites (Избранное), в которой отображаются закладки и точки останова.

Выбор во вкладке структуры проекта приводит к отображению его содержимого в окне редактора. Поскольку код практически любого класса содержит множество методов/функций, то вкладка «Structure» как раз и отображает их список. Он может быть упорядочен как по алфавиту (Sort by Alphabetically), так и в порядке их расположения в (Sort by Visibility). Щелчок на имени класса инициирует переход на начало метода или функции в окне редактора.

Инструментальное окно Избранное

В нижней части левой боковой панели основного окна можно вывести инструментальное окно «Favorites» (Избранное), содержащее, например, список точек останова и закладок, обеспечивая тем самым к ним быстрый доступ.

Инструментальное окно с инструментами сборки проектов

Данное окно располагается на правой боковой панели. Оно изначально содержит вкладки для наиболее распространенных инструментов сборки проектов Java – Gradle (или Maven) и Ant.

Инструментальное окно вывода

Окно располагается на нижней инструментальной панели. В нем в зависимости от характера информации отображаются, например, сообщения компиляции («Messages»), консольный ввод/вывод («Terminal»), контроль изменений проекта («Version Control»), результаты работы отладчика («Debug») и некоторые другие.

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

Создается проект просто: FileNewProject. А вот дальше возникают вопросы: какого типа у нас проект, какие библиотеки нужны…

Мы в своих проектах будем использовать Gradle и Kotlin/JVM. Если со вторым пунктом (язык программирования и реализация под JavaVirualMachine) сомнений нет, то с первым пока непонятно. Я выбрал Gradle, потому что он используется по-умолчанию в Android Studio с которым мы познакомимся в следующем году. Но что вообще означают эти слова: Maven, Gradle?

Если коротко, то это системы сборки проектов, а если подробно, то читайте, например, тут

Структура проекта

При создания нового проекта система создает для нас необходимую структуру каталогов и файлы настроек. Нам из всего этого пока понадобится только каталог с исходными кодами и настройки системы сборки проектов:

Для создания нового файла нужно кликнуть правой кнопкой мыши на подкаталоге kotlin в каталоге src и выбрать Kotlin File/Class

В появившемся окне введите название файла и выберите из списка File

В первом созданном файле (у нас он называется main.kt, но это не обязательно) сделайте точку входа в программу:

fun main(args: Array<String>){

}

Любая программа (консольная, про андроид мы пока не говорим) начинается с функции main.

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

//файл lab1.kt
class SomeClass(var value: String){
    fun printValue() = print(value)
}

fun lab1(){
    val someClassInstanse = SomeClass("test")
    someClassInstanse.printValue()
}
//файл main.kt
fun main(args: Array<String>){
    lab1()
}

Все файлы одного пакета (название пакета мы не задавали, но он назначается системой) собираются в одину программу. Таким образом весь код лабораторной работы мы будем писать в отдельном файле (lab1.kt), а вызывать его из функции main. Это упростит нам работу с репозиторием (с ним мы познакомимся на следующем занатии) и уменьшит количество мусора на диске.

Содрано отсюда

содержание

Для написания Java-программы по большому счету достаточно обыкновенного текстового редактора, но, конечно же, такой вариант просто несопоставим с использованием профессиональных сред разработки приложений, так называемых IDE (Integrated Development Environment).

IntelliJ IDEA – это интегрированная среда разработки программного обеспечения на Java от компании JetBrains. Кстати, не только на Java. Среда с успехом используется и для других языков программирования, например, Scala. Первая версия программы появилась в 2001 г. и с тех пор программа неуклонно повышает свой рейтинг популярности. IntelliJ IDEA выпускается в двух редакциях: Community Edition и Ultimate Edition. Первая версия является полностью бесплатной. Вторая версия распространяется под различными лицензиями и, как декларируется, может использоваться бесплатно для разработки проектов с открытым программным кодом. Впрочем, и даже без этого по окончанию использования мною версии Ultimate Edition, я получил просто уведомление, что могу работать с ней непрерывно на протяжении только получаса.

Версии отличаются также поддерживаемыми технологиями.

  1. Ultimate Edition:
    • полнофункциональная среда разработки под JVM и разработке на различных языках: Java, PHP, JavaScript, HTML, CSS, SQL, Ruby, Python;
    • поддержка технологий Java EE, Spring/Hibernate и других;
    • внедрение и отладка с большинством серверов приложений.
  2. Community Edition:
    • полнофункциональная среда разработки для Java SE, Groovy и Scala;
    • мощная среда для разработки под Google Android.

Ознакомиться с отличиями между версиями можно на сайте компании JetBrains по ссылке http://www.jetbrains.com/idea/features/editions_comparison_matrix.html.

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

Естественно, IntelliJ IDEA – не единственная среда создания приложений для Java, достаточно припомнить популярную Eclipse или NetBeans, так что разработчику есть из чего выбирать, а его предпочтения зачастую обусловлены субъективными факторами, например, он – начиная программировать на Java – прочитал статью про конкретную среду, что и обусловило его последующий выбор. Вполне возможно, что и данный цикл статей послужит для кого-то началом работы с IntelliJ IDEA, тем более что система, на мой взгляд, более чем удобная.

Кстати, в интернете можно найти много информации по миграции с того же Eclipse на IntelliJ IDEA (смотри, например, информацию на сайте компании JetBrains по ссылке https://www.jetbrains.com/help/idea/2016.2/eclipse.html).

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

Инсталляция системы

Скопировать инсталляционный пакет можно с сайта разработчика компании JetBrains по ссылке http://www.jetbrains.com/idea/. Установка IntelliJ IDEA проблем не вызывает. Отмечу только, что если в дальнейшем вы предполагаете работу с программным кодом именно в среде программы, то при инсталляции установите ассоциацию программы (Create associations) с файлами Java.

Справочная система

Для IntelliJ IDEA имеется документация достаточно большого объема на английском языке. Поэтому при щелчке пункта Help в главном меню открывается не встроенная, а on-line справка на сайте компании JetBrains.

Имеется также возможность получить документацию по конкретному элементу кода, для чего нужно установить на нем курсор и нажать комбинацию <Ctrl>+<Q>.

Более того, вообще можно закрепить окно с документацией на боковой панели (по умолчанию – на правой), сделав его инструментальным, щелкнув кнопку прикрепления на заголовке окна документации. Правда, на мой взгляд, это мало что дает, поскольку при открытии этого окна оно будет отображать только последнюю выведенную документацию.

Интерфейс программы

Как было отмечено ранее, продукт пользуется заслуженной популярностью разработчиков, хотя и есть «маленькое но»: отсутствие русской локализации, хотя для разработчиков это отнюдь не является препятствием для работы.

Стартовое окно

После установки при первоначальной загрузке IntelliJ IDEA появляется стартовое окно «Welcome to IntelliJ IDEA», позволяющее загрузить либо открыть проект, импортировать проект, выполнить его загрузку из репозитория нескольких систем контроля версий («Check out from Version Control»). При наличии в проекте файлов настройки сборки для Maven или Gradle, IntelliJ IDEA предложит вам использовать их для конфигурации.

После работы с определенным проектом, он запоминается, и при последующем запуске программы происходит загрузка последнего открытого проекта. Впрочем, это происходит при настройках программы по умолчанию, когда в группе Appearance & Behavior (Внешний вид и поведение), System Setting (Настройки программы) установлен флажок для поля-метки “Reopen last project on startup” (Открывать последний проект при загрузке).

Основное окно

Основное окно программы в общем виде состоит из трех областей, называемых также инструментальными окнами и окна редактора. Инструментальные окна располагаются по периметру окна редактора, то есть слева, справа и внизу от него на полях главного окна, которые в дальнейшем будем называть боковыми панелями (sidebar в терминологии программы). Поскольку инструментальные окна отображают разноплановую информацию, то каждая боковая панель содержит ряд вкладок, которые открываются при выполнении определенной команды. Переход к нужной вкладке (инструментальному окну) осуществляется щелчком на ее названии, которые располагаются на боковых панелях главного окна. Названию некоторых вкладок инструментальных окон предваряет цифра. Используя клавишу <Alt> совместно с этой цифрой, можно быстро перейти к этой вкладке, попутно открыв ее, если она находится в свернутом положении, либо, наоборот, свернуть ее. Кроме того, любое инструментальное окно можно отобразить в основном окне командой ViewnextpwTool Windows либо воспользовавшись ее комбинацией клавиш быстрого вызова.

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

Цветовую палитру IntelliJ IDEA можно настраивать, правда, таких палитр немного. Выбор палитры осуществляется в настройках, где следует раскрыть последовательно пункты Appearance & Behavior (Внешний вид и поведение), Appearance и выбрать тему из раскрывающегося списка «Theme».

Окно редактора

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

Программа содержит внушительный инструментарий управления вкладками окна. Так, расположение вкладок можно произвольно изменять, располагая их, например, горизонтально, перебрасывая файлы из одной группы вкладок в другую, что достигается при помощи группы команд WindowsEditor Tabs либо из контекстного меню, вызываемого на вкладке окна редактирования. При необходимости конкретную вкладку можно закрепить, что бывает полезным при большом количестве вкладок, когда все они не помещаются в окне редактирования, для чего используем команду Pin Tab, о чем речь пойдет ниже.

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

По левому краю окна редактирования расположены метки блоков кода, при помощи которых можно быстро свернуть блок за ненадобностью либо вновь его развернуть. С этой же стороны окна располагаются точки останова (при их наличии), советы по модификации кода и некоторая другая информация.

Для отображения нумерации строк программного кода следует вызвать контекстное меню на вертикальной полосе в левой части окна редактирования и выбрать “Show Lines Numbers” (Отображать нумерацию строк). Однако при таком действии отображение строк осуществляется только в текущем сеансе. Для постоянного же отображения нумерации строк программного кода следует в настройках раскрыть последовательно пункты Editor (Редактор), General (Общие настройки), Appearance (Внешний вид) и установить флажок для поля-метки «Show line numbers» (Отображать номера строк).

Сам программный код (подсветка текста, шрифты) оформляются в соответствии с настройками программы, о чем речь пойдет позже.

Инструментальные окна

Инструментальное окно проекта

На левой боковой панели отображается инструментальное окно проекта. Оно содержит вкладку иерархической структуры проекта (Project) и вкладку структуры (списка метода) класса (Structure).

Выбор во вкладке структуры проекта приводит к отображению его содержимого в окне редактора. Поскольку код практически любого класса содержит множество методов, то вкладка «Structure» как раз и отображает их список. Он может быть упорядочен как по алфавиту ( Sort by Alphabetically), так и в порядке их расположения в классе ( Sort by Visibility). Щелчок на имени класса инициирует переход на начало модуля в классе в окне редактора.

Информация вкладки «Structure» вообще довольно информативна. Рядом с именем модуля выводятся также ряд его свойств, например, модификатор класса, а ее панель инструментов позволяет быстро изменить характер отображаемой информации, например, дополняя ее содержимое не-public переменными, упорядочивая по названию либо в порядке нахождения в коде и т.п.

При наличии в проекте нескольких классов целесообразно в окне проекта раскрыть меню кнопки настройки  и установить флажки возле пунктов «Autoscroll to Source» и «Autoscroll from Source». 

Такой вариант полезен, если в окне редактора открыто две вкладки и более (а это, конечно, практически всегда имеет место). В этом случае переход в окне проекта с одного объекта на другой приводит к отображению в окне редактора кода выбранного объекта. И, наоборот, при переходе с одной вкладки на другую в окне редактирования курсор в окне проекта переходит на имя класса, код которого отображается во вкладке окна редактора.

Вкладки в данном окне могут добавляться после установки некоторых расширений (plug-ins). Например, после установки расширения «Database Navigator» в окно проекта добавляется вкладка «DB Browser».

Инструментальное окно «Избранное»

В нижней части левой боковой панели основного окна можно вывести инструментальное окно «Favorites» (Избранное), содержащее, например, список точек останова и закладок, обеспечивая тем самым к ним быстрый доступ.

Инструментальное окно с инструментами сборки проектов

Данное окно располагается на правой боковой панели. Оно изначально содержит две вкладки для двух наиболее распространенных инструментов сборки проектов Java – Maven и Ant.

Инструментальное окно вывода

 Окно располагается на нижней боковой панели. В нем в зависимости от характера информации отображаются, например, сообщения компиляции («Messages»), консольный ввод/вывод («Terminal»), контроль изменений проекта («Version Control»), результаты работы отладчика («Debug») и некоторые другие.

Управление инструментальными окнами

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

Любое открытое инструментальное окно в заголовке содержит две кнопки: настройки  и  «Hide» (Скрыть) (такой вид она имеет на левой панели).

Любое инструментальное окно можно свернуть (спрятать), щелкнув кнопку «Hide». В этом случае в основном окне программы отображается только боковая панель, содержащая наименования вкладок, что, соответственно, увеличивает площадь рабочего окна редактора. В дальнейшем свернутое окно можно просто и быстро отобразить, щелкнув на названии инструментального окна на боковой панели.

Кнопка настройки содержит меню, в котором содержатся команды управления окном.

Окно может содержать собственную панель инструментов. Для ее отображения или, наоборот, удаления, следует раскрыть меню кнопки настройки и установить/снять флажок возле пункта меню Show Toolbar (Отображать панель).

Инструментальные окна могут отображаться как в фиксированном режиме, в определенных местах основного окна, так и в плавающем режиме, то есть в произвольном месте основного окна. Для переключения между режимами следует раскрыть меню кнопки настройки  и установить/снять флажок возле пункта меню Floating Mode (Плавающий режим).

Если окно отображается в фиксированном режиме, то возможны два его состояния, устанавливаемые в пункте меню Docked Mode (Режим способа стыковки). При наличии флажка возле этого пункта окно находится в состоянии смешения, сдвигая окно редактора. Если же снять флажок, то окно переходит в состояние перекрытия, при котором окно перекрывает окно редактора.

И, наконец, если окно отображается в фиксированном режиме в состоянии смешения, то становится доступным режим (пункт меню) Pinned Mode (Закрепленный режим). При наличии флажка возле этого пункта окно постоянно отображается в основном окне. Если же снять флажок, то окно будет автоматически убираться с экрана при потере фокуса.

Выше было отмечено, что инструментальные окна можно расположить на разных боковых панелях главного окна. Но и местонахождение конкретного окна можно также изменить, включив его в состав другой боковой панели. Для этого следует вызвать контекстное меню на названии инструментального окна на боковой панели, выбрать из него пункт Move (Переместить), а затем направление перемещения. На приведенном ниже screenshot видим, например, что инструментальное окно с правой боковой панели можно переместить на нижнюю (Top), левую (Left) и верхнюю (Bottom) боковую панель.

Инструментальное окно может быть и вовсе удалено, для чего также следует вызвать контекстное меню на названии инструментального окна на боковой панели и выбрать из него пункт Remove from Sidebar (Удалить с боковой панели).

В главном меню основного окна имеется также пункт меню Windows, содержащий команды для управления ее окнами.

Панели

На мой взгляд, целесообразно оставить на экране все основные панели программы (при отсутствии какой-то из них выполните команду Viewназвание панели):

  1. Toolbar (Главная панель инструментов).
  2. Status Bar (Панель статуса), которую можно разделить на три части.

    • Левая часть панели содержит кнопку быстрого доступа к инструментальным окнам .
    • Центральная (и большая) часть панели предназначена для вывода различных сообщений.
    • Правая часть содержит информацию о месте нахождения курсора в программном коде (номера строки и колонки), кодировку файла, формат символов (CRLF для Windows),  атрибут файла «Только чтение» (Read Only), иконку «Гектор» (Hektor) , щелчок на которой открывает окно для переключения уровня отображения синтаксических ошибок (о котором речь пойдет позже). Здесь также может содержаться дополнительная информация, например, при работе с системами контроля версий. При этом из панели статуса можно не только получать информацию, но еще и выполнять некоторые действия. Например, если щелкнуть на поле о месте нахождения курсора, то откроется окошко для быстрого перехода на нужную строку / позицию, а инструмент  позволяет установить (либо снять) для файла атрибут «Только чтение».
  3. Navigation Bar (панель навигации).

Отключение / включение панелей производится также в меню команды View.

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

Настройки

Обращение к настройкам программы осуществляется командой FileSetting или щелчком кнопки  на главной панели инструментов.

Все настройки в окне настроек сведены по функциональному назначению в несколько групп: Appearance & Behavior (Внешний вид и поведение), Keymap («Горячие» клавиши), Editor (Редактор) и др.  

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

Пока же ограничусь буквально несколькими общими настройками.

Важным моментом при написании программы является ее документирование, в том числе комментирование фрагментов кода (об этом позже). Естественно, русскоязычные разработчики будут писать комментарии на русском (белорусском, украинском) языках, что потребует в программе соответствующей кодировки. Оптимальным вариантом, на мой взгляд, будет использование UTF-8, которая является универсальной и имеет ряд преимуществ перед Windows 1251. Например, большинство современных веб-платформ по умолчанию работают именно на ней, а еще ее удобно использовать для создания мультиязычных проектов. Для установки этой кодировки следует последовательно выбрать пункты Editor, File Encodings (Редактор, Кодировка) и в списке «Project Encoding» (Кодировка файлов проекта) выбрать «UTF-8». Впрочем, некоторые разработчики говорят, что беспроблемно также работает значение «<System Default>».

Ну и, наконец, сообщения о появлении новой версии, которые будут у вас регулярно появляться, пока вы не откажетесь автоматически проверять обновления. В принципе установка новых версий вещь полезная и нужная, но если вы желаете производить обновление не по указанию программы, а самостоятельно, то это делается так. Раскройте последовательно пункты Appearance & Behavior, System Setting, щелкните пункт Updates (Обновления) и снимите флажок возле пункта “Automatically check updates for” (Автоматически проверять обновления). Впрочем, и при включенном режиме автоматических обновлений можно просто игнорировать установку новой версии.

У меня сложилось очень высокое мнение о IntelliJ IDEA, однако возможности ее совершенствования практически безграничны. И немалый вклад в этот процесс могут внести и сами пользователи, что, например, может осуществляться на основе собираемой о работе программы статистики. Для этого нужно позволить программе осуществлять такой сбор. С этой целью в настройках следует последовательно раскрыть пункты Appearance & Behavior, System Setting, выбрать пункт Usage Statistics (Статистика использования), установить флажок для поля-метки “Allow sending usage statistics to JetBrains s.r.o.” (Позволить собирать пользовательскую статистику JetBrains), а затем установить флажок возле периодичности отправки такой информации (день, неделя, месяц).

Поскольку настроек очень много, то разработчики предусмотрели их поиск по контексту. Набрав, например, в поле поиска окна настроек текст «save», получим в нем вот такой список:

И последнее. В IntelliJ IDEA предусмотрена возможность сохранения настроек (FilenextpwExport Setting) и их восстановления (FileImport Setting).

Расширение системы

 Под IntelliJ IDEA разработано множество plug-ins (расширений), позволяющих заметно расширять ее возможности и функциональность. Доступ к ним осуществляется в настройках системы в пункте Plugins. Из списка «Show» (Показ) осуществляется фильтрация списка расширений. Для добавления нового расширения следует выполнить такие действия:

  1. В списке «Show» (Отображение) выбрать пункт «Custom» (Пользовательский).
  2. Щелкнуть ссылку «Browse» (Click Browse to search for non-bundied pugins, Щелкните на сообщении для отображения неустановленных plug-in), что приведет к появлению окна «Browse Repositories» со списком plug-ins с репозитория расширений JetBrains.
  3. Выбрать из списка нужное расширение и щелкнуть кнопку «Install plugin» (Установить расширение).
  4. Подтвердить установку в окне подтверждения.
  5. По завершению процесса установки в том же окне «Browse Repositories» щелкнуть кнопку «Restart IntelliJ IDEA» (Перезапуск IntelliJ IDEA) для перезагрузки программы.

Удаление расширений осуществляется также очень просто. Опять же в настройках в списке «Show» выбирается пункт «Custom», после чего в окне настроек отображаются только установленные расширения.

Щелчок кнопки «Uninstall» инициирует процесс удаления.

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

Если вы новичок в IntelliJ IDEA, рекомендую вам прочитать руководство Discover IntelliJ IDEA перед тем, как читать данную статью.

Помощь в программировании

Информация о типах

Если вы хотите видеть больше информации о выражении под курсором (откуда оно вызывается или его тип), вам поможет Quick Documentation. Нажмите Ctrl+Q (Ctrl+J для OS X), чтобы активировать его и вы увидите всплывающее окно с данными. Если вам не нужна полная информация, используйте Type Info: он показывает только тип выбранного выражения, но не занимает столько места на экране.

Автодополнение, чувствительность к регистру

По умолчанию в IntelliJ IDEA автодополнение чувствительно к регистру только первого символа. Это можно изменить в настройках: Settings → Editor → General → Code Completion, так что вы можете сделать IDE регистрозависимым для всех символов. Или же задать настройки так, как вам хочется.

Всплывающее окно автодополнения

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

Отключение использования подсветки для элементов под курсором

По мере того, как вы будете осваивать IntelliJ IDEA, вам захочется изменять настройки, выбранные по умолчанию. Я не могу пропустить функцию подсветки элементов: Settings → Editor → General. Если вы знаете сочетание клавиш Ctrl+Shift+F7 (Cmd+Shift+F7 для OS X) и вам не нравится появляющаяся и исчезающая подсветка в редакторе каждый раз, когда вы передвигаете курсор, вам не нужна эта функция.

CamelHumps

По умолчанию, когда вы выделяете что-то в редакторе, IntelliJ IDEA не чувствителен к регистру. Если вы предпочитаете написание согласно верблюжему регистру, т.е. вместо выделения целого слова, выделять его часть, вы можете включить его в настройках: Settings → Editor → General → Smart Keys.

Дополнение Hippie

IntelliJ IDEA обеспечивает дополнение Basic через Ctrl+Space, дополнение Smart — через Ctrl+Shift+Space, дополнение Statement — через Ctrl+Shift+Enter (Cmd+Shift+Enter для OS X). Все эти особенности основаны на понимании строения кода. Однако, иногда вам нужна простая, но гибкая логика, которая предложит слова, использованные ранее в текущем файле или даже проекте, независимо от их контекста. Здесь придёт на помощь дополнение Hippie, вызов через Alt+/.

Рефакторинг

Отмена

С IntelliJ IDEA вам не нужно беспокоиться о последствиях рефакторинга кода, потому что вы всегда можете отменить всё, выбрав Отмену из окна инструментов через Ctrl+Z (Cmd+Z для OS X).

Выделение фрагментов строки

IntelliJ IDEA способен реорганизовывать не только исполняемый код, но и строковые литералы. Выделите один фрагмент строки и выберите параметр Extract variable/constant/field/, чтобы выделить его, как постоянный и заменить его употребление во всем коде.

Изменение типов

Когда вы рефакторите код, вы обычно переименовываете символы, или выделяете и перемещаете выражение в коде. Однако, для реорганизации есть кое-что ещё. Например, изменение типов (доступен через Ctrl+Shift+F6 / Cmd+Shift+F6 для OS X) даёт вам возможность менять тип, обновлять зависимый код и решать возможные проблемы.

Инвертирование булевского значения

Если IntelliJ IDEA может анализировать и изменять тип выражения, почему не сделать то же самое с семантикой? Чтобы инвертировать все использования булевского выражения, используйте Invert Boolean.

Анализ кода

Зависимость структуры матрицы

IntelliJ IDEA позволяет вам анализировать насколько сильно компоненты кода зависят друг от друга. Вам нужно обращать на это внимание, потому что много зависимостей могут стать проблемой. Действие Dependency structure matrix (доступное через Analyze menu) поможет вам визуализировать и найти зависимости между модулями и классами.

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

Структурный поиск и замена

Структурированный поиск и замена имеет много возможностей (после того, как вы научитесь правильно его использовать), и может быть использован для статического анализа кода и автоматизации рефакторинга. В двух словах, это позволяет вам осуществлять поиск конкретных шаблонов в коде и заменять их параметризованными шаблонами. Для этого он оснащен своим языком для определения шаблонов кода, который описан более детально в этой статье.

Чтобы воспользоваться этой функцией, используйте Edit → Find menu. Если вы хотите создать свои шаблоны или паттерны, воспользуйтесь Settings → Editor → Inspections, а также включите General → Structural Search Inspection.

Пользовательский интерфейс

Отключение заглавия и подсветки дерева тегов

Если вы много работаете с HTML и XML и не хотели бы попусту отвлекаться, вы можете отключить заглавие и подсветку дерева тегов в Editor → General → Appearance.

Отключение ненужной информации

Крайний левый столбец редактора, обычно показывает полезную информацию, связанную с кодом, который вы редактируете. Если вам иногда кажется, что там слишком много информации, вы можете настроить то, что вы хотите видеть через Settings → Editor → General → Gutter.

Отключение надоедливой лампочки

Еще одна вещь, которая может надоедать — это лампочка напоминания, которая появляется в редакторе каждый раз, когда есть доступная подсказка. Здесь отключение несколько сложнее: вам нужно отредактировать< IntelliJ IDEA preferences folder >/options/editor.xml, и добавить следующее: < option name=”SHOW_INTENTION_BULB” value=”false” / >.

Переключение настроек для Search everywhere

С Search everywhere вы можете найти произвольные фрагменты текста буквально везде: в коде, библиотеке, частях UI, настройках и даже в названиях действий. Если вы часто используете эту функцию, вам нужно знать, что вы можете получить доступ к настройкам IntelliJ IDEA, нажав Enter во всплывающем окне. Например, здесь мы получаем доступ к настройкам редактора:

Включение и отключение плагинов от Search everywhere

Если вы начинаете свой поисковой запрос с #plugins, вы сможете включать и выключать.

Другие тэги: #appearance, #system, #inspections, #registry, #intentions, #templates, и #vcs.

Аббревиатуры в Search Everywhere

Еще один интересный факт, что Search Everywhere поддерживает аббревиатуры. Вы можете зайти в Settings → Keymap, чтобы присвоить каждому действию сокращенный текст.

Свернуть вкладки редактора

Когда вам нужно закрыть все вкладки в редакторе, кроме текущей, нажмите на закрытие текущей вкладки, зажимая Alt. Если вы вообще не хотите видеть вкладки редактора, перейдите в Settings → Editor → General → Editor Tabs, и выберите None under Placement.

Открытие файла в новом окне

Особенность, которую не так просто найти, но она очень удобно открывает файл в новом окне с помощью нажатия Shift+Enter в окне инструментов Project.

Добавление кнопки остановки и восстановления на панель инструментов

Очень удобно добавить кнопки остановки и восстановления на панель инструментов. Вы можете сделать это через Settings → Appearance & Behaviour → Menus and Toolbars. Если вы предпочитаете использовать мышку, а не комбинации клавиш, в таком случае вам не нужно будет открывать окно инструмента отладки, чтобы управлять текущей сессией.

Переключение между окнами

Если ваш IntelliJ IDEA открывает каждый проект в отдельном окне, вы можете быстро переключаться между ними с помощью Ctrl+Alt+` (Ctrl+` для OS X).

Редактор

Сравнение с буфером обмена

В IntelliJ IDEA есть встроенная программа для просмотра различий в коде, jar файлах и изображениях. Чтобы открыть его, выделите любую пару и нажмите Ctrl+D (Cmd+D для OS X). Если вы выделите отдельный файл, IDE предложит вам выделить еще один, с которым его можно сравнивать. Для быстрого сравнения активного редактора с буфером обмена, используйте View → Compare with Clipboard.

Вставить из истории

Говоря о буфере обмена, IntelliJ IDEA отслеживает все, что вы вставляете в него. Когда вы хотите вставить что-то из ранее скопированных элементов, нажмите Ctrl+Shift+V (Cmd+Shift+V для OS X).

Множественный выбор

Множественный выбор — это сравнительно новая, но мощная функция редактора, которая позволяет вам быстро выделять и редактировать несколько фрагментов кода сразу.

В двух словах, вот что происходит: Вы либо начинаете с нажатия Alt+J (Ctrl+G для OS X) (затем IntelliJ IDEA выделяет символ курсора), или вы можете просто выделить что-то, как вы бы сделали это обычно.

Затем, нажмите Alt+J (Ctrl+G для OS X) и IntelliJ IDEA будет искать в текущем файле, пока не найдет соответствующий фрагмент текста, который он добавит к выделенному. Вы можете нажать Alt+J снова, чтобы продолжить, или Alt+Shift+J (Ctrl+Shift+G для OS X), чтобы вернуться назад. Но обратите внимание, что когда поиск достигает конца файла, он переключается на начало.

После того как выбор будет завершен, вы можете начать редактировать все фрагменты так же, как если бы это был один фрагмент:

Важный совет: Другой способ копирования курсора — нажатие Ctrl (Alt для OS X) и перемещение его вверх и вниз с помощью стрелочек или мыши.

Emmet

Если вы не в курсе, Emmet — это отличный способ писать код на HTML, XML и CSS. IntelliJ IDEA поддерживает данную функцию: просто напишите Emmet-выражение и нажмите Tab, чтобы развернуть его. Используйте предварительный просмотр Emmet для просмотра получившегося кода.

Regex

Регулярные выражения широко используются, но иногда слишком сложно написать их правильно. IntelliJ IDEA поможет вам проверить любое Regex в вашем коде: поместите курсор на него и нажмите Alt+Enter, чтобы использовать Check Regex intention.

Найти и заменить Regex группами

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

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

Просмотр байт-кода

Иногда очень полезно увидеть реальный байт-код вашей программы. В IntelliJ IDEA вы всегда можете это сделать через View → Bytecode.

Контроль версий

Исправить изменения

В Commit диалоге IntelliJ IDEA предлагает выполнить различные операции. Одна из них — исправление изменений. Полезна, когда вы хотите изменить ваш последний коммит.

Shelves and patches

Shelves — это функция IDE похожая на Git Stash, но работает для всех систем контроля версий.

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

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

Отладка

Точки остановки

Иногда вы, возможно, хотите получить значение чего-то в конкретной строке кода, без использования точек остановки. Вы можете сделать это, используя Action breakpoint. Чтобы создать их, просто нажмите на боковую панель, зажимая Shift. Таким образом, вы можете напечатать любое выражение, не меняя код. Особенно это полезно при отладке библиотек или удаленного приложения.

В дополнении к action breakpoints, вы можете так же использовать Field breakpoints. Эти точки остановят выполнение, когда поля, связанные с ними, доступны. Для этого просто нажмите на боковой панели, зажимая Alt (Ctrl+Cmd для OS X).

Маркеры объектов

Когда вы отлаживаете приложение, IntelliJ IDEA позволит вам отмечать экземпляры произвольных объектов цветными пометками для более простой идентификации, через действие Mark Object. Доступно в Evaluate Expression, Variables, Watches диалоговых окнах.

И если у вас есть какой-нибудь отмеченный объект, вы также можете использовать его в условных выражениях.

Визуализация пользовательских данных

Evaluate Expression, Variables, Watches и встроенный отладчик используют стандартный способ визуализации значений переменных, обычно на основе реализации классов toString. Не каждый знает, что вы можете определить свои собственные средства визуализации для любого класса. Для этого выберите Customize Data Views из контекстного меню в окне инструмента отладки.

Это особенно полезно, когда некоторые классы в библиотеке, которую вы используете, не обеспечивают значимую реализацию toString — поэтому вы можете найти его сами вне библиотеки.

Drop frame

В случае, если вы хотите вернуться назад во времени во время отладки, вы можете сделать это через действие Drop frame. Это отличная функция, если по ошибке вы ушли слишком далеко.

Принудительный возврат

Если вы, наоборот, хотите попасть в будущее, и сделать принудительный возврат без выполнения дополнительных инструкций, используйте действие Force Return. Если метод возвращает значение, вы должны указать его.

DCEVM

Иногда, когда вы вносите быстрые изменения в код, вы хотите сразу видеть, как он будет работать в приложении. К сожалению, у Java HotSwap VM много ограничений: вы не можете, допустим, добавить новый метод; единственное, что вы можете изменить — тело метода.

К счастью, есть способ, как изменить эту ситуацию с новым open-source проектом Dynamic Code Evolution VM. Это модификация Java HotSwap VM с неограниченной поддержкой для перезагрузки классов во время исполнения.

Для использования данной виртуальной машины в IntelliJ IDEA — разработан специальный плагин. При включении плагина, IDE предложит вам установить DCEVM JRE. Затем, вы должны будете выбрать его в списке альтернативных JRE.

Обновление приложения

Если вы запускаете ваше приложение на сервере приложений (Tomcat, JBoss и т.д.), вы можете перезагрузить измененные классы и ресурсы, используя действие Обновление приложений через Ctrl+F10 (Cmd+F10).

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

Инструменты

Внешние инструменты

IntelliJ IDEA интегрировал много инструментов для разработчиков. Если приложение, которое вам нужно, ещё не интегрировано, но вы бы хотели использовать его через ярлык, откройте Settings → Tools → External Tools, и настройте, как запускать данное приложение. Тогда вы сможете активировать этот инструмент через меню Tools → External Tools.

Командная строка запуска

Если вы хотите использовать IntelliJ IDEA из командной строки ( т.е. открывать проект или файл: “idea “), нажмите Tools → Create Command-Line Launcher.

Перевод: Софья Лепёхина

Источник

Другие статьи по теме

50 советов, хитростей и ссылок для Android Studio и Intellij IDEA

Разработка под Андроид: советы, инструменты и трюки

предисловие

Что касается того, почему я написал это сообщение в блоге, моя цель — записать мою персонализированную конфигурацию. Конечно, если это может помочь другим в то же время, это было бы здорово.

При запуске IDEA свободно выбирайте, какой проект запустить

Снимите флажок «Открыть последний проект при запуске» в меню «Файл» -> «Настройки» -> «Внешний вид и поведение» -> «Настройки системы».

Отключить автоматическое обновление Intellij IDEA

Снимите флажок Автоматически проверять наличие обновлений в меню Файл-> Настройки-> Внешний вид и поведение-> Параметры системы-> Обновления.

Импортировать все пакеты автоматически

В Intellij IDEA можно импортировать только один пакет за раз, нет комбинации клавиш Ctrl + Shift + O, как в Eclipse, для быстрого импорта пакетов, но есть функция автоматического импорта пакетов в Intellij IDEA. Настройте в File-> Settings-> Editor-> General-> Auto Import, конкретная конфигурация выглядит следующим образом:

Код игнорирует регистр

Ввод новой строки () будет автоматически преобразован в новую строку ()

В File-> Settings-> Editor-> General-> Completion, отмените Math case: проверьте

Изменить размер шрифта по умолчанию

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

Под File-> Settings-> Editor-> Font вы можете изменить значение Size для изменения размера шрифта. Есть еще один способ установить размер шрифта, нажав Ctrl + колесо мыши, в частности в меню Файл-> Настройки-> Редактор-> Общие, отметьте Изменить размер шрифта (Масштаб) с помощью Ctrl + Колесо мыши

Настройки кодировки файлов

File->Settings->Editor->File Encodings

Рекомендуемая конфигурация следующая:

Global Encoding:UTF-8
Projectt Encoding:UTF-8
Default encoding for properties files:UTF-8
 Установите флажок Прозрачное преобразование нативных в ascii

Атрибут преобразования «Прозрачный native-to-ascii» в основном используется для преобразования ascii, в противном случае будет перекодирован китайский язык файла «Свойства». IntelliJ IDEA поддерживает настройки кодирования для каталогов и файлов в дополнение к кодированию всего проекта. Если вы хотите установить кодировку каталога, может быть опция всплывающего окна, которая требует кодирования Convert. Настоятельно рекомендуется сделать резервную копию файла перед преобразованием, в противном случае процесс преобразования может стать искаженным и не может быть восстановлен. Вы также можете щелкнуть область настройки кодировки в правом нижнем углу, чтобы изменить кодировку отдельных файлов. Если содержимое кода содержит китайский язык, появится выбор операции в демонстрационной версии. Перезагрузка означает перезагрузку с новой кодировкой, и новая кодировка не будет сохранена в файле. Когда вы открываете этот файл, что такое старая кодировка или она все еще? Преобразовать означает использовать новую кодировку для преобразования. Новая кодировка будет сохранена в файл, и снова откройте файл, какова новая кодировка. Конфигурация персонального кодирования показана ниже:
 

Шаблоны аннотаций классов и методов

1. Измените шаблон аннотации класса
Вставьте следующий код в File-> Settings-> Editor-> File and Code Templates-> Includes-> File Healder:

 /**
  * FileName: ${NAME}
  * Author:   ${USER}
  * Date:     ${DATE} ${TIME}
  * Description: ${DESCRIPTION}
  */

После завершения настройки рендеринг выглядит следующим образом:

/**
 * FileName: Test
 * Author:   xxx
 * Date:     2018/8/21 0021 16:56
 * Description: ${DESCRIPTION}
 */
public class Test {

}

Нет необходимости настраивать в соответствии с вышеуказанным способом, вы можете настроить класс, интерфейс, перечисление и т. Д. Отдельно. Под File-> Settings-> Editor-> File and Code Templates-> Includes-> Files вставьте следующий код над объявлениями класса, интерфейса и Enum:

 /**
  * FileName: ${NAME}
  * Author:   ${USER}
  * Date:     ${DATE} ${TIME}
  * Description: ${DESCRIPTION}
  */

Таким образом, при создании нового класса появится всплывающее окно, позволяющее вам ввести описание


Окончательный эффект показан ниже:

/**
 * FileName: T
 * Author:   XXX
 * Date:     2018/8/21 0021 17:03
 * Description: Test Class
 */
public class T {

}

2. Измените шаблон аннотации метода

Под File-> Settings-> Editor-> Live Templates, нажмите на маленький знак + справа и выберите Create Template Group Template Group

Назовите эту группу в текстовом поле, здесь я установлю ее как Моя группа

Снова нажмите маленький знак + справа и выберите Живой шаблон.

Подробные параметры конфигурации

Abbreviation: /**
Description: My function comment
Template text:
/**
 *
 * Описание функции: <br>
 * $END$
 * 
 * @param: $param$
 * @return: $return$
 * @date: $date$ $time$
 */

Нажмите Определить

Проверьте Java

Нажмите Изменить переменные

Настроить по картинке

Выберите, чтобы нажать Enter, чтобы вызвать

После завершения описанной выше конфигурации просто введите ключ / ** + Enter в методе для создания комментария. Помните, что метод находится внутри метода, поскольку область действия methodParameters () находится только внутри метода, что также является проблемой для Intellij IDEA Немного

public class Main {
    public static void main(String[] args) {
        /**
         *
                   * Описание функции: <br>
         * 
         * 
         * @param: [args]
         * @return: void
         * @date: 2018/8/21 0021 16:55
         */
        System.out.println("Hello World!");
    }
}

Настройки сочетания клавиш

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

Под File-> Settings-> Keymap выберите Eclipse

Используйте Ctrl + W, чтобы закрыть панель вкладок в Eclipse, а не в IDEA, найдите закрытие в панели поиска, щелкните правой кнопкой мыши закрытие в результатах и ​​выберите «Добавить сочетание клавиш»

Удерживая Ctrl + W на клавиатуре, нажмите ОК

Подскажите, что быстрая клавиша уже использовалась, чтобы удалить эту настройку, нажмите Удалить

Введите завершение в строке поиска, найдите Basic, щелкните правой кнопкой мыши и выберите Remove Ctrl + пробел и подтвердите

Щелкните правой кнопкой мыши на Basic и выберите Add Keybord Shortcut

Нажмите Alt + / на клавиатуре и нажмите ОК

Выше приведены некоторые основные конфигурации

IntelliJ IDEA — это мощная и популярная среда разработки, которая в первую очередь ориентирована на работу с Java, по крайней мере именно так ее позиционируют. Разработана компанией JetBrains.

IntelliJ IDEA отлично знакома многим разработчикам Java. Она входит в тройку самых узнаваемых сред разработки на ряду с Eclipse и NetBeans.

 

IntelliJ IDEA — это не только Java

Изначально данная среда разработки действительно была рассчитана для работы с Java. Но на сегодняшний день даже в бесплатной версии этого продукта можно программировать на нескольких популярных языках и фреймворках. Помимо этого, внутри данного инструмента встроено множество дополнительных функций, например, интеграция с системами контроля версий, а также инструменты сборки и развертывания приложений. А в последних версиях этой IDE была добавлена функция разработки интерфейсов пользователей, что еще больше расширило возможности данного инструмента.

На сегодняшний день доступно две версии этого продукта:

  1. IntelliJ IDEA Community Edition. Бесплатная версия, которая распространяется по свободной лицензии. Это идеальный вариант для начинающих программистов и тех, кто специализируется на Android-разработке и JVM.

  2. IntelliJ IDEA Ultimate Edition. Платная версия продукта, в которой можно найти большее количество инструмента, чем в бесплатной версии. Ее возможности уже позволяют заниматься enterprise-разработкой или серьезной веб-разработкой, включая фронтенд и бэкенд.

IntelliJ IDEA — это работа в трех самых популярных операционных системах: Windows, Linux, MacOS. Самую свежую версию данной IDE для любой из трех платформ можно скачать на официальном сайте.

 

IntelliJ IDEA: как работать

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

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

 

Полезные инструменты IntelliJ IDEA

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

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

  1. Дебаггер IntelliJ IDEA. Очень удобно его применять, так как он показывает свои значения прямо в коде.

  2. Live Templates. Позволяет разработчику создавать собственные шаблоны из конструкций кода, которые он часто использует. Создав шаблон, он может применять его где угодно в своей разработке.

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

  4. Smart Completion. Предлагает разработчику наиболее подходящее завершение строчки, что существенно ускоряет разработку.

  5. Chain Completion. Предлагает разработчику наиболее подходящие методы классов и переменных в каждом конкретном случае.

  6. Интуитивный импорт — импортирует только нужные пакеты, а все, что не нужно, моментально удаляет.

  7. Мощный инструмент рефакторинга.

  8. Инструменты сборки: Maven, Gradle, Webpack и др.

  9. Контроль версий: Git, Subversion, CVS и др.

  10. Декомпилятор, если нужно просмотреть, что содержится внутри используемой библиотеки.

  11. Терминал — подойдет для тех, кто умеет пользоваться Bash.

  12. Инструменты для работы с базами данных.

  13. И др.

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

Если все вышеописанное можно отнести к достоинствам IntelliJ IDEA, то нужно отметить, что данная IDE обладает одним существенным недостатком. Она достаточно «старая», так как разрабатывается еще с 2001 года. Поэтому у нее достаточно большой объем исходного кода, что в конечном счете приводит к наличию багов. 

Второй момент: IntelliJ IDEA — это «прожорливый» инструмент, следовательно, чтобы работать при помощи этой IDE, у вас должно быть достаточно мощное устройство.

 

IntelliJ IDEA: начало работы

Работать с IntelliJ IDEA нужно как и с любой другой средой разработки:

  1. Для начала нужно скачать и установить IntelliJ IDEA на свой компьютер.

  2. Потом можно переходить к созданию проекта. Для этого нужно открыть меню по пути «File-New-Project».

  3. Вам откроется окно, где нужно будет выбрать подходящий вам тип проекта. Также в этом окне нужно будет выбрать вашу версию JDK и нажать кнопку «Next».

  4. Далее будет еще два окна, где нужно будет все оставить «по умолчанию» и придумать имя будущего проекта.

  5. Можете начинать кодить.

 

Заключение

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

Понравилась статья? Поделить с друзьями:

А вот и еще наши интересные статьи:

  • Авто руководства по ремонту скачать бесплатно
  • Энрофлон для собак инструкция по применению в ветеринарии для
  • Метформин инструкция отзывы как влияет на организм человека
  • Методика руководства игровой деятельностью детей дошкольного возраста
  • Кубик рубика инструкция по сборке скачать

  • 0 0 голоса
    Рейтинг статьи
    Подписаться
    Уведомить о
    guest

    0 комментариев
    Старые
    Новые Популярные
    Межтекстовые Отзывы
    Посмотреть все комментарии