Sublime Text'deki iki dosyanın içeriğini karşılaştırma


397

Sublime Text 2'nin farklı örneklerinde istediğim sonuca ulaşmak için üzerinde çalıştığım, çok benzer iki açık kaynak projesinin iki klonlanmış depom var. Bu projelerin her ikisinden de kod kullanılmıştır. Git'i projem için sürüm kontrolü olarak kullanıyorum, ancak orijinal projeleri dahil etmedim. Bu nedenle, orijinal projedeki iki dosyanın içeriğini hızlı bir şekilde karşılaştırabilmek ve bunlar ile projem arasındaki farkları karşılaştırmak istiyorum.

Sublime Text 2'nin bir "Dosya Karşılaştır" özelliği olmasını umuyordum, ancak ayarlarda veya çevrimiçi olarak bununla ilgili hiçbir şey bulamıyorum. Bu görevi gerçekleştirmek için üçüncü taraf bir ST2 paketi de iyi çalışır. Böyle bir görev ST2 metin editörü içinde yapılabilir mi?

Yanıtlar:


705

Dosyaları gerçekten Yüce Metin'de doğal olarak karşılaştırabilirsiniz.

  1. Open Folder...Bir projede veya bir projede bunları içeren klasöre gidin
  2. Kenar çubuğunda karşılaştırmak istediğiniz iki dosyayı (yani CtrlWindows veya macOS'ta tutarak ) seçin
  3. Sağ tıklayın ve seçeneği seçin Diff files....


19
@Derek: select'yi seçebiliyor ancak diff dosya seçeneğini sağ tıklamayla bulamıyor, sadece sağ tıklamayla kapat seçeneğini var.
Mohamed Hussain

65
@MohamedHussain Gerçekten iki farklı kenar çubuğu var ve bunun çalışması için doğru yerde olmanız gerekiyor. Dosya> Klasörü Aç ... seçeneğine giderseniz, dosyalarınızın bulunduğu klasörü seçin, ardından Görünüm> Yan Çubuk> Yan Çubuğu Göster'i seçin, ihtiyacınız olanı alırsınız. Görünüm> Kenar Çubuğu> Açık Dosyaları Göster'i seçerek diğerini alırsınız, ancak bu Fark Dosyaları ... seçeneğini kullanmanıza izin vermez.
Jeramy

25
Bu ne yazık ki mac üzerinde yüce yapı 3103 artık çalışmıyor gibi görünüyor. Sağ tıkladığımda ikinci dosya seçili değil,
merlin

8
OSX'te Build 3144'te benim için çalışmıyor. Dosya arayüzünde iki dosya seçebilirim, ancak Ctrl tuşuna basıldığında yalnızca bir dosya seçili ve diff seçeneği yok.
James J

4
3114'te benim için çalışmıyor - pencereler. Dosyalara sağ tıkladığımda fark seçeneği yok.
dangsonbk

216

Yan Yana Karşılaştır en popüler olmasa da benim için en uygun gibi görünüyor:

UPD: Bu eklentinin büyük dosyaları karşılaştırırken ST'yi dondurabileceğini eklemeliyim. Büyük metinleri karşılaştıracaksanız kesinlikle en iyi karar bu değildir.


11
bu en kolay ve en uygun çözüm IMO'sudur. ST3'te iyi çalışıyor
mihai

5
İyi çalışıyor ve yerel karşılaştırmayla yapmayı başaramadığım farklı konumlardan dosyaları karşılaştırabilir.
Leo

3
Bu, bir tutamda kullanışlı olan yeni kaydedilmemiş sekmelerde kopyalanmış içerikle de çalışır.
mtone

1
Keşke bunu daha önce görmüş olsaydım, verimsiz bir günü kurtarmış olsaydım.
0_o

1
Yan Yana Karşılaştır bana sadece yardımcı oldu.
noob

61

Paket Denetimi aracılığıyla bir dizi fark eklentisi vardır. Yeterince iyi çalışan Sublimerge Pro'yu kullandım , ancak ticari bir ürün (sınırsız deneme süresi ile) ve kapalı kaynak, bu yüzden bir şeyi değiştirmek veya sadece iç kısımlarına bakmak istiyorsanız ayarlayamazsınız. FileDiffs , yükleme sayısına göre oldukça popülerdir, bu yüzden bunu denemek isteyebilirsiniz.


2
Şimdi FileDiffs kullanıyorum ve bir cazibe gibi çalışıyor. Teşekkürler, cevap kabul edildi.
LanceLafontaine

1
Ben FileDiffs nasıl kullanılacağını anlayamıyorum. Kısaca iki dosyayı onunla nasıl karşılaştırabileceğimi açıklar mısınız?
Jamil Ahmed

4
@LanceLafontaine Normalde bunu yapmazdım, ama Derek 朕 會 功夫 'in cevabının aşağıdaki kabul edilen cevabını değiştirmeyi düşünür müsünüz? İkimiz de gerçekten noktalara ihtiyacımız yok , ama o zaman yerleşik bir fark olduğunu bilmiyordum. Şimdi her zaman Sublime'de kullanıyorum. Yapmadığım tek zaman, harici bir aracın genişletilmiş özelliklerine ihtiyaç duyduğum zamandır.
MattDMo

Bu eklentilerden hangisi tüm metin bloklarının hareketini algılayabilir? Ve sadece bazı çizgilerin burada eksik olduğunu ve orada göründüğünü söylemekle kalmıyor, aynı zamanda oklarla nasıl hareket ettiklerini de gösteriyor?
skan

Bu cevap sayesinde FileDiffs'i yükledim ve karşılaştırma için TortoiseMerge.exe'yi kullanmak için commad ekledim. Yüce kod karşılaştırmasını her gün kullanmam için büyük bir gelişme oldu. Teşekkürler!
17'de lyubeto

48

GÜNCELLEME
(Upvotes verildiğinde, tam bir adım adım açıklamaya ihtiyaç olduğunu hissediyorum ...)

  1. Menü çubuğunda File->Open Folder...
  2. Bir klasör seçin (asıl klasör gerçekten önemli değil, bu adım sadece FOLDERSkenar çubuğunu kullanılabilir yapmak için )
  3. Henüz hiçbir Yan Çubuk gösterilmiyorsa, View-> Side Bar->Show Side Bar
  4. FOLDERSKarşılaştırmak istediğiniz ilk dosyaya gitmek için bu başlıklı Yan Çubuğu kullanın.
  5. Seçin (tıklayın), ctrl tuşunu basılı tutun ve ikinci dosyayı seçin.
  6. İki dosya seçiliyken, ikisinden birine sağ tıklayın ve Diff Files...

Şimdi karşılaştırmayı gösteren yeni bir Sekme olmalıdır.


Orijinal kısa cevap
:

"Fark dosyaları" sadece "klasörler" kenar çubuğunda (bir klasör açmak için: Dosya-> Klasörü Aç) görünür, "açık dosyalar" kenar çubuğunda değil.


Bu farklı çizgileri seçmenin bir yolu var mı? Biri kırmızı, diğeri yeşil görünür
zeristor

1
Seçimle ne demek istiyorsun? Bunları vurgulayın ve örneğin kopyalayın? Ya da onları çıkarmak? Açıklama için teşekkürler!
langlauf.io

Eksik satırların önüne '-' eklendiğinden birini seçip hepsini eşleştirdim, tüm satırı seçip kopyaladım. Bir şekilde inşa edilmiş bir şey unutmak daha kabartmak olacaktır.
zeristor

5
Bence her iki dosyanın da zor açılamayacağını açıklamaya değer. Her ikisini de açmak için ikisini birden iki kez tıkladıysanız, ctrl düğmesini kullanarak kenar çubuğundaki her iki dosyayı da vurgulayamazsınız. Her iki dosyayı da seçebilmeniz için bunlardan birinin kapalı olduğundan emin olmalısınız. Bunu zaten buldum çünkü zaten her iki dosyayı da açtım ve diff dosyalarını kullanmak istedim ...
Battousai

1
@NaveenDA Kırılan bağlantıyı kaldırabilmek için cevabımı uyarladım. İpucu için teşekkürler!
langlauf.io

25

GÜNCELLEME OCAK 2018 - özellikle Sublime / Mac için

(Bu Marty F'nin cevabına çok benziyor, ancak önceki yanıtlardan gelen bazı sorunları ele alıyor, birkaç farklı öneriyi birleştiriyor ve ilk başta bana sorun veren kritik ayrımı tartışıyor.)

Mac'te Sublime Text 3 (build 3143) kullanıyorum ve bu Dosya Karşılaştırma özelliğini bulmak için yaklaşık 30 dakika boyunca deniyorum. Daha önce Sublime / Mac'te sorunsuz bir şekilde kullanmıştım, ama bu sefer daha zorlayıcıydı. Ama sonunda anladım.

  1. Dosya biçiminin UTF-8 olması gerekmez . UTF-8, ISO-8559-1 ve Windows-1252 olan dosyaları başarıyla karşılaştırdım.

  2. Sublime / Mac'te Dosya> Klasörleri Aç yok . Yukarıdaki talimatların çoğu "Dosya Seç> Klasörleri Aç" ile başlar, ancak bu Sublime / Mac'te mevcut değildir.

  3. Dosya karşılaştırma Proje bazında çalışır . İki dosyayı karşılaştırmak isterseniz, dosyaların diske ve geçerli projenin bir kısmına kaydedilmesi gerekir.

  4. Proje açmanın yolları

    • Sublime / Mac çalışmıyorsa veya çalışıyorsa, ancak hiçbir pencere açık değilse, bir klasörü Sublime uygulamasına sürükleyin.
    • Sublime / Mac çalışıyorsa, select "Dosya> Aç", istediğiniz klasöre gezinme, yok bir dosya veya klasör seçin ve "Aç" a tıklayın.
  5. Bir projeye klasör ekleyin . Karşılaştırmak istediğiniz dosyalar aynı hiyerarşinin bir parçası değilse, önce dosyalardan birini içeren klasörü açın. Ardından, "Proje> Projeye Klasör Ekle" yi seçin, istediğiniz klasöre gidin ve "Aç" ı tıklayın. Artık kenar çubuğunuzda iki kök düzeyinde klasör göreceksiniz.

  6. Kenar Çubuğu görünür olmalıdır . "Görünüm> Yan Çubuk> Yan Çubuğu Göster" veya Komut-K, Komut-B kısayolunu kullanabilirsiniz.

  7. Karşılaştırma yapmak için dosyaların kapatılması (yani kaydedilmesi) gerekir . Yok Yan Bar'da bir dosyayı Tek tıklatarak değil dosyasını açın ama bunu görüntüleniyor. Bir dosyanın açık olup olmadığını, Yan Çubuğun üst kısmındaki "Dosyaları Aç" bölümünde listeleniyorsa anlayabilirsiniz. Bir dosyayı çift tıklamak veya bir dosyada değişiklik yapmak dosyanın durumunu otomatik olarak "Aç" olarak değiştirir. Bu durumda, karşılaştırmayı denemeden önce kapattığınızdan emin olun.

  8. Klasör hiyerarşisinden dosyaları seçin . Burada standart Mac kısayolu, ( tek ) ilk dosyayı tıklatın, ardından ikinci dosyayı Command tuşunu basılı tutarak tıklatın. İlk dosyayı seçtiğinizde, içeriğini görürsünüz, ancak açık değildir. Ardından, ikinci dosyayı Komut tıkladığımda görürsünüz onun içeriğini, ama tekrar ne açıktır. Düzenleme panelinde yalnızca bir sekme göreceksiniz.

  9. Control-click sağ tıklama ile aynı değil . Beni yakalayan buydu. İzleme dörtgenimi kullanıyorum ve genellikle sağ tıklatma veya ikincil tıklatma olarak Control-click'e başvuruyorum. Bu benim için işe yaramıyor . Ancak, izleme dörtgenimi Sistem Tercihleri'nde izleme dörtgenimin sağ alt köşesini sağ tıklama olarak kullanacağımdan beri, bu işe yarar, içerik menüsünü görüntüleyerek "Sil", "Finder'da Göster" ve ... "Fark Dosyaları ..."

Voila Umarım bu birine yardımcı olur.


2
Dosya karşılaştırması yerine klasör karşılaştırması yapmak mümkün müdür?
DCBoy

1
Tanrım! Mac kullanıcılarını yeni kaydettiniz!
analist045

10

GÜNCELLEŞTİRME EKİM 2017 Bu özelliğin Yüce Metin'de olduğunu asla bilmiyordum, ancak arayüz önceki yanıttan biraz değişmiş gibi görünüyor - en azından OS X'te.

  1. Menü Çubuğunda Dosya -> Aç ... 'ı tıklayın.
  2. Karşılaştırılacak dosyaları içeren KLASÖR'e gidin ve KLASÖR seçiliyken, Aç düğmesine tıklayın, bu, KLASÖRLER kenar çubuğunun görünmesini sağlar
  3. FOLDERS kenar çubuğunda, karşılaştırılacak ilk dosyayı tıklayın
  4. Windows'ta Ctrl veya OS X'te ⌘ tuşunu basılı tutun ve ikinci dosyayı tıklayın
  5. Her iki dosya seçiliyken, birine sağ tıklayın ve Fark Dosyaları seçin ...

Bu karşılaştırmayı gösteren yeni bir sekme açar. İlk dosya kırmızı, ikincisi yeşil.


8

Görünüm - Düzen ve Görünüm - Gruplar en son Sublime 3'te yapılacak

Örneğin:

Shift+ Alt+ 2-> 2 sütun oluşturur

Ctrl+ 2-> seçili dosyayı 2. sütuna taşı

Bu yan yana karşılaştırma içindir. Gerçek fark için, daha önce bahsedilen fark fonksiyonu vardır. Ne yazık ki, sütunları aynı anda kaydırmanın bir yolunu bulamıyorum, bu güzel bir özellik olacaktır.


1
Ve bir grubu kapatmak için Ctrl+ K Ctrl+ kullanabilirsinizdown
Alex Raj Kaliamoorthy

2

Kimse Linux hakkında konuşmuyor, ancak yukarıdaki tüm cevaplar işe yarayacak. Birden fazla dosya seçmek için Ctrl tuşunu kullanmanız yeterlidir. Yan yana karşılaştırmak istiyorsanız, Meld güzel.


2

Fark Seçeneği yalnızca dosyalar bir Projenin parçası olan bir klasördeyse görünür.

Daha doğrusu, dosyaları Yüce Metin'de doğal olarak karşılaştırabilirsiniz.

Klasörü Aç ... veya bir projede içeren klasöre gidin Kenar çubuğunda karşılaştırmak istediğiniz iki dosyayı seçin (yani Windows'ta Ctrl veya macOS'ta) tuşunu basılı tutun) Sağ tıklayın ve Diff dosyalarını seçin ... seçeneği.


0

BeyondCompare eklentisi de var. 2 dosyayı bir BeyondComparepencerede açar. Yüce pencereden dosyaları açmak için oldukça uygun.

Sistemde mevcut BC3 kurulumuna ihtiyacınız olacaktır. Eklentiyi yükledikten sonra, yüklemenin yolunu sağlamanız gerekir.

Misal:

{
    //Define a custom path to beyond compare
    "beyond_compare_path": "G:/Softwares/Beyond Compare 3/BCompare.exe"
}
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.