Сравнение содержимого двух файлов в Sublime Text [diff, compare, sublimetext, sublime-text-plugin, sublimetext2]


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

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


diff compare sublimetext sublime-text-plugin sublimetext2

person LanceLafontaine    schedule 16. 09.2014    source источник



Ответы (10)

arrow_upward
760
arrow_downward

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

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

person Derek 朕會功夫    schedule 03.05.2015


arrow_upward
240
arrow_downward

Сравнить бок о бок мне кажется наиболее удобным, хотя и не самым популярным:

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

person Dany   

schedule 16.11.2015


arrow_upward
65
arrow_downward

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

person MattDMo   

schedule 16.09.2014


arrow_upward
54
arrow_downward

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

  1. В строке меню нажмите _1 _-> _ 2_.
  2. Выберите папку (на самом деле папка не имеет значения, этот шаг предназначен только для того, чтобы сделать доступную FOLDERS боковую панель)
  3. Если боковая панель еще не показана, сделайте ее видимой с помощью View -> Side Bar -> Show Side Bar
  4. Используйте эту боковую панель с FOLDERS заголовком, чтобы перейти к первому файлу, который вы хотите сравнить.
  5. Выделите его (нажмите на него), зажмите ctrl и выберите второй файл.
  6. Выбрав два файла, щелкните один из них правой кнопкой мыши и выберите Diff Files....

Должна появиться новая вкладка, показывающая сравнение.


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

«Файлы различий» появляются только с боковой панелью «папки» (чтобы открыть папку: Файл-> Открыть папку), но не с боковой панелью «открытые файлы».

person gogo_gorilla    schedule 13. 10.2015


arrow_upward
34
arrow_downward

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

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

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

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

  2. Нет файла ›Открытые папки на Sublime / Mac. Многие приведенные выше инструкции начинаются с Select File ›Open Folders, но этого нет в Sublime / Mac.

  3. Сравнение файлов работает на основе проекта.

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

  4. Способы открытия проекта

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

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

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

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

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

Вуаля!

person Zonker.in.Geneva   

schedule 21.01.2018


arrow_upward
10
arrow_downward

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

  1. В строке меню нажмите Файл -> Открыть . ..
  2. Перейдите в ПАПКУ, содержащую файлы для сравнения, и с выбранной ПАПКОЙ нажмите кнопку Открыть, появится боковая панель ПАПКИ.
  3. На боковой панели ПАПКИ щелкните первый файл для сравнения.
  4. Удерживая Ctrl в Windows или ⌘ в OS X, щелкните второй файл.
  5. Выбрав оба файла, щелкните один из них правой кнопкой мыши и выберите Diff Files …

Это открывает новую вкладку, показывающую сравнение. Первый файл — красным, второй — зеленым.

person Marty F    schedule 11.10.2017


arrow_upward
8
arrow_downward

Просмотр — Макет и Просмотр — Группы будут работать в последней версии Sublime 3

eg:

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

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

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

person Daniele Dellafiore    schedule 15.10.2018


arrow_upward
4
arrow_downward

Параметр «Различие» появляется только в том случае, если файлы находятся в папке, которая является частью проекта.

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

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

person Ricardo    schedule 14. 06.2019


arrow_upward
3
arrow_downward

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

person Wannabe JavaGeek    schedule 31.03.2018


arrow_upward
1
arrow_downward

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

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

Пример:

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

person YetAnotherBot    schedule 02. 02.2019

git — В чем смотреть разницу между исходниками (текстом)?

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

Иногда необходимо сравнить два участка кода, найти и проанализировать различия. Конечно, есть вариант закоммитить один в SVN, подменить другим и смотреть различия. Но всё же не хочется мусорить в истории коммитов.

  • git
  • svn
  • поиск-программ
  • tfs

7

Даже не знаю, почему все предлагают онлайн утилиты. Если нужно сравнить пять-десять строк, то это можно и ручками, а если нужно мегабайтные куски (не объязательно прямо код, есть много чего, что нужно сравнивать), то как по мне, только нативные приложения. А их вагон и тележка. Платные я не вижу смысла рассматривать, так как есть нормальные бесплатные. Хотя говорят, что araxis просто чудо, но я его не использовал.

  • meld. Есть под линукс и винду, под виндой маленький недостаток — требует установленного питона и ещё немного библиотек. Под линуксом ставится с репозитория. Кроме как сравнить файлы, умеет работать с основной массой систем контроля версий (даже коммитить). Я лично пользуюсь и запускаю его как meld . в каталоге с проектом. Сразу видно какие файлы изменились.

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

  • diffuse. Виндовс/Линукс. Ничего особого не увидел, но вот «сеточка» в коде как то не то. Но это на любителя.

в программах контроля версий используется либо «нормальный» (--normal, по умолчанию), либо «унифицированный» (--unified, -u) форматы программы diff:

$ diff файл1 файл2
1c1
< qwerty
---
> qwerty1
$ diff -u файл1 файл2
--- "файл1" 2016-07-28 10:48:41.337854383 +0300
+++ "файл2" 2016-07-28 10:48:54. 073854155 +0300
@@ -1 +1 @@
-qwerty
+qwerty1

Есть хороший плагин Compare для Notepad++

Я этим пользуюсь. Радует что онлайн, плюс поделится можно https://www.diffchecker.com/diff

1

Если у вас установлен TortoiseSVN или TortoiseGIT то вы можете использовать для сравнения TortoiseMerge, даже если файлы не версированы.

Это целый сектор программ. На вики есть достаточно исчерпывающий список с перечислением особенностей и фич: https://en.wikipedia.org/wiki/Comparison_of_file_comparison_tools

Зарегистрируйтесь или войдите

Регистрация через Google

Регистрация через Facebook

Регистрация через почту

Отправить без регистрации

Почта

Необходима, но никому не показывается

Отправить без регистрации

Почта

Необходима, но никому не показывается

Нажимая на кнопку «Отправить ответ», вы соглашаетесь с нашими пользовательским соглашением, политикой конфиденциальности и политикой о куки

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

спросил

Изменено 2 года, 8 месяцев назад

Просмотрено 746 тысяч раз

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

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

  • сравнить
  • sublimetext2
  • diff
  • sublimetext
  • sublime-text-plugin

0

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

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

19

Compare Side-By-Side мне кажется самым удобным, хотя и не самым популярным:

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

8

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

5

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

  1. В строке меню щелкните Файл -> Открыть папку...
  2. Выберите папку (фактическая папка не имеет особого значения, этот шаг просто для того, чтобы сделать доступной боковую панель ПАПКИ )
  3. Если боковая панель еще не показана, сделайте так, чтобы она появилась с помощью Вид -> Боковая панель -> Показать боковую панель
  4. Используйте эту боковую панель с названием ПАПКИ для перехода к первому файлу, который вы хотите сравнить.
  5. Выберите его (щелкните по нему), зажмите Ctrl и выберите второй файл.
  6. Выбрав два файла, щелкните правой кнопкой мыши один из двух и выберите Diff Files...

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


Исходный короткий ответ:
Обратите внимание:

«Различные файлы» отображаются только с боковой панелью «Папки» (чтобы открыть папку: Файл->Открыть папку), а не с боковой панелью «Открыть файлы».

6

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

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

Я использую 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 работает, выберите «Файл > Открыть», перейдите к нужной папке, не выберите файл или папку и нажмите «Открыть».
  1. Добавить папку в проект . Если файлы, которые вы хотите сравнить, не являются частью одной иерархии, сначала откройте папку, содержащую один из файлов. Затем выберите «Проект» > «Добавить папку в проект», перейдите к нужной папке и нажмите «Открыть». Теперь вы увидите две папки корневого уровня на боковой панели.

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

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

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

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

Вуаля!

4

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

  1. В строке меню нажмите «Файл» -> «Открыть». ..
  2. Перейдите к ПАПКЕ, содержащей файлы для сравнения, и, выбрав ПАПКУ, нажмите кнопку «Открыть», появится боковая панель ПАПКИ
  3. В боковой панели ПАПКИ щелкните первый файл для сравнения
  4. Удерживая нажатой клавишу Ctrl в Windows или ⌘ в OS X, щелкните второй файл
  5. Выбрав оба файла, щелкните один из них правой кнопкой мыши и выберите Diff Files. ..

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

0

View — Layout and View — Groups будут работать в последней версии Sublime 3

, например:

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

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

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

1

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

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

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

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

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

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

Пример:

 {
    //Определяем пользовательский путь к несравнимому
    "beyond_compare_path": "G:/Softwares/Beyond Compare 3/BCompare.exe"
}
 

sublimetext3 — Сравнение содержимого двух файлов в Sublime Text с параллельным просмотром

спросил

Изменено 1 год, 8 месяцев назад

Просмотрено 6к раз

Я уже читал Сравнение содержимого двух файлов в Sublime Text, но ответы (либо встроенная функция «Папки > Diff-файлы» , либо использование FileDiffs ) показать различия между двумя файлами, например, с помощью инструмента diff , который мне не нужен:

 --- file1. py
 +++ файл2.py
 @@ -1,21 +1,19 @@
 -импорт ОС
 +импорт ОС, СИС
 импортировать numpy как np
 -print('привет')
 +print('привет мир')
 -импорт системы
 

Вместо этого я хотел бы провести параллельное сравнение, подобное этому, с помощью собственного инструмента сравнения PSPad:

Как добиться этого параллельного сравнения между двумя открытыми файлами в Sublime Text (2 или 3)?

Возможно ли это изначально с Sublime Text?

  • сублимтекст3
  • diff
  • сублимтекст2
  • сублимтекст

3

Установка для Windows и Linux:

  • Нажмите CTRL + SHIFT + P
  • Тип Управление пакетами: Установить пакет
  • Нажмите ВВОД
  • Тип Сравните сторону
  • Выбрать пакет с именем Сравнить параллельно

Как пользоваться?

  • Выберите одну вкладку, которую вы хотите сравнить
  • Правая кнопка мыши на второй вкладке, которую вы хотите сравнить
  • Выбрать Сравнить с активной вкладкой

Как это выглядит?

0

Да, вы можете сделать это без плагинов.