Возвышенный текст, сравнение двух файлов

Обновлено: 04.07.2024

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

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


10 ответов 10

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

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



@Derek: с помощью выбора можно выбрать, но не удается найти параметр файла различий при щелчке правой кнопкой мыши, при щелчке правой кнопкой мыши появляется только параметр закрытия.

@MohamedHussain На самом деле есть две разные боковые панели, и вам нужно выбрать правильную, чтобы это работало. Если вы перейдете в «Файл»> «Открыть папку». Выберите папку, в которой находятся ваши файлы, затем выберите «Вид»> «Боковая панель»> «Показать боковую панель», вы получите тот, который вам нужен. Вы получите другой, выбрав «Вид»> «Боковая панель»> «Показать открытые файлы», но этот не позволит вам использовать файлы различий. вариант.

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

У меня не работает в сборке 3144 на OSX. Я могу выбрать два файла в файловом интерфейсе, но когда я щелкаю, удерживая нажатой клавишу Ctrl, становится выбранным только один, а параметр сравнения отсутствует.

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


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

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

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


Ну, я не могу понять, как использовать FileDiffs. Не могли бы вы вкратце описать, как я могу сравнить с ним два файла.

@LanceLafontaine Обычно я бы этого не делал, но не могли бы вы изменить принятый ответ на ответ Дерека 朕會功夫 ниже? Никто из нас на самом деле не нуждался в баллах, но в то время я не знал, что существует встроенный diff. Теперь я использую его все время, когда в Sublime. Единственный раз, когда я этого не делаю, это когда мне нужны расширенные функции внешнего инструмента.

Какой из этих подключаемых модулей способен обнаруживать движение целых блоков текста? И не просто сказать, что какие-то линии отсутствуют здесь и появляются там, но и показать стрелками, как они двигались?

Благодаря этому ответу я установил FileDiffs и добавил запятую, чтобы использовать TortoiseMerge.exe для сравнения. Это было огромным улучшением для моего повседневного использования превосходного сравнения кода. Спасибо!

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

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

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

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

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

Что вы подразумеваете под выбором? Выделите их и, например. скопировать их? Или их извлечение? Спасибо за разъяснение!

Поскольку отсутствующие строки имеют префикс «-», я выбрал одну, а затем сопоставил их все, выбрал всю строку и скопировал. О встроенном способе было бы просто забыть.

Думаю, стоит пояснить, что оба файла нельзя открыть жестко. Если вы дважды щелкнули по обоим, чтобы они оба открылись, вы не сможете выделить оба файла на боковой панели с помощью кнопки Ctrl. Вы должны убедиться, что один из них закрыт, прежде чем вы сможете выбрать оба файла. Я узнал об этом, потому что у меня уже были открыты оба файла, и я хотел использовать diff-файлы.

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

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

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

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

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

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

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

  • Если Sublime/Mac не запущен или запущен, но ни одно окно не открыто, перетащите папку в приложение Sublime.
  • Если Sublime/Mac работает, выберите «Файл > Открыть», перейдите к нужной папке, не выберите файл или папку и нажмите «Открыть».

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

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

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

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

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

Sublime Text — отличный текстовый редактор, который я использую, когда редактирую файлы конфигурации или создаю скрипты для своих модпаков Minecraft.

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

Функция в Sublime Text очень помогает в этом. Так как он может сравнивать два файла и определять разницу между ними.

Создайте папку с двумя текстовыми файлами, которые нужно сравнить (я добавляю «старый» к старому конфигу и позволяю игре сгенерировать новый, который я также добавил в папку)


2:

Теперь откройте Sublime Text и нажмите «файлы», затем «открыть папку» и выберите созданную папку. Теперь это должно выглядеть примерно так:


3:

Теперь нажмите «Ctrl» на клавиатуре и выберите два файла. Затем щелкните правой кнопкой мыши один из них и выберите «Diff Files…»


4:

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

Здесь видно, что «computerBoxes=256» находится в старом файле. А в новом =30. Так что здесь я бы отредактировал =30, чтобы он совпадал со старым значением 256.


Надеюсь, это помогло некоторым из вас. Это также может быть использовано для других случаев, кроме создания модпака. Я надеюсь, что в будущем я сделаю больше таких руководств. У меня также есть планы по созданию серии YouTube о том, как создавать пакеты модов для Minecraft.

WebStorm позволяет просматривать различия между любыми файлами ( Ctrl+D ), папками и текстовыми источниками, а также между локальными файлами и версиями их репозиториев.

Сравнить файлы

WebStorm отображает различия в средстве просмотра различий для файлов:

сравнение файлов

Чтобы применить изменения, используйте кнопки с изображением шеврона и .

Чтобы добавить изменения, нажмите Ctrl — кнопки превратятся в .

Сравнить два файла

В окне инструмента "Проект" выберите файлы, которые нужно сравнить, и выберите "Сравнить файлы" или нажмите Ctrl+D .

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

В качестве альтернативы выберите один файл, выберите «Сравнить с» в его контекстном меню и выберите файл, который не входит в ваш проект.

Чтобы отобразить скрытые файлы, нажмите Windows или нажмите Command+Shift+. на Mac OS.

Сравнить активный редактор с буфером обмена

Щелкните правой кнопкой мыши в любом месте редактора и выберите «Сравнить с буфером обмена» в контекстном меню.

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

Щелкните правой кнопкой мыши файл, который хотите сравнить с текущим открытым файлом в окне инструмента "Проект".

Выберите «Сравнить файл с редактором» в контекстном меню.

Сравнить активный редактор с любым файлом

Если вам часто нужно сравнивать файлы, которые находятся за пределами вашего проекта, с активным редактором или вы не хотите, чтобы окно инструмента «Проект» было открыто, вы можете использовать параметр «Сравнить файл с редактором», который позволяет выбрать любой файл и сравнить это с активным редактором.

Чтобы добавить это действие в контекстное меню вкладки редактора:

Нажмите Ctrl+Alt+S, чтобы открыть настройки IDE, и выберите Внешний вид и поведение | Меню и панели инструментов .

На правой панели разверните узел всплывающего меню вкладки «Редактор», нажмите «Добавить после» и выберите действие «Сравнить файл с редактором» в разделе «Системы управления версиями | Сравнение и объединение .

Сравнить локальный файл с его версией репозитория

Выберите измененный файл в любом месте окна инструмента контроля версий.

Нажмите на панели инструментов или нажмите Ctrl+D .

Советы по продуктивности

Чтобы назначить ярлыки для действий применения и добавления, откройте страницу раскладки клавиш в настройках IDE, нажав Ctrl+Alt+S, и найдите эти действия в разделе Системы управления версиями | Сравнение и объединение .

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

Сравнить папки

WebStorm позволяет сравнивать файлы в двух папках по их размеру, содержимому или отметке времени. Различия отображаются в средстве просмотра различий для папок:

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

На верхней панели перечислены все файлы в выбранных папках, а на нижней панели показаны различия между двумя версиями выбранного файла (см. Сравнение файлов).

Вы также можете открыть средство просмотра различий, не запуская WebStorm. Выполните следующую команду:

где path_1 и path_2 — это пути к папкам, которые вы хотите сравнить.

Сравнить папки

Выберите папки, которые вы хотите сравнить, в окне инструмента "Проект".

В контекстном меню выберите «Сравнить каталоги» или нажмите Ctrl+D .

Используйте следующие кнопки панели инструментов для фильтрации списка:

: нажмите, чтобы отобразить файлы, которые есть в левой папке, но отсутствуют в правой.

: нажмите, чтобы отобразить файлы, которые есть в правой папке, но отсутствуют в левой.

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

: нажмите, чтобы отобразить файлы, находящиеся в обеих папках и идентичные с точки зрения параметра, выбранного в раскрывающемся списке «Сравнить».

Синхронизировать папки

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

Для каждого файла нажимайте значок в столбце *, пока не установите действие для этого файла.

: скопировать выбранный элемент из левой папки в правую. Если такой файл уже существует в нужной папке, он будет перезаписан.

: скопировать выбранный элемент из правой папки в левую. Если такой файл уже существует в левой папке, он будет перезаписан.

: никаких действий выполняться не будет (два файла идентичны).

: никаких действий выполняться не будет (это два разных файла).

: удалить выбранный элемент.

Выполните одно из следующих действий:

Чтобы применить выбранное действие к текущему элементу, нажмите кнопку "Синхронизировать выбранное" на панели инструментов.

Чтобы применить выбранные действия ко всем элементам, нажмите кнопку "Синхронизировать все" на панели инструментов.

Сравнить разные файлы в двух папках

Иногда в одной папке может находиться файл, а в другой папке другой файл с таким же именем (например, VCS_library_1.4 и VCS_library_1.5 ). Это могут быть версии одного и того же файла, который вы хотите сравнить. Также может возникнуть ситуация, когда вы думаете, что файл был переименован, но в остальном он идентичен файлу в другой папке. WebStorm позволяет сравнивать два файла, один из которых находится в правой папке, а другой — в левой, хотя такие файлы рассматриваются как разные объекты.

Это действие доступно только для файлов в папках с одинаковым относительным путем.

Выберите файлы, которые хотите сравнить, на левой и правой панелях.

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

Сравнить любые текстовые источники

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

Нажмите Ctrl+Shift+A и начните вводить текст, чтобы найти действие «Открыть пустое окно различий».

Вставьте любой текст, который вы хотите сравнить, на левой и правой панелях.

Советы по продуктивности

На странице Keymap настроек IDE Ctrl+Alt+S найдите это действие в разделе Системы управления версиями | Сравнение и объединение .

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

TOP 100

Sublimerge добавляет в Sublime Text отсутствующие параллельные сравнения и превращает ваш любимый редактор в профессиональный инструмент сравнения и объединения с потрясающими функциями!

Ваше время — это ваши деньги, так что не тратьте их зря. Забудьте о постоянном переключении на внешние приложения — теперь все это встроено!

Так элегантно! Так гуманно! Мне нравится, что простота дисплея выдает (или, возможно, подразумевает?) утонченность и изобретательность техники. Райан Это одна из тех вещей, пропажу которых я не осознавал, пока не нашел, и я не знаю, как я раньше жил без нее. Дэн Помогает мне просматривать изменения в Sublime Text, а не в отдельном инструменте. Отличная интеграция и заставляет меня двигаться быстро. Коллин Это позволяет проводить частые и чрезвычайно тщательные проверки, делая процесс сравнения простым делом здравого смысла. Райан Мне особенно нравится, что я могу идеально подсвечивать синтаксис при просмотре изменений. Вильям Пользуюсь 5 минут и уже решил купить. Это потрясающе! Уоррен: Было здорово, что разработчик прислушался к моим предложениям по улучшению и учел их в последней версии. Спасибо! Уильям Это делает управление командой разработчиков и слияние веток функций/исправлений для большого сложного приложения ТАК ЛЕГКО! Сэм Сравнение файлов — повседневная задача. Это экономит много времени от переключения на другое программное обеспечение. Dimitris Sublimerge оптимизирует рабочий процесс, так как мне никогда не приходится выходить из Sublime Text :-) William Невероятно полезный инструмент! Так просто в использовании. Так быстро. Так круто! Майк Спасибо за вашу прекрасную программу! Бенджамин

Sublimerge

Текст Diff Минималистичный, но мощный. Параллельное сравнение выполнено правильно, как в Sublime.

Что бы вы ни сравнивали, Sublimerge делает это быстро. Представление различий ясно показывает все различия и выделяет синтаксис сравниваемых файлов. Здесь нет отвлекающих цветов, значков и кнопок. Интерфейс остается понятным, чтобы помочь вам сосредоточиться на различиях. Простые сочетания клавиш позволяют выбирать изменения и перемещаться по ним.

Text Diff

  • Сравнивает редактируемые файлы
  • Сравнивает с содержимым буфера обмена
  • Может сравнивать выбранные фрагменты файлов
  • Обрабатывает различия в пробелах, регистре и CR/LF
  • Выделяет внутристрочные изменения.
  • Создает снимки кода, управляет ими и сравнивает их.
  • Двустороннее сравнение сразу показывает различия.
  • Трехстороннее сравнение поможет вам при объединении файлов.
  • Простая навигация с помощью клавиатуры.
  • Невероятно настраиваемый!

Рядом

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

Читаемый

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

Гибкий

Можно игнорировать различия в пробелах, регистре и CR/LF. Уникальная функция «Разделение отсутствующих блоков» создает больше блоков изменений, чтобы увеличить количество возможных способов объединения файлов.

Различия каталогов Легко сравнивайте вложенные каталоги прямо в Sublime Text.

Sublimerge сравнивает каталоги, углубляясь в иерархию. Когда каталог содержит какие-либо отличия на любом уровне, он помечается как отличающийся. Когда вы найдете различия, вы можете просто клонировать файлы или каталоги с одной стороны на другую. Вы также можете запустить Text Diff для выбранных текстовых файлов.

Directory Diff

  • Сравнить каталоги в параллельном представлении
  • Быстро объединяйте файлы и каталоги
  • Просматривать подкаталоги

Рядом

Читаемый

Красочные контуры и значки на полях четко показывают, какие файлы или каталоги отличаются или отсутствуют.

Системы контроля версий, встроенные функции Git, Subversion и Mercurial.

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

Команды для систем контроля версий

  • Встроенные команды для Git, Subversion и Mercurial
  • С легкостью сравнивайте рабочую копию с версиями
  • Находите различия между любыми версиями
  • Просмотреть, проверить или отменить незафиксированные изменения
  • Ускорьте свой рабочий процесс с помощью специальных сравнений.

Встроенный

Специальных инструментов не требуется. Просто откройте версионный файл, и все команды, связанные с VCS, станут доступны автоматически. Выполняйте свои ежедневные задачи быстро, не выходя из Sublime Text!

Настраиваемый

Ускорьте свой повседневный рабочий процесс с помощью мощной функции пользовательских сравнений. Создавайте собственные команды, связанные с системой контроля версий (и не только), для работы с ревизиями, ветками и т. д.

Интегрируемый

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

Подробнее

Системные требования

Встроенная поддержка

Общие

  • Раздельное представление: рядом друг с другом и с возможностью замены.
  • Избранные алгоритмы двух- и трехстороннего сравнения.
  • Простота использования Простые сочетания клавиш и мыши.
  • Различные выборки в одном файле или в нескольких файлах.
  • Просмотры различий Простое сравнение редактируемых файлов.
  • Поддержка буфера обмена Сравнение с содержимым буфера обмена.
  • Поддержка VCS. Встроенные команды для Git, Subversion и Mercurial.
  • Просмотр несохраненных изменений Быстро отображайте изменения, которые загрязняют ваш файл.
  • Пользовательские сравнения Ускорьте рабочий процесс с помощью настраиваемых команд.
  • Снимки Создавайте снимки кода и сравнивайте их.
  • Высокая производительность Быстрое выполнение работы. Даже с большими файлами.
  • Сравнение каталогов Сравните каталоги и примените изменения.
  • Специфические настройки синтаксиса. Определите разные настройки для разных типов файлов.
  • Интегрируемость. Запускайте из командной строки и интегрируйте с чем угодно.

Уже установлено более чем 163 498 пользователями. Стань следующим!

Читайте также: