Сравнение содержимого двух файлов в Sublime Text

У меня есть два клонированных репозитория из двух очень похожих проектов с открытым исходным кодом, над которыми я работал в разных экземплярах в Sublime Text 2, чтобы достичь желаемого результата. Был использован код из обоих этих проектов. Я использовал Git как контроль версий для моего проекта, но не включил исходные проекты. Таким образом, я хотел бы иметь возможность быстро сравнить содержимое двух файлов исходного проекта и сравнить различия между ними и моим проектом.

Я надеялся, что Sublime Text 2 будет иметь функцию "Сравнить файл", но я не могу найти ничего связанного с ним в настройках или в Интернете. Также будет хорошо работать сторонний пакет ST2 для выполнения этой задачи. Можно ли выполнить такую ​​задачу в текстовом редакторе ST2?

Ответ 1

Вы можете сравнить файлы прямо в Sublime Text.

  1. Перейдите к папке, содержащей их, через Open Folder... или в проекте
  2. Выберите два файла (например, удерживая Ctrl в Windows или в macOS), которые вы хотите сравнить на боковой панели
  3. Щелкните правой кнопкой мыши и выберите опцию Diff files...

gGzaG.png

Ответ 2

Сравнение Side-By-Side выглядит наиболее удобным для меня, хотя он не самый популярный:

UPD: Мне нужно добавить, что этот плагин может заморозить ST при сравнении больших файлов. Это, конечно, не лучшее решение, если вы собираетесь сравнивать большие тексты.

Ответ 3

Существует несколько плагинов diff, доступных через Управление пакетами. Я использовал Sublimerge Pro, который работал достаточно хорошо, но это коммерческий продукт (с неограниченным пробным периодом) и закрытый источник, поэтому вы не можете его настроить если вы хотите что-то изменить или просто посмотрите на его внутренности. FileDiffs довольно популярен, судя по количеству установок, поэтому вы можете попробовать это.

Ответ 4

ОБНОВЛЕНИЕ
(Учитывая повышенные значения, я считаю, что существует необходимость в пошаговом объяснении...)

  • В строке меню нажмите FileOpen Folder...
  • Выберите папку (фактическая папка на самом деле не имеет значения, этот шаг - просто сделать боковую панель FOLDERS)
  • Если боковая панель еще не показана, сделайте ее с помощью ViewSide BarShow Side Bar
  • Используйте эту FOLDERS -ограниченную боковую панель для перехода к первому файлу, который вы хотите сравнить.
  • Выберите его (нажмите на него), удерживайте нажатой клавишу ctrl и выберите второй файл.
  • Выбрав два файла, щелкните правой кнопкой мыши один из двух и выберите Diff Files...

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


Оригинальный короткий ответ:
Обратите внимание:

"Diff files" появляется только с боковой панелью "folders" (чтобы открыть папку: File- > Open Folder), а не с боковой панелью "open files".

Ответ 5

ОБНОВЛЕНИЕ ЯНВАРЬ 2018 - специально для Sublime/Mac

(Это очень похоже на ответ Марти F выше, но рассматривает некоторые проблемы из предыдущих ответов, объединяет несколько различных предложений и обсуждает критическое различие, которое поначалу вызывало у меня проблемы.)

Я использую Sublime Text 3 (сборка 3143) на Mac и пытаюсь в течение 30 минут найти эту функцию сравнения файлов. Я использовал его раньше на Sublime/Mac без каких-либо проблем, но на этот раз это было сложнее. Но я наконец понял это.

  1. Формат файла не обязательно должен быть UTF-8. Я успешно сравнил файлы UTF-8, ISO-8559-1 и Windows-1252.

  2. На Sublime/Mac нет Файл> Открыть папки. Многие инструкции выше начинаются с "Выбрать файл> Открыть папки", но их нет в Sublime/Mac.

  3. Сравнение файлов работает на основе проекта. Если вы хотите сравнить два файла, они должны быть сохранены на диск и часть текущего проекта.

  4. Способы открыть проект

    • Если Sublime/Mac не запущен или работает, но окна не открыты, перетащите папку в приложение Sublime.
    • Если Sublime/Mac запущен, выберите "Файл> Открыть", перейдите к нужной папке, не выбирайте файл или папку и нажмите "Открыть".
  5. Добавить папку в проект. Если файлы, которые вы хотите сравнить, не являются частью одной и той же иерархии, сначала откройте папку, содержащую один из файлов. Затем выберите "Проект> Добавить папку в проект", перейдите к нужной папке и нажмите "Открыть". Теперь вы увидите две папки корневого уровня на боковой панели.

  6. Боковая панель должна быть видна. Вы можете либо "Вид> Боковая панель> Показать боковую панель", либо использовать сочетание клавиш Command-K, Command-B.

  7. Файлы должны быть закрыты (т.е. сохранены) для сравнения. Один щелчок по файлу на боковой панели не открывает файл, но отображает его. Вы можете определить, открыт ли файл, если он указан в разделе "Открытые файлы" в верхней части боковой панели. Двойной щелчок по файлу или изменение файла автоматически изменяет статус файла на "Открыть". В этом случае обязательно закройте его, прежде чем пытаться сравнивать.

  8. Выберите файлы в иерархии папок. Стандартный ярлык Mac здесь (один раз) щелкните первый файл, затем щелкните второй файл, удерживая клавишу "Command". Когда вы выберете первый файл, вы увидите его содержимое, но оно не открывается. Затем, когда вы щелкнете по команде второй файл, вы увидите его содержимое, но, опять же, ни один из них не открыт. Вы заметите только одну вкладку на панели редактирования.

  9. Щелчок при управлении не совпадает с щелчком правой кнопкой мыши. Это был тот, который получил меня. Я использую свой трекпад и часто прибегаю к щелчку Control-click как правый или вторичный щелчок. Это не работает для меня. Однако, поскольку я настроил свой трекпад в "Системных настройках", чтобы использовать правый нижний угол трекпада в качестве щелчка правой кнопкой мыши, это сработало, отобразив контекстное меню с "Удалить", "Показать в Finder" и.... "Разные файлы..."

Вуаля! Я надеюсь, что это помогает кому-то.

Ответ 6

ОБНОВЛЕНИЕ ОКТЯБРЬ 2017 Я никогда не знал, что эта функция существует в Sublime Text, но интерфейс, похоже, немного изменился с предыдущего ответа - по крайней мере, на OS X. Ниже приведены подробные шаги, которые я выполнил:

  • В строке меню щелкните Файл → Открыть...
  • Перейдите к FOLDER, который содержит файлы для сравнения, и с выбранным FOLDER, нажмите кнопку "Открыть", это приведет к появлению боковой панели FOLDERS.
  • На боковой панели FOLDERS щелкните по первому сравниваемому файлу
  • Удерживайте Ctrl в Windows или ⌘ на OS X и щелкните второй файл
  • Если оба файла выбраны, щелкните их правой кнопкой мыши и выберите Diff Files...

Откроется новая вкладка, показывающая сравнение. Первый файл красного цвета, второй - зеленый.

Ответ 7

View - Layout и View - группы сделают в последнем Sublime 3

например:

Shift + Alt + 2 → создает 2 столбца

Ctrl + 2 → переместить выбранный файл в столбец 2

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

Ответ 8

Никто не говорит о Linux, но все приведенные выше ответы будут работать. Просто используйте Ctrl, чтобы выбрать более одного файла. Если вы хотите сравнить друг с другом, Мелд прекрасна.

Ответ 9

Также есть плагин BeyondCompare. Он открывает 2 файла в окне BeyondCompare. Довольно удобно открывать файлы из возвышенного окна.

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

Пример:

{
    //Define a custom path to beyond compare
    "beyond_compare_path": "G:/Softwares/Beyond Compare 3/BCompare.exe"
}

Ответ 10

Опция Diff появляется только в том случае, если файлы находятся в папке, которая является частью проекта.

Чем вы можете сравнивать файлы изначально прямо в Sublime Text.

Перейдите к папке, содержащей их, через Open Folder... или в проекте. Выберите два файла (например, удерживая Ctrl в Windows или ⌘ в macOS), которые вы хотите сравнить, на боковой панели. Щелкните правой кнопкой мыши и выберите Diff файлы... вариант.