Как стать автором
Обновить

Советы и хитрости IntelliJ IDEA: 1. Сравнение файлов и папок

Время на прочтение3 мин
Количество просмотров24K
Автор оригинала: Vojtech Ruzicka
От переводчика: В блоге Войтеха Рузички по программированию имеется 13 постов с тегом IDEA. Один из был переведен и опубликован на Хабре — Лучшие плагины IntelliJ IDEA. Он оказася довольно популярен и я решил попробовать перевести и другие посты об IDEA. Надеюсь будут полезны для вас.

IntelliJ IDEA предлагает множество способов сравнения файлов, папок и фрагментов кода и даже синхронизации содержимого папок.


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


Допустим, в вашем проекте есть два похожих файла, и вам нужно сравнивать их построчно. С IDEA это очень просто. Просто выберите оба файла в окне вашего проекта (удерживая Ctrl для множественного выбора).


Теперь у вас есть два варианта:


  1. Щелкните правой кнопкой мыши один из файлов и выберите в меню опцию «Compare Files».
  2. Нажмите Ctrl + D

После чего открывается новое окно, которое содержит две панели, в каждой из которых отображается содержимое одого файла. Это очень похоже на diff в системах контроля версий, таких как Git.



Каждое отличие имеет цветовую кодировку:


  • Отсутствие окраски означает, что содержание одинаково
  • Синий означает наличие изменений в той же строке
  • Зеленый означает новый контент
  • Серый означает удаленный контент

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


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


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


Второй пример, когда вам нужно сравнить файл из вашего проекта с другим файлом вне его.


Процесс очень похож на описанный выше. Выберите один файл в окне вашего проекта и:


  1. Щелкните правой кнопкой мыши один из файлов и выберите в меню опцию «Compare With...»
  2. Нажмите Ctrl + D

Последний шаг — поиск внешнего файла для сравнения. Далее сравнение происходит так же, как и в примере выше.


Сравнение с буфером обмена


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


Во-первых, вам нужно открыть файл из вашего проекта в вашем редакторе. Затем скопируйте в буфер обмена фрагмент, который вы хотите сравнить (Ctrl + C).


Теперь у вас есть два варианта. Либо сравните весь файл с буфером обмена, либо сравнить выделенный текст.


  1. Если вы хотите, чтобы весь файл сравнивался, просто щелкните правой кнопкой мыши в любом месте редактора и выберите «Compare with Clipboard» в контекстном меню.
  2. Если вы хотите сравнить только выделенный текст, сначала выберите какой-то фрагмент файла, а затем щелкните правой кнопкой мыши, как и раньше.

Собственное сравнение


Как насчет случая, когда вы хотите сравнить два фрагмента кода из внешних источников? Вы тоже можете это сделать! Просто запустите Find Action с помощью Ctrl + Shift + A и затем найдите опцию Open Blank Diff Window в контекстном меню.


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


Сравнение с предыдущей локальной версией файла


Даже если вы не используете какую-либо систему контроля версий, IDEA хранит исторические версии ваших локальных файлов. Вы можете щелкнуть правой кнопкой мыши в вашем редакторе и выбрать Local history → Show history в контекстном меню.



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


Сравнить с использованием VCS


Если вы используете систему контроля версий (VCS), у вас есть еще несколько вариантов сравнения. Например, если вы используете Git, вы можете перейти к VCS → Git или щелкнуть правой кнопкой мыши на вашем редакторе и выбрать Git. Теперь вы можете:


  • Сравнить с той же версией репозитория: сравнивает текущий локальный файл с версией в вашем удаленном репозитории
  • Сравнить с веткой: сравнивает локальный файл с тем же файлом в другой ветке
  • Показать историю: сравнивает локальный файл с его предыдущими версиями

Сравнение папок


Сравнение работает не только для отдельных файлов, но и для целых каталогов. Процесс такой же, как и для файлов — просто выберите две папки в окне вашего проекта и нажмите Ctrl + D или щелкните правой кнопкой мыши и выберите Compare Directories в контекстном меню.



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


Синхронизация папок


Инструмент сравнения каталогов полезен не только для выявления различий в обоих каталогах, но и для синхронизации изменений. Вы можете применить изменения для отдельных разделов каждого файла, как обычно. Но вы также можете пометить файлы, присутствующие только в одном из каталогов, для сохранения или синхронизации с другим каталогом. Вы можете изменить желаемое действие для каждого файла в столбце *. Как только вы закончили свой выбор, вы можете нажать либо Synchronize selected, либо Synchronize all для выполения нейобходимой синхронизации.


Теги:
Хабы:
Всего голосов 19: ↑17 и ↓2+20
Комментарии12

Публикации

Истории

Работа

Java разработчик
268 вакансий

Ближайшие события

2 – 18 декабря
Yandex DataLens Festival 2024
МоскваОнлайн
11 – 13 декабря
Международная конференция по AI/ML «AI Journey»
МоскваОнлайн
25 – 26 апреля
IT-конференция Merge Tatarstan 2025
Казань