Перейти к содержимому

Как переименовать класс в intellij idea

  • автор:

Как в IDEA переименовать пересекающиеся по названию пакеты?

Несмотря на то, что на первый взгляд эти пакеты являются разными (потому что разнесены по разным модулям), по факту они являются одним пакетом. Это создаёт проблемы. Например, если я попытаюсь переименовать пакет ru.site.my.source.super в Module A , то такой же пакет переименуется и в остальных модулях, потому что это и есть тот же самый пакет. Поэтому я сейчас пытаюсь разграничить пакеты в разных модулях, получив на выходе такой результат:

Module A: ru.site.my.source.one.* Module B: ru.site.my.source.two.* Module C: ru.site.my.source.three.* 

Как я могу это сделать? Проблема в том, что это очень сложно: я не могу просто переименовать пакет в одном модуле без того, чтобы он не переименовался бы в другом. По сути приходится вручную пересоздавать структуру пакетов и вручную перетаскивать каждый класс. Есть ли в IDEA какие-либо инструменты, которые позволят мне ускорить данный процесс?

Руководство пользователя IntelliJ IDEA. Основы рефакторинга.

Java-университет

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

  1. Выбор Прежде всего, вам даже не обязательно выделять нужный элемент кода перед рефакторингом. IntelliJ IDEA достаточно умна, чтобы понять, какое выражение вы собираетесь реорганизовать, и просто запрашивает подтверждение если возможны несколько вариантов. Руководство пользователя IntelliJ IDEA. Основы рефакторинга. - 1
  2. Отмена Еще одна важная вещь, IntelliJ IDEA позволяет отменить все, включая рефакторинг, независимо от того, насколько масштабны эти преобразования. Просто нажмите Ctrl + Z (Cmd + Z для Mac), и вот перед вами тот код, каким он был пока вы ненароком не перепортили несколько тысяч строк вашей программы.
  3. МнемоникаIntelliJ IDEA рекомендует использовать клавиатуру вместо мыши. Доказано что это быстрее и в конце концов приведет к более продуктивной работе с кодом. То, что поможет Вам легко при помощи клавиатуры работать с диалоговыми и всплывающими окнами, и есть мнемоника — сочетания клавиш, которые автоматически назначаются каждому из диалоговых элементов. После открытия диалогового окна, нажмите и удерживайте Alt , чтобы IntelliJ IDEA выделила все доступные мнемоники. Затем вы можете использовать их, нажав на выделенную клавишу, удерживая нажатой клавишу Alt , чтобы получить доступ к необходимым элементам. Руководство пользователя IntelliJ IDEA. Основы рефакторинга. - 2
  4. Фрагменты строки Хорошо экономит время возможность извлечь часть строкового выражения с помощью команды Extract. рефакторинга. Просто выберите фрагмент и примените рефакторинг, чтобы заменить все случаи использования этого фрагмента на предложенную константу или переменную. Руководство пользователя IntelliJ IDEA. Основы рефакторинга. - 3
  5. Изменение типа переменной Обратите внимание, что вы можете выбрать тип переменной когда используете команду Extract рефакторинга. Нажмите Shift + Tab при редактировании имени переменной, и IntelliJ IDEA предложит вам выбрать тип переменной (например, вы можете использовать интерфейс вместо того класса который его реализует, или наоборот). Руководство пользователя IntelliJ IDEA. Основы рефакторинга. - 4
  6. Обратить логическое Один из простейших, но очень полезный способ рефакторинга это Invert Boolean, который инвертирует выражения со всей их семантикой и преобразованием данных для любой булевой переменной, параметра, поля или метода. Руководство пользователя IntelliJ IDEA. Основы рефакторинга. - 5
  7. Изменение типа Способ рефакторинга Type Migration, как предполагает его название, позволяет автоматически менять тип для любого члена класса, наряду со всеми зависящими от него элементами, такими как типы методов, локальных переменных, параметров и т.д. Руководство пользователя IntelliJ IDEA. Основы рефакторинга. - 6
  8. Основные комбинации клавиш для рефакторинга Переименовать: Shift, + F6 Копирование класса или файла: F5 Перемещение класса или файла: F6 Выделение константы: Alt + Ctrl + C (Alt + Cmd + C для Mac) Выделение переменной: Alt + Ctrl + V (Alt + Cmd + V для Mac) Выделение метода: Alt + Ctrl + M (Alt + Cmd + M для Mac) Выделение поля: Alt + Ctrl + F (Alt + Cmd + F для Mac) Выделение параметра: Alt + Ctrl + P (Alt + Cmd + P для Mac) Встраивание класса или метода: Alt + Ctrl + N (Alt + Cmd + N для Mac) Изменение сигнатуры: Ctrl + F6 (Cmd + F6 для Mac)
  9. Другие полезные способы рефакторинга Подьем членов класса вверх / вниз Выделение родительского класса Выделение интерфейса Преобразование анонимного класса во внутренний класс
  10. Переделай это Если вы не можете вспомнить комбинацию клавиш для конкретного рефакторинга, или вы просто не уверены, что делать дальше, просто используйте «Рефакторинг этого действия», нажав Ctrl + Shift, + Alt + T (Cmd + Shift, + Alt + T). Вы увидите список рефакторингов, доступных в текущем контексте. Руководство пользователя IntelliJ IDEA. Основы рефакторинга. - 7

На этом все по основам рефакторинга. См. следующие руководства для углублённого изучения конкретных тем. Оригинал статьи

IntelliJ IDEA — настройка, горячие клавиши, debugging — введение в Java 025 #

Сегодняшний программист очень сильно отличается от программиста 90-х.

Блокноты сменились мощными инструментами, которые подсказывают нам даже эффективные методы решения. Порой, кажется, что ещё чуть-чуть и людям точно не надо будет учить программирование, потому что Idea сделает всё сама.

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

Давайте на секунду отвлечёмся от самого кодинга и попробуем настроить наш инструмент для работы с Java и подтянуть наши скилы для работы с ним.

Отладка программы в intellij idea

Рефакторинг #

Alt + F6 — одна из самых полезных функций рефакторинг. Переименование переменной во всём коде программы, сколько бы раз она не упоминалась.

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

Безопасное переименование переменных

Не только hotkeys #

Горячие клавиши очень полезны в работе, но всё же не все функции доступны через клавиши.

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

Как открыть одновременно 2 класса в IDEA? #

Например мы можем работать одновременно в нескольких классах (файлах). Эта функция доступна нам, если мы правой кнопкой нажмём на вкладку файла в окне, а затем на “Split Vertically” или “Split Horizontally”. Это очень удобно, когда программа состоит из больше, чем одного класса.

Разделить окно IDEA

Как добавить плагин в intellij idea? #

File -> Settings -> Plugins здесь можно посмотреть, что уже установлено или добавить новый полезный плагин.

Например мне оказался очень полезен плагин Grazie — проверка орфографии.

Grazie - проверка орфографии

Проверка правописания в Intellij Idea для русского текста #

File -> Settings -> Editor -> Proofreading

Здесь можно добавить те языки, которые нужны в работе над кодом и документацией.

Настройка проверки орфографии в IDEA

Горячие клавиши #

“Alt + h + k”. В Idea есть возможность вызвать помощника по горячим клавишам “Alt + h + k” открывает pdf файл, где описаны поддерживаемые вызовы.

Настройка консоли #

Порой выдача в консоли не всегда очевидна или понятна. Или требуется пересчитать элементы. “CTRL + F” поможет нам в поиске определённых символов или слов и подсветит их.

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

Отладка программы #

Отладка Java кода в IDEA. Основные возможности отладчика.

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 pln"> + 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 pln"> + name + ", Address pln"> + address + ", Age pln"> + 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» → «Тип миграции» .

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

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

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *