Порівняння вмісту двох файлів у піднесеному тексті


397

У мене є два клоновані сховища двох дуже схожих проектів з відкритим кодом, над якими я працював у різних примірниках у Sublime Text 2, щоб досягти бажаного результату. Кодекс з обох цих проектів був використаний. Я використовую Git як контроль версій для свого проекту, але не включив оригінальні проекти. Таким чином, я хотів би мати можливість швидко порівняти вміст двох файлів оригінального проекту та порівняти відмінності між ними та моїм проектом.

Я сподівався, що Sublime Text 2 матиме функцію "Порівняти файл", але, здається, не можу знайти нічого, пов’язаного з цим, у налаштуваннях чи в Інтернеті. Сторінковий пакет ST2 для виконання цього завдання також би добре працював. Чи можливо таке завдання виконати в текстовому редакторі ST2?

Відповіді:


705

Ви можете насправді порівнювати файли в прямому форматі в Sublime Text.

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


19
@Derek: використовуючи select, здатний вибрати, але не в змозі знайти опцію файлу різного клацання правою кнопкою миші, лише натисніть правою кнопкою миші правою кнопкою миші.
Мохамед Хуссейн

65
@MohamedHussain Дійсно дві різні бічні смуги, і вам потрібно буде в потрібній для цього роботі. Якщо ви перейдете до "Файл"> "Відкрити папку" ..., виберіть папку, у якій знаходяться ваші файли, а потім виберіть "Перегляд"> "Бічна панель"> "Показати бічну панель", ви отримаєте потрібну. Ви можете отримати інше, вибравши Вид> Бічна панель> Показати відкриті файли, але ця опція не дозволить вам використовувати параметр «Відмінні файли ...».
Джерамі

25
Це, на жаль, більше не працює в піднесеній збірці 3103 на mac. Як тільки я клацну правою кнопкою миші, другий файл стає відмінено,
merlin

8
Не працює для мене в Build 3144 на OSX. Я можу вибрати два файли у файловому інтерфейсі, але коли я натискаю клавішу Ctrl, вибирається лише один, а варіант diff не існує.
James J

4
Не працюйте для мене теж у 3114 році - windows. Існує не відрізняється варіант, коли я клацну правою кнопкою миші на файли.
dangsonbk

216

Порівняйте Side-by-Side виглядає як найзручніше для мене, хоча це не найпопулярніше:

UPD: Мені потрібно додати, що цей плагін може заморозити ST при порівнянні великих файлів. Це, звичайно, не найкраще рішення, якщо ви збираєтеся порівнювати великі тексти.


11
це найпростіше і зручне рішення ІМО. Добре працює в ST3
mihai

5
Працює добре і може порівнювати файли з різних місць, які мені не вдалося зробити з рідним порівнянням.
Лев

3
Це також працює з копійованим вмістом на нових незбережених вкладках, що зручно за допомогою дрібниці.
mtone

1
Я б хотів, щоб я бачив це раніше, врятував би мені непродуктивний день.
0_о

1
Порівняти Side-by-Side мені просто допомогло.
noob

61

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


2
Зараз я використовую FileDiffs, і це працює як шарм. Спасибі, відповідь прийнято.
LanceLafontaine

1
Ну я не можу зрозуміти, як використовувати FileDiffs. Чи можете ви коротко описати, як я можу порівняти два файли з ним.
Джаміль Ахмед

4
@LanceLafontaine Я б звичайно цього не робив, але ви б заперечували, щоб змінити прийняту відповідь на відповідь Дерека нижче? Ніхто з нас насправді не потребує очок, але я не знав, що на той час була вбудована розбіжність. Зараз я використовую його весь час, коли в Sublime. Єдиний раз, коли я цього не роблю, коли мені потрібні розширені можливості зовнішнього інструменту.
MattDMo

Який із цих плагінів здатний виявити рух цілих блоків тексту? І не просто скажіть, що деякі рядки відсутні тут і з’являються там, але й показуйте стрілками, як вони рухалися?
скан

Завдяки цій відповіді я встановив FileDiffs та додав comad для використання TortoiseMerge.exe для порівняння. Це було величезне вдосконалення для мого щоденного використання піднесеного порівняння коду. Дякую!
любето

48

ОНОВЛЕННЯ
(Враховуючи результати, я вважаю, що потрібно повне покрокове пояснення ...)

  1. На панелі меню натисніть File->Open Folder...
  2. Виберіть папку (фактична папка насправді не має значення. Цей крок - просто зробити FOLDERSдоступною бічну панель)
  3. Якщо бічна смужка ще не показана, відображіть її через View-> Side Bar->Show Side Bar
  4. Використовуйте цей FOLDERSбічний рядок з назвою, щоб перейти до першого файлу, який ви хочете порівняти.
  5. Виберіть його (натисніть на нього), утримуйте ctrl і виберіть другий файл.
  6. Вибравши два файли, клацніть правою кнопкою миші один з двох і виберіть Diff Files...

Зараз має бути нова вкладка, що показує порівняння.


Оригінальна коротка відповідь:
Зауважте, що:

"Різні файли" з'являються лише на бічній панелі "папки" (щоб відкрити папку: Файл -> Відкрити папку), а не на бічній панелі "Відкрити файли".


Чи є спосіб вибрати ті різні лінії? Один з’являється червоним кольором, а другий зеленим
zeristor

1
Що ви маєте на увазі під вибором? Виділіть їх і, наприклад, скопіюйте їх? Або видобувати їх? Дякуємо за роз’яснення!
langlauf.io

Оскільки пропущені рядки мають префікс "-", я вибрав один, а потім зіставив їх усі, вибрав повний рядок і скопіював. Побудований спосіб просто забуде забути.
zeristor

5
Я думаю, що варто пояснити, що обидва файли важко відкрити. Якщо ви двічі натиснули на обидва, щоб вони були відкриті, ви не можете виділити обидва файли на бічній панелі за допомогою кнопки ctrl. Ви повинні переконатися, що один із них закритий, перш ніж ви зможете вибрати обидва файли. Я дізнався це, тому що у мене вже були відкриті обидва файли і хотів використовувати різні файли ...
Battousai

1
@NaveenDA Я адаптував свою відповідь, щоб можна було видалити розірване посилання. Дякую за підказку!
langlauf.io

25

ОНОВЛЕННЯ січня 2018 - особливо для Sublime / Mac

(Це дуже схоже на відповідь Марті Ф, але стосується деяких питань попередніх відповідей, поєднує кілька різних пропозицій та обговорює критичну відмінність, яка спочатку дала мені проблеми.)

Я використовую Sublime Text 3 (build 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 як клацання правою кнопкою миші або вторинного клацання. Це не працює для мене. Однак, оскільки я налаштував свій трекпад у "Системних налаштуваннях" використовувати нижній правий кут моєї трекпадної панелі як клацання правою кнопкою миші, це спрацювало, відобразивши контекстне меню, з "Видалити", "Розкрити в Finder" та .... "Різні файли ..."

Вуаля! Я сподіваюся, що це комусь допоможе.


2
Чи можна порівняти папки замість порівняння файлів?
DCBoy

1
боже! Ви просто зберегли користувачів Mac!
analist045

10

ОНОВЛЕННЯ ОКТЯБРЯ 2017 Я ніколи не знав, що ця функція існує в Піднесеному тексті, але інтерфейс, здається, трохи змінився в порівнянні з попередньою відповіддю - принаймні в ОС X. Ось детальні кроки, які я дотримувався:

  1. У рядку меню натисніть Файл -> Відкрити ...
  2. Перейдіть до папки, яка містить файли для порівняння, і з вибраною папкою натисніть кнопку «Відкрити», завдяки чому з’явиться бічна панель «Папки»
  3. На бічній панелі папок натисніть на перший файл для порівняння
  4. Утримуйте Ctrl в Windows або ⌘ в OS X і натисніть другий файл
  5. Вибрані обидва файли, клацніть правою кнопкою миші на одному і виберіть Diff Files ...

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


8

Перегляд - Макет і Перегляд - Групи будуть виконані в останній Sublime 3

наприклад:

Shift+ Alt+ 2-> створює 2 стовпці

Ctrl+ 2-> перемістити вибраний файл у стовпчик 2

Це для порівняння. Для фактичного diff існує функція diff, яка вже згадувалася. На жаль, я не можу знайти спосіб змусити прокручувати стовпці одночасно, що було б приємною особливістю.


1
А щоб закрити групу, ви можете використовувати Ctrl+ K Ctrl+down
Alex Raj Kaliamoorthy

2

Ніхто не говорить про Linux, але всі відповіді вище будуть працювати. Просто за допомогою Ctrl виберіть більше одного файлу. Якщо ви хочете порівняти пліч-о-пліч, Мельд прекрасний.


2

Опція Diff з'являється лише в тому випадку, якщо файли знаходяться в папці, яка є частиною проекту.

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

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


0

Також є плагін BeyondCompare. Він відкриває 2 файли у BeyondCompareвікні. Досить зручно відкривати файли з піднесеного вікна.

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

Приклад:

{
    //Define a custom path to beyond compare
    "beyond_compare_path": "G:/Softwares/Beyond Compare 3/BCompare.exe"
}
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.