Porównywanie zawartości dwóch plików w tekście

Mam dwa sklonowane repozytoria dwóch bardzo podobnych projektów open-source, nad którymi pracowałem w różnych przypadkach w Sublime Text 2, aby osiągnąć pożądany efekt. Wykorzystano kod z obu tych projektów. Używam Git jako kontroli wersji dla mojego projektu, ale nie uwzględniłem oryginalnych projektów. Chciałbym więc móc szybko porównać zawartość dwóch plików oryginalnego projektu i porównać różnice między nimi a moim projektem.

I miałem nadzieję, że Sublime Text 2 będzie miał funkcję "Porównaj plik", ale nie mogę znaleźć nic związanego z nim w ustawieniach lub online. Zewnętrzny pakiet ST2 do wykonania tego zadania również będzie działał dobrze. czy takie zadanie można wykonać w edytorze tekstu ST2?

Author: Suzana, 2014-09-16

7 answers

Można rzeczywiście porównać pliki natywnie bezpośrednio w Sublime Text.

  1. Przejdź do folderu zawierającego je, poprzez "Otwórz Folder..."lub w projekcie
  2. Wybierz dwa pliki (tj. przytrzymując Ctrl na Okna lub na macOS) chcesz porównać na pasku bocznym
  3. Kliknij prawym przyciskiem myszy i wybierz opcję Diff files....

 567
Author: Derek 朕會功夫,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-11-27 23:47:46

Porównanie Side-By-Side wygląda jak dla mnie najwygodniej choć nie jest najpopularniejszy:

UPD: muszę dodać, że ten plugin może zamrozić ST podczas porównywania dużych plików. Z pewnością nie jest to najlepsza decyzja, jeśli zamierzasz porównać duże teksty.

 157
Author: Dany,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-02-29 08:44:31

Istnieje wiele wtyczek diff dostępnych za pomocą kontroli pakietów. Użyłem Sublimerge Pro , który działał wystarczająco dobrze, ale jest to produkt komercyjny (z nieograniczonym okresem próbnym)i zamkniętym źródłem, więc nie można go dostosować, jeśli chcesz coś zmienić, lub po prostu spojrzeć na jego wewnętrzne. FileDiffs jest dość popularny, sądząc po liczbie instalacji, więc możesz spróbować tego.

 53
Author: MattDMo,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-09-16 16:53:31

Aktualizacja
(biorąc pod uwagę pozytywne opinie, uważam, że istnieje potrzeba pełnego wyjaśnienia krok po kroku...)

  1. w pasku Menu Kliknij na File->Open Folder...
  2. Wybierz folder (rzeczywisty folder nie ma znaczenia, ten krok służy tylko do udostępnienia paska bocznego FOLDERS)
  3. Jeśli nie ma jeszcze pokazanego paska bocznego, spraw, aby pojawił się poprzez View -> Side Bar -> Show Side Bar
  4. użyj paska bocznego o tytule FOLDERS, aby przejść do pierwszego pliku, który chcesz porównaj.
  5. wybierz go (kliknij na niego), przytrzymaj ctrl i wybierz drugi plik.
  6. Po wybraniu dwóch plików kliknij prawym przyciskiem myszy jeden z nich i wybierz Diff Files...

Powinna być teraz nowa zakładka pokazująca porównanie.


Oryginalna krótka odpowiedź:
Zauważ, że:

"Pliki różnic" są wyświetlane tylko z paskiem bocznym " foldery "(aby otworzyć folder: Plik->Otwórz Folder) , a nie z paskiem bocznym" otwórz pliki".

 41
Author: stackoverflowwww,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-06-30 08:19:10

Aktualizacja styczeń 2018 - szczególnie dla Sublime / Mac

(jest to bardzo podobne do powyższej odpowiedzi Marty ' ego F, ale odnosi się do niektórych kwestii z poprzednich odpowiedzi, łączy kilka różnych sugestii i omawia krytyczne rozróżnienie, które dało mi problemy na początku.)

Używam Sublime Text 3 (build 3143) na Macu i od około 30 minut próbuję znaleźć tę funkcję porównywania plików. Używałem go wcześniej na Sublime/Mac bez żadnych problemów, ale tym razem był trudniejsze. Ale w końcu to rozgryzłem.

  1. format pliku nie musi być UTF-8. Z powodzeniem porównałem pliki UTF-8, ISO-8559-1 i Windows-1252.

  2. nie ma pliku > Otwórz foldery na Sublime / Mac. Wiele powyższych instrukcji zaczyna się od "wybierz Plik > Otwórz foldery", ale to nie istnieje na Sublime / Mac.

  3. file compare działa na zasadzie projektu. Jeśli chcesz aby porównać dwa pliki, muszą być zapisane na dysku i część bieżącego projektu.

  4. sposoby otwarcia projektu

    • Jeśli Sublime / Mac nie jest uruchomiony lub jeśli jest uruchomiony, ale żaden system windows nie jest otwarty, przeciągnij folder na aplikację Sublime.
    • Jeśli sublime / Mac jest uruchomiony, wybierz "Plik > Otwórz", przejdź do żądanego folderu, Nie wybierz plik lub folder i kliknij "Otwórz".
  5. Dodaj folder do projekt. Jeśli pliki, które chcesz porównać, nie należą do tej samej hierarchii, najpierw otwórz folder zawierający jeden z plików. Następnie wybierz "projekt > Dodaj Folder do projektu", przejdź do wybranego folderu i kliknij "Otwórz". Zobaczysz teraz dwa foldery na poziomie głównym na pasku bocznym.

  6. pasek boczny musi być widoczny. Możesz albo "Widok > Pasek boczny > Pokaż pasek boczny" lub użyć skrótu, Command-K, Command-B.

  7. Pliki musi być zamknięty (czyli zapisany), aby porównać. Pojedyncze kliknięcie pliku na pasku bocznym powoduje Nie otwarcie pliku, ale jego wyświetlenie. Możesz sprawdzić, czy plik jest otwarty, jeśli jest wymieniony w sekcji "Otwórz pliki" u góry paska bocznego. Dwukrotne kliknięcie pliku lub modyfikacja pliku automatycznie zmieni status pliku na"Otwórz". W takim przypadku należy go zamknąć przed próbą porównania.

  8. Wybierz pliki z folderu hierarchia. Standardowe Mac shorcut tutaj, (single) kliknij pierwszy plik, a następnie polecenie-kliknij drugi plik. Po wybraniu pierwszego pliku zobaczysz jego zawartość, ale nie jest on otwarty. Następnie, po kliknięciu drugiego pliku, zobaczysz jego zawartość , ale ponownie, żaden z nich nie jest otwarty. Zauważysz tylko jedną kartę w panelu edycji.

  9. Control-click to nie to samo co right-click. To mnie dopadło. Używam mojego trackpad i często uciekają się do kliknięcia kontrolnego jako kliknięcie prawym przyciskiem myszy lub kliknięcie wtórne. to nie działa {[2] } dla mnie. Jednak, ponieważ skonfigurowałem mój gładzik w Preferencjach systemowych, aby używać prawego dolnego rogu gładzika jako kliknięcia prawym przyciskiem myszy, to działało, wyświetlając menu kontekstowe, z "usuń"," Ujawnij w Finderze " i.... "Pliki Diff..."

Voila! Mam nadzieję, że to komuś pomoże.

 12
Author: Zonker.in.Geneva,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-01-21 10:15:36

AKTUALIZACJA PAŹDZIERNIK 2017 Nigdy nie wiedziałem, że ta funkcja istnieje w Sublime Text, ale interfejs wygląda na nieco zmieniony w stosunku do poprzedniej odpowiedzi - przynajmniej na OS X. oto szczegółowe kroki, które wykonałem: {]}

  1. w pasku Menu kliknij Plik - > Otwórz...
  2. przejdź do folderu zawierającego pliki do porównania i po wybraniu folderu kliknij przycisk Otwórz, co spowoduje wyświetlenie paska bocznego folderów
  3. na pasku bocznym folderów kliknij na pierwszy plik do porównania
  4. przytrzymaj klawisz Ctrl na Windows lub ⌘ na OS X i kliknij drugi plik
  5. Po wybraniu obu plików kliknij prawym przyciskiem myszy na jednym i wybierz pliki Diff...

Otwiera nową kartę pokazującą porównanie. Pierwszy plik w kolorze czerwonym, drugi w kolorze zielonym.

 9
Author: Marty F,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-10-11 13:28:24

Nikt nie mówi o Linuksie, ale wszystkie powyższe odpowiedzi będą działać. Wystarczy użyć Ctrl, aby wybrać więcej niż jeden plik. Jeśli szukasz porównania obok siebie, Meld jest piękny.

 1
Author: Wannabe JavaGeek,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-03-31 17:15:06