Visual Studio Code - есть ли функция сравнения, подобная этому плагину для Notepad ++?


264

Есть ли функция сравнения, такая как плагин для Notepad ++?


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

5
@lasse vscode теперь может сравнивать два произвольных файла. Смотрите мой ответ stackoverflow.com/a/45091703/1081043
wisbucky

Ответы:


101

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


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

382

щелкните правой кнопкой мыши на первом файле и выберите

введите описание изображения здесь

затем щелкните правой кнопкой мыши на втором файле и выберите

введите описание изображения здесь

Screencast:

как сравнить файлы в vscode


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

4
как сравнить два несохраненных вновь созданных файла?
ca9163d9

3
@ dc7a9163d9 таким же образом, щелкните правой кнопкой мыши и выберите для сравнения.
Амр Эдауи

3
@AmrElAdawy Я имел в виду сравнение двух буферов (например, Untitled-1 и Untitled-2, физический файл отсутствует)
ca9163d9

5
@ dc7a9163d9, да, это также так же, как если бы две безымянные имена были сохранены. Поток те же шаги. Я попробовал это, и это сработало.
Амр Эдауи

108

У меня Visual Studio Code версии 1.27.2 и я могу сделать это:

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

  1. Перетащите два файла в код Visual Studio введите описание изображения здесь
  2. Выделите оба файла и выберите « Выбрать для сравнения» в контекстном меню. введите описание изображения здесь
  3. Тогда вы видите разницу введите описание изображения здесь
  4. С помощью Alt+ F5 вы можете перейти к следующему различию введите описание изображения здесь

Сравните два документа или вкладки в памяти

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

  1. Откройте две вкладки, нажав Ctrl+ Nдважды: введите описание изображения здесь
  2. Вставьте ваш первый образец текста из буфера обмена на первую вкладку, а второй образец текста из буфера обмена на вторую вкладку
  3. Выберите первый документ Untitled-1 с помощью Select for Compare : введите описание изображения здесь
  4. Выберите второй документ Untitled-2 с « Сравнить с выбранным» : введите описание изображения здесь
  5. Тогда вы видите разницу: введите описание изображения здесь

Спасибо, сравнить с темой по умолчанию Белая тема лучше, чем темная.
Шайют

Спасибо, это было очень полезно!
user752746

50

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

  • Откройте файл левой стороны (не редактируется)
  • F1 Сравнить активный файл с ...
  • Выберите файл с правой стороны (редактируемый) - вы можете выбрать недавний файл из выпадающего списка или щелкнуть любой файл на панели проводника.

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


1
Знаете ли вы, существует ли способ сделать оба файла редактируемыми в окне сравнения?
Себастьян Верк

Не так далеко, как я знаю. Странно, что вы не можете редактировать оба окна.
Висбуки

Это хорошо. Знаете ли вы автоматический способ сдвинуть различия слева направо? Кроме ручного копирования / вставки?
user1055568

Как выйти сравнить вариант @wisbucky
Gunasekar


17

В вашем терминале введите:

code --diff file1.txt file2.txt

В VS Code откроется вкладка, показывающая различия в двух файлах.


8

Существует плагин, называемый Partial Diff, который помогает сравнивать выделенные тексты в файле, в разных файлах или в буфере обмена.


Я люблю Partial Diff. Выделите какой-нибудь текст, установите его как левый, выберите еще немного, установите его как правый. Вуаля.
Джереми Фостер

Да, я также обнаружил, что Partial Diff очень прост в использовании и очень полезен.
Ноби Фудзиока,

1

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


1

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

Нажмите 2-й файл, нажмите «Сравнить с выбранным»


1

Я нашел самый быстрый для меня поток, сначала связав сочетание клавиш Alt+kс «Сравнить активный файл с ...» ( #a ). (Аналогично ответу Висбуки, но в дальнейшем он улучшился и стал более пошаговым.)

Затем, чтобы сравнить два файла:

  1. Открыть или сфокусировать файл B (по умолчанию будет редактируемым в режиме сравнения). Например, путем перетаскивания из Проводника в центр кода VS.
  2. Открыть или сфокусировать файл A.
  3. Нажмите Alt+k, быстрое открытое меню будет показано с сосредоточенным файлом B.
  4. Нажмите Enter.

Результат: файл A слева и файл B справа. (Проверено на VS Code 1.27.1)

замечания

#a - для этого нажмите, Ctrl-k Ctrl-sчтобы отобразить сочетания клавиш, введите compareтекст в верхнем окне поиска и дважды щелкните столбец «Связывание клавиш» для «Сравнить активный файл с ...», Alt+kзатем нажмите, Enterчтобы назначить его.


0

Если вы хотите сравнить файл в вашем проекте / каталоге с внешним файлом (это, кстати, самый распространенный способ сравнения файлов), вы можете легко перетащить внешний файл на вкладку редактора и просто использовать команду: «Сравнить активный файл с ...» на одном из них, выбрав другой в появившемся окне выбора. Это кажется самым быстрым способом.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.