Belirli bir dizindeki tüm kaynak dosyaları nasıl yeniden biçimlendirebilir / yeniden aktarabilirim?


14

Bir kaynak ağacı içeren bir dizin göz önüne alındığında, komut satırından her kaynak dosyasını güzelce yeniden biçimlendirilmiş eşdeğeriyle değiştirmenin basit bir yolu var mı?

Genellikle bir proje için kaynak ağacın kaynak olmayan dosyalar içerdiğini ve kaynakların kendilerinin farklı dillerde olabileceğini unutmayın.

Bir proje genellikle birçok farklı dilde kaynaklar içerdiğinden, olabildiğince çok dili destekleyen bazı araçlar arıyorum. Özellikle, xml / html, javascript, ruby ​​ve java'yı destekleyen bir şey arıyorum.


1
Ve dil ...?
kullanıcı bilinmiyor

2
Stackoverflow'ta benzer Soru-Yanıt: stackoverflow.com/questions/1731357/…
lumbric

Yanıtlar:


7

Vim'yi ex ve komut modunda terminalden kullanabilirsiniz.

Tek bir dosyayı girintilemek için:

vim -c "normal gg=G" -e <file-to-indent> <<'EOF'
:wq
EOF

Dosyaları özyinelemeli olarak girintili yapmak için aşağıdaki komut dosyasını oluşturun:

indent-with-vim.sh

vim -c "normal gg=G" -e $1 <<'EOF'
:wq
EOF

Şimdi şunu yazın:

$ chmod u+x indent-with-vim.sh
$ find . | xargs -I {} ./indent-with-vim.sh {}

Vim dosyaları yeniden canlandırmak için elinden geleni yapacaktır. Bazı belirli dosya türlerini iyileştirebilirsiniz.

XML için:

  • Yükle xmllint Ekle.vimrc

    au FileType xml setlocal equalprg=xmllint\ --format\ --recover\ -\ 2>/dev/null
    

PHP biçimlendirmesini geliştirmek için:

Http://www.vim.org/scripts/download_script.php?src_id=15001 (php.vim adlı bir dosya indirilir) dosyasını indirin

Evinizde aşağıdaki dizinleri oluşturun:

~/.vim/indent

Ve şuraya kopyala php.vim:~/.vim/indent

Herhangi bir dosya türünün sonucundan memnun değilseniz, web'de alternatifler arayabilirsiniz (HTML için htb, Ruby için geliştirmeler için https://github.com/vim-ruby/vim-ruby ve benzeri) ).

Her iki durumda da, girintiyi artırmak için veya .vimrc tekniğini veya foo.vim girinti dosyasını kullanırsınız.

Ayrıca, find parametrelerini yalnızca belirli türlere uygulanacak şekilde değiştirebilirsiniz, örneğin:

find . -iname "*.html" -or -iname "*.xml"


0

Serbest değil, komut satırı değil, büyük olasılıkla çok karmaşık, ancak IntelliJ Idea bunu yapabilen bir IDE. Java veya ruby ​​ile test etmedim, ancak bir django projesi (python + javascript + HTML) ile oldukça güzel çalışıyor.

Ayrıca, neyi yeniden biçimlendireceğinizi yapılandırmak için oldukça geniş bir seçenek yelpazesine sahiptir.

Bu bir defalık bir sorunsa, ücretsiz deneme sürümünü indirebilirsiniz.

Bu, HTML formatı seçeneklerinin ekran görüntüsüdür. PyCharm'dan (python sınırlı sürümü, burada yakut veya java desteği yok) kullandığım gibi, ancak IntelliJ aynı olmalı ancak daha fazla dili desteklemelidir.

resim açıklamasını buraya girin


0

Google Java Biçimi

Google kaynak stiline uyması için Java kaynak kodunu yeniden biçimlendirir:

https://github.com/google/google-java-format

wget https://github.com/google/google-java-format/releases/download/google-java-format-1.5/google-java-format-1.5-all-deps.jar
java -jar google-java-format-1.5-all-deps.jar /path/to/MyClass.java

İpuçları:

  • Birden çok dosyada yapmak için --replaceseçeneği ile birlikte kullanın.xargs
  • spongeGiriş dosyasının üzerine doğrudan yazı yazabilmek için kullanın
  • Aynı yeniden biçimlendirmeyi gerçekleştirmek için bir Eclipse ve IntelliJ eklentisi var
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.