Diberikan direktori yang berisi pohon sumber, apakah ada cara sederhana dari command-line untuk mengganti setiap file sumber dengan padanan yang diformat ulang dengan indah?
Perlu diingat bahwa biasanya pohon sumber untuk proyek juga berisi file yang bukan sumber, dan sumbernya sendiri bisa dalam bahasa yang berbeda.
Saya mencari beberapa alat yang mendukung bahasa sebanyak mungkin, karena suatu proyek biasanya mengandung sumber dalam banyak bahasa yang berbeda. Secara khusus, saya akan mencari sesuatu yang mendukung xml / html, javascript, ruby, dan java.
Jawaban:
Anda dapat menggunakan vim dalam mode ex dan command, dari terminal.
Untuk membuat indentasi satu file:
Untuk membuat indentasi file secara rekursif, buat skrip berikut:
indent-with-vim.sh
Sekarang, ketik:
Vim akan melakukan yang terbaik untuk meng-reindent file. Anda dapat meningkatkan beberapa jenis file tertentu.
Untuk XML:
Instal
xmllint
Tambahkan ke.vimrc
Untuk meningkatkan format PHP:
Unduh http://www.vim.org/scripts/download_script.php?src_id=15001 (itu akan mengunduh file bernama php.vim)
Buat direktori berikut di rumah Anda:
~/.vim/indent
Dan salin
php.vim
ke~/.vim/indent
Jika Anda tidak puas dengan hasil untuk jenis file apa pun, Anda dapat mencari alternatif di web (seperti htb untuk HTML, https://github.com/vim-ruby/vim-ruby untuk perbaikan untuk Ruby, dan sebagainya) ).
Apa pun itu, Anda akan menggunakan atau teknik .vimrc atau file indentasi foo.vim untuk meningkatkan indentasi.
Anda juga dapat mengubah parameter temukan untuk diterapkan hanya pada beberapa tipe tertentu, seperti:
sumber
Instal
indent
paket dan kemudian jalankan program pada file.sumber
Tidak gratis, tidak baris perintah, mungkin terlalu rumit, tetapi IntelliJ Idea adalah IDE yang mampu melakukan ini. Saya belum mengujinya dengan java atau ruby, tetapi bekerja cukup baik dengan proyek Django (python + javascript + HTML).
Ini juga memiliki beragam pilihan untuk mengkonfigurasi apa yang harus diformat ulang.
Jika ini adalah masalah satu kali, Anda dapat mengunduh uji coba secara gratis.
Ini tangkapan layar dari opsi format HTML. Ini diambil dari PyCharm (versi terbatas python, tidak ada ruby atau dukungan java di sini) seperti yang saya gunakan, tetapi IntelliJ harus sama tetapi mendukung lebih banyak bahasa.
sumber
Google Java Format
Memformat ulang kode sumber Java untuk mematuhi Google Java Style:
https://github.com/google/google-java-format
Kiat:
--replace
opsi, bersama denganxargs
sponge
sehingga Anda dapat langsung menimpa file inputsumber