Xcode'da sondaki boşlukları kırpın


Yanıtlar:


22

Bir komut dosyası oluşturabilir ve bunu bir klavye kısayoluna bağlayabilirsiniz:

  • Komut Dosyaları Menüsü> Kullanıcı Komut Dosyalarını Düzenle ... öğesini seçin .
  • + Düğmesine basın ve Yeni Kabuk Komut Dosyası'nı seçin
  • "Strip Trailing Spaces" gibi bir ad verin ve itR gibi bir kısayol verin.
  • Girişi "Seçim" olarak ve Çıkışı "Seçimi Değiştir" olarak ayarlayın

Ardından aşağıdaki komut dosyasını girin:

#!/usr/bin/perl

while (<>) {
    s/\s+$//;
    print "$_\n";
}

9
Ah, evet, çok basit ... Teşekkürler. Bunu dosya kaydetme ile ilişkilendirmenin bir yolu var mı?
Alexander Gladysh

Tüm bir dosya üzerinde çalışmak için (ki muhtemelen bunu yapmak isteyebilirsiniz), Giriş'i "Belgenin Tamamı" ve Çıktı'yı "Belge İçeriğini Değiştir" olarak ayarlayın. Ancak bu, imleci dosyanın altında bırakır.
SMBiggs

8
Bu cevap, Xcode 4.4 itibariyle kullanılmamaktadır. Martin Stolz'un cevabına bakın.
Basil Bourque

242

Xcode 4.4'ten başlayarak beyaz boşluklar, satırın tamamı beyaz boşluk değilse, varsayılan olarak otomatik olarak kırpılacaktır. Including whitespace-only linesVarsayılan olarak etkin olmayan bunu düzeltmek için de etkinleştirebilirsiniz .

Git Xcode > Preferences > Text Editing > While editing

Xcode tercihleri ​​ekran görüntüsü


15
Bu ayar, yalnızca imleç o satırdan ayrıldıktan sonra satırın sonundaki beyaz boşluğu kırpar. Dolayısıyla, kaydettikten sonra imleç o satırdaysa, sonunda bir satır boşluk olan bir dosyayı kaydetmenize izin verir.
ma11hew28

7
Neden bu varsayılan değil? Sonunda boşluk bulunan bir dosyanız varsa, tümünü işaretleyin, kesin, kaydedin, yapıştırın, kaydedin.
friederbluemle

Bu, bu cevapta hacky script çözümünü geçersiz kılmalıdır.
Urda

7
Bu + ctrl-i'nın tüm mevcut dosyalarda kullanılması, sondaki beyaz boşlukları
halleder

24

Mac Xcode Eklentisi için Google Araç Kutusu'nu kullanıyorum, kaydetme sırasında sondaki beyaz boşluğu kesen bir "Kaydederken beyaz boşluğu düzelt" parametresi ekler. Bunu emacs'tan çok özledim.


1
Ben de bu eklentiyi kullanıyorum. Ne diyorsa onu yapıyor.
Nathan

Mükemmel olurdu, maalesef şu anda Xcode 4 üzerinde çalışmıyor :(
deepwell

6
Artık bazı temel Xcode 4 desteğimiz var. Yeni eklentimize
dmaclach

1
"Kaydederken beyaz boşluğu düzelt" parametresini nerede bulabilirim?
jhasse

Sonunda GTM'yi Xcode 4.3.2 üzerinde çalıştırmayı başardım, ancak GTM wiki'deki yükleme talimatları geçersiz görünüyordu. .Xcplugin'i içine yerleştirmek yerine ( ~/Library/Application Support/Developer/Shared/Xcode/Plug-insGoogle'ın talimatlarına göre) onu yerleştirip Xcode'u /Applications/Xcode.app/Contents/PlugInsyeniden başlatmam gerekti.
Kristofer Sommestad

3

Xcode 8 için swimat'ı kurdum Swift kodunu biçimlendirmek Xcode eklentisini eklenti tüm takip eden boşlukları ve yalnızca boşluk içeren satırları kaldırmıştır.

Kurulum Yöntemleri

  1. Homebrew-fıçı ile yükleyin:

    brew cask install swimat
  2. Uygulamayı doğrudan indirin:
    https://github.com/Jintin/Swimat/releases/download/v1.3.5/Swimat.zip

  3. extensionDal ve arşivi Mac Uygulamasına klonlayın .

Kullanım

Kurulduktan sonra, Swimat'ı Xcode'da çalıştırabilirsiniz Editor -> Swimat -> Format.


bu araç boş satırları kaldırmaz.
Mehdico

1

Bu, Xcode 3.2'de mümkün değildir

Düzenle:

Bu soruyu çok kısaca cevapladım çünkü bunu düzgün yapmanın bir yolu yok .

Tabii ki, yazılım olduğu için her şeyi yapabilirsiniz: Giriş Yöneticisi hack'lerinden veya sistem genelinde klavye müdahalesine kod enjeksiyonunun diğer yollarından başlayarak, yerel sisteminizi istediğiniz zaman herhangi bir şey yapacak şekilde değiştirebilirsiniz. Kaynak kodu dosyalarınızı izlemek için bir Applescript klasörü eylemi (arrgh) kurabilir veya bir başlatma iblisi ve FSEvents tesisini kullanabilirsiniz.

Ayrıca Xcode'a birkaç komut dosyası da ekleyebilirsiniz (menüdeki kullanıcı komut dosyaları, hedeflerdeki komut dosyası aşamaları, düzenleyicideki özel Eylemler, çok bilinmeyen bir olasılık bile bir başlangıç ​​komut dosyası), ancak tüm bu çözümler kusurludur, çünkü kullanıcının makinesinde kullanıcı veya özel kurulum.

SCM'den bir projeyi kontrol ettikten sonra çalışan bir çözümün farkında değilim. Bunun ve benzer özelleştirme komut dosyalarına ihtiyaç olduğuna inanıyorum, bu yüzden bir hata bildirdim (radar 7203835, "Özellik: Xcode iş akışında daha fazla kullanıcı komut dosyası tetikleyicisi"). Henüz herhangi bir geri bildirim almadım.

İşte radar girişinin tam metni:

Xcode'da betikleri çalıştırmak için daha fazla yere sahip olmak faydalı olacaktır.

Örnekler:

  1. Ön derleme betikleri
    Ön derleme betikleri, * .xcconfig dosyaları veya config.h başlıkları gibi önkoşullar oluşturmak için kullanılabilir. Bağımlılık izleme herhangi bir oluşturma aşaması tetiklenmeden önce gerçekleştiğinden, "Komut Dosyası Oluşturma aşamalarını Çalıştır" ile bu mümkün değildir.

  2. Derleme sonrası betikleri
    Yukarıdakine benzer, ancak derleme bittikten sonra çalışır (kod imzalama vb. Dahil). Ek paketleme, geçerlilik kontrolü vb. İçin kullanışlıdır.

  3. SCM Commit betikleri Öncesi / Sonrası.
    Proje bütünlüğünü kontrol etmek için.

  4. Öncesi / Sonrası Dosya Kaydetme Komut Dosyası.
    Kaydetmeden önce bir dosyayı kontrol etmek / değiştirmek için. Örneğin, cody güzelleştiricileri çalıştırın

  5. Özel proje eylemleri.
    Organizatörün keyfi eylemleri tanımlama yeteneğinin farkındayım. Ancak bu, kullanıcı başına bir özelliktir (projenin bir parçası değildir). Yapı menüsünde görünen ve bir projenin parçası olan derleme veya temizleme gibi eylemleri tanımlamak istiyorum.


Bu durumda geçici çözümlerin neden tatmin edici olmadığını yanıtlamak için düzenlendi
Nikolai Ruhe

2
Teşekkürler. Bunu doğru şekilde yapmaktan yanayken, çok fazla müdahaleci olmayan herhangi bir hack'e razı olurum. Bu ekstra beyaz boşluklar gerçekten can sıkıcı.
Alexander Gladysh


0

Komut dosyaları, bilgisayar korsanları ve daha fazlasını kullanmadan en iyi ve kolay yol. Komut dosyalarını, korsanları ve daha fazlasını kullanmadan en iyi ve kolay yolu Bul ve Değiştir'e gidin. Sadece Bul ve Değiştir'e gidin ve "alt / seçenek + boşluk" tuşuna basın ve değiştir çubuğundaki "boşluk" düğmesine basın ve ardından tümünü değiştir'e tıklayın. Beyaz boşlukları normal boşluklarla değiştirecek ve uyarı / hata ortadan kalkacak !!


1
Bu, yalnızca soruda istendiği gibi sondaki boşlukları mı kaldırır ?
Blastfurnace
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.