EnglishFrenchSpanyol

Jalankan pelayan | Ubuntu > | Fedora > |


Favicon OnWorks

indent - Dalam talian dalam Awan

Jalankan inden dalam penyedia pengehosan percuma OnWorks melalui Ubuntu Online, Fedora Online, emulator dalam talian Windows atau emulator dalam talian MAC OS

Ini ialah inden arahan yang boleh dijalankan dalam penyedia pengehosan percuma OnWorks menggunakan salah satu daripada berbilang stesen kerja dalam talian percuma kami seperti Ubuntu Online, Fedora Online, emulator dalam talian Windows atau emulator dalam talian MAC OS.

JADUAL:

NAMA


indent - menukar rupa program C dengan memasukkan atau memadam ruang putih.

SINOPSIS


inden [pilihan] [fail input]

inden [pilihan] [fail-masukan tunggal] [-o fail keluaran]

inden --versi

DESCRIPTION


Halaman manusia ini dihasilkan daripada fail indent.texinfo. Ini adalah Edisi "The inden
Manual", untuk Versi Indent , dikemas kini terakhir .

. inden atur cara boleh digunakan untuk menjadikan kod lebih mudah dibaca. Ia juga boleh menukar daripada satu
gaya penulisan C kepada yang lain.

inden memahami sejumlah besar tentang sintaks C, tetapi ia juga cuba untuk
mengatasi sintaks yang tidak lengkap dan salah bentuk.

Dalam versi 1.2 dan versi yang lebih terkini, gaya inden GNU ialah lalai.

PILIHAN


-buruk, --garis-kosong-selepas-pengisytiharan
Paksa baris kosong selepas pengisytiharan.
Lihat BLANK TALIAN.

-bap, --garis-kosong-selepas-prosedur
Paksa garisan kosong selepas badan prosedur.
Lihat BLANK TALIAN.

-bbb, --baris-kosong-sebelum-sekat-komen
Paksa baris kosong sebelum sekat ulasan.
Lihat BLANK TALIAN.

-bbo, --break-before-boolean-operator
Lebih suka memutuskan baris panjang sebelum pengendali boolean.
Lihat BREAKING LONG TALIAN.

-bc, --garis-kosong-selepas-koma
Paksa baris baharu selepas koma dalam pengisytiharan.
Lihat PENGAKUAN.

-bl, --braces-selepas-jika-line
Letakkan pendakap pada baris selepas if, Dll
Lihat Pernyataan.

-blf, --braces-after-func-def-line
Letakkan pendakap pada baris berikut garis definisi fungsi.
Lihat PENGAKUAN.

-blin, --pendkap-indenn
pendakap inden n ruang.
Lihat Pernyataan.

-bls, --braces-after-struct-decl-line
Letakkan pendakap pada garisan selepas itu struktur baris pengisytiharan.
Lihat PENGAKUAN.

-br, --pendakap-pada-jika-line
Letakkan pendakap sejajar dengan if, Dll
Lihat Pernyataan.

-brf, --braces-on-func-def-line
Letakkan pendakap pada baris definisi fungsi.
Lihat PENGAKUAN.

-brs, --braces-on-struct-decl-line
Pakai pendakap gigi struktur baris pengisytiharan.
Lihat PENGAKUAN.

-bs, --Bill-Shannon, --kosong-sebelum-saiz
Letakkan ruang antara saiz dan hujahnya.
Lihat Pernyataan.

-cn, --komen-lekukann
Letakkan ulasan di sebelah kanan kod dalam lajur n.
Lihat KOMENTAR.

-cbin, --case-brace-indentationn
Inden pendakap selepas label kes N ruang.
Lihat Pernyataan.

-cdn, --kolum-komen-pengisytiharann
Letakkan ulasan di sebelah kanan pengisytiharan dalam lajur n.
Lihat KOMENTAR.

-cdb, --komen-pembatas-di-baris-kosong
Letakkan pembatas ulasan pada baris kosong.
Lihat KOMENTAR.

-cdw, --peluk-buat-sambil
Peluk sambil do {} sementara; dan sebelum '}'.
Lihat KOMENTAR.

-ini, --peluk-lain
Peluk lain dan sebelum '}'.
Lihat KOMENTAR.

-inin, --sambungan-lekukann
Inden sambungan daripada n ruang.
Lihat Pernyataan.

-clin, --lekukan kesn
Inden label kes daripada n ruang.
Lihat Pernyataan.

-cpn, --lain-endif-lajurn
Letakkan ulasan di sebelah kanan #selamat dan #endif kenyataan dalam lajur n.
Lihat KOMENTAR.

-cs, --ruang-selepas-buang
Letakkan ruang selepas operator cast.
Lihat Pernyataan.

-dn, --line-komen-lekukann
Tetapkan lekukan ulasan bukan di sebelah kanan kod ke n ruang.
Lihat KOMENTAR.

-bfda, --break-function-decl-args
Putuskan baris sebelum semua hujah dalam pengisytiharan.
Lihat PENGAKUAN.

-bfde, --break-function-decl-args-end
Putuskan baris selepas hujah terakhir dalam pengisytiharan.
Lihat PENGAKUAN.

-dj, --left-justify-deklarasi
Jika -cd 0 digunakan maka komen selepas pengisytiharan dibiarkan dibenarkan di belakang
pengisytiharan.
Lihat PENGAKUAN.

-dun, --pengisytiharan-lekukann
Letakkan pembolehubah dalam lajur n.
Lihat PENGAKUAN.

-fc1, --format-kolum-pertama-komen
Formatkan ulasan dalam lajur pertama.
Lihat KOMENTAR.

-fca, --format-semua-komen
Jangan lumpuhkan semua pemformatan ulasan.
Lihat KOMENTAR.

-gnu, --gaya-gnu
Gunakan gaya pengekodan GNU. Ini adalah lalai.
Lihat SEMUA ORANG GAYA.

-hnl, --penghormatan-baris baharu
Lebih suka memutuskan baris panjang pada kedudukan baris baharu dalam input.
Lihat BREAKING LONG TALIAN.

-in, --peringkat-indentn
Tetapkan tahap lekukan kepada n ruang.
Lihat INDENTASI.

-dian, --label-indenn
Tetapkan offset untuk label kepada lajur n.
Lihat INDENTASI.

-ipn, --parameter-lekukann
Inden jenis parameter dalam definisi fungsi gaya lama oleh n ruang.
Lihat INDENTASI.

-kr, --k-dan-r-gaya
Gunakan gaya pengekodan Kernighan & Ritchie.
Lihat SEMUA ORANG GAYA.

-ln, --panjang-garisn
Tetapkan panjang baris maksimum untuk baris bukan ulasan n.
Lihat BREAKING LONG TALIAN.

-lcn, --panjang-baris-komenn
Tetapkan panjang baris maksimum untuk pemformatan ulasan n.
Lihat KOMENTAR.

-linux, --gaya linux
Gunakan gaya pengekodan Linux.
Lihat SEMUA ORANG GAYA.

-lp, --sambung-di-tanda kurung
Selaraskan baris yang berterusan pada kurungan.
Lihat INDENTASI.

-lps, --tinggalkan-prapemproses-ruang
Tinggalkan ruang antara '#' dan arahan prapemproses.
Lihat INDENTASI.

-nbad, --tiada-garis-kosong-selepas-pengisytiharan
Jangan paksa baris kosong selepas pengisytiharan.
Lihat BLANK TALIAN.

-nbap, --tiada-garis-kosong-selepas-prosedur
Jangan paksa garisan kosong selepas badan prosedur.
Lihat BLANK TALIAN.

-nbbo, --break-after-boolean-operator
Jangan memilih untuk memutuskan baris panjang sebelum pengendali boolean.
Lihat BREAKING LONG TALIAN.

-nbc, --tiada-garis-kosong-selepas-koma
Jangan paksa baris baharu selepas koma dalam pengisytiharan.
Lihat PENGAKUAN.

-nbfda, --dont-break-function-decl-args
Jangan letakkan setiap hujah dalam pengisytiharan fungsi pada baris yang berasingan.
Lihat PENGAKUAN.

-ncdb, --tiada-pembatas-komen-pada-baris-kosong
Jangan letakkan pembatas ulasan pada baris kosong.
Lihat KOMENTAR.

-ncdw, --jangan-peluk-buat-sambil-sambil
Jangan peluk } dan juga manakala a do {} sementara;.
Lihat Pernyataan.

-nce, --jangan-peluk-lain
Jangan peluk } dan lagi.
Lihat Pernyataan.

-ncs, --tiada-ruang-selepas-buang
Jangan letakkan ruang selepas operator cast.
Lihat Pernyataan.

-ndjn, --jangan-kiri-justify-deklarasi
Komen selepas pengisytiharan dianggap sama seperti ulasan selepas kenyataan lain.
Lihat PENGAKUAN.

-nfc1, --jangan-format-kolum-pertama-komen
Jangan format ulasan dalam lajur pertama seperti biasa.
Lihat KOMENTAR.

-nfca, --jangan format-komen
Jangan format sebarang komen.
Lihat KOMENTAR.

-nhnl, --abaikan-baris baharu
Jangan memilih untuk memutuskan baris panjang pada kedudukan baris baharu dalam input.
Lihat BREAKING LONG TALIAN.

-nip, --tiada-parameter-lekukan
Lekukan lebar sifar untuk parameter.
Lihat INDENTASI.

-nlp, --jangan-baris-kurungan
Jangan membariskan kurungan.
Lihat Pernyataan.

-npcs, --tiada-ruang-selepas-fungsi-nama-panggilan
Jangan letak ruang selepas fungsi dalam panggilan fungsi.
Lihat Pernyataan.

-nprs, --tiada-ruang-selepas-tanda kurung
Jangan letakkan ruang selepas setiap '(' dan sebelum setiap ')'.
Lihat Pernyataan.

-npsl, --jangan-break-procedure-type
Letakkan jenis prosedur pada baris yang sama dengan namanya.
Lihat PENGAKUAN.

-nsaf, --tiada-ruang-selepas-untuk
Jangan letak ruang selepas setiap untuk.
Lihat Pernyataan.

-nsai, --tiada-ruang-selepas-jika
Jangan letak ruang selepas setiap if.
Lihat Pernyataan.

-nsaw, --tiada-ruang-selepas-sementara
Jangan letak ruang selepas setiap manakala.
Lihat Pernyataan.

-nsc, --jangan-bintang-komen
Jangan letakkan aksara '*' di sebelah kiri ulasan.
Lihat KOMENTAR.

-nsob, --tinggalkan-pilihan-garis-kosong
Jangan telan garis kosong pilihan.
Lihat BLANK TALIAN.

-nss, --jangan-ruang-khas-titik bertitik
Jangan paksa ruang sebelum koma bertitik selepas pernyataan tertentu. Lumpuhkan '-ss'.
Lihat Pernyataan.

-kacang, --tiada-tab
Gunakan ruang dan bukannya tab.
Lihat INDENTASI.

-nv, --tidak bertele-tele
Lumpuhkan mod verbose.
Lihat PELBAGAI PILIHAN.

-asal, --asli
Gunakan gaya pengekodan Berkeley asal.
Lihat SEMUA ORANG GAYA.

-npro, --abaikan-profil
Jangan baca fail '.indent.pro'.
Lihat MENYERU INDEN.

-pcs, --ruang-selepas-prosedur-panggilan
Masukkan ruang antara nama prosedur yang dipanggil dan '('.
Lihat Pernyataan.

-pin, --induk-lekukann
Nyatakan lekukan tambahan bagi setiap kurungan terbuka '(' apabila pernyataan dipecahkan.Lihat
Pernyataan.

-pmt, --pelihara-mtime
Kekalkan masa akses dan pengubahsuaian pada fail output. Lihat PELBAGAI PILIHAN.

-ppin, --prapemproses-lekukann
Nyatakan lekukan untuk pernyataan bersyarat prapemproses. Lihat INDENTASI.

-prs, --ruang-selepas-kurungan
Letakkan ruang selepas setiap '(' dan sebelum setiap ')'.
Lihat Pernyataan.

-psl, --procnames-start-lines
Letakkan jenis prosedur pada baris sebelum namanya.
Lihat PENGAKUAN.

-saf, --ruang-selepas-untuk
Letakkan ruang selepas setiap satu untuk.
Lihat Pernyataan.

-sai, --ruang-selepas-jika
Letakkan ruang selepas setiap satu if.
Lihat Pernyataan.

-melihat, --ruang-selepas-sementara
Letakkan ruang selepas setiap satu manakala.
Lihat Pernyataan.

-sbin, --struct-brace-indentationn
Pendakap inden bagi ruang struct, kesatuan atau enum N.
Lihat Pernyataan.

-sc, --mula-sebelah-kiri-komen
Letakkan aksara '*' di sebelah kiri ulasan.
Lihat KOMENTAR.

-sebak, --telan-pilihan-garis-kosong
Telan garis kosong pilihan.
Lihat BLANK TALIAN.

-ss, --ruang-khas-titik bertitik
Pada satu baris untuk dan manakala penyataan, paksa kosong sebelum koma bertitik.
Lihat Pernyataan.

-st, --standard-output
Tulis kepada output standard.
Lihat MENYERU INDEN.

-T Beritahu inden nama nama taip.
Lihat PENGAKUAN.

-tsn, --saiz tabn
Tetapkan saiz tab kepada n ruang.
Lihat INDENTASI.

-tetapi, --use-tabs
Gunakan tab. Ini adalah lalai.
Lihat INDENTASI.

-v, --verbose
Dayakan mod verbose.
Lihat PELBAGAI PILIHAN.

-turun
Keluarkan nombor versi inden.
Lihat PELBAGAI PILIHAN.

MENYERU INDEN


Pada versi 1.3, format bagi inden perintah ialah:

inden [pilihan] [fail input]

inden [pilihan] [fail input tunggal] [-o fail keluaran]

Format ini berbeza daripada versi terdahulu dan versi lain inden.

Dalam bentuk pertama, satu atau lebih fail input ditentukan. inden membuat salinan sandaran
setiap fail, dan fail asal digantikan dengan versi indennya. Lihat BACKUP FILES,
untuk penjelasan tentang cara sandaran dibuat.

Dalam bentuk kedua, hanya satu fail input ditentukan. Dalam kes ini, atau apabila standard
input digunakan, anda boleh menentukan fail output selepas pilihan '-o'.

Untuk membuat inden untuk menulis ke output standard, gunakan pilihan '-st'. Ini hanya dibenarkan
apabila terdapat hanya satu fail input, atau apabila input standard digunakan.

Jika tiada fail input dinamakan, input standard dibaca untuk input. Juga, jika nama fail
bernama '-' ditentukan, maka input standard dibaca.

Sebagai contoh, setiap arahan berikut akan memasukkan program 'slithy_toves.c' dan
tulis teks indennya ke 'slithy_toves.out':

indent slithy_toves.c -o slithy_toves.out

indent -st slithy_toves.c > slithy_toves.out

kucing slithy_toves.c | indent -o slithy_toves.out

Kebanyakan pilihan lain untuk inden mengawal cara program diformatkan. Mulai versi 1.2,
inden juga mengenali nama panjang untuk setiap nama pilihan. Pilihan panjang diawali dengan
sama ada '--' atau '+'. [ '+' digantikan dengan '--' untuk mengekalkan konsistensi dengan
standard POSIX.]
Dalam kebanyakan dokumen ini, nama pendek tradisional digunakan untuk kepentingan ringkas.
Lihat OPTION RINGKASAN, untuk senarai pilihan, termasuk kedua-dua nama panjang dan pendek.

Berikut adalah contoh lain:

ujian indent -br/metabolisme.c -l85

Ini akan inden program 'test/metabolism.c' menggunakan pilihan '-br' dan '-l85', tulis
output kembali ke 'test/metabolism.c', dan tulis kandungan asal
'test/metabolism.c' ke fail sandaran dalam direktori 'test'.

Seruan setara menggunakan nama pilihan panjang untuk contoh ini ialah:

indent --braces-on-if-line --line-length185 test/metabolism.c

indent +pendakap-pada-jika-garis +panjang-garis185 ujian/metabolisme.c

Jika anda mendapati bahawa anda sering menggunakan inden dengan pilihan yang sama, anda boleh meletakkan pilihan tersebut
ke dalam fail bernama '.indent.pro'. inden akan mencari fail profil di tiga tempat.
Mula-mula ia akan menyemak pembolehubah persekitaran INDENT_PROFILE. Jika itu wujud nilainya ialah
dijangka menamakan fail yang akan digunakan. Jika pembolehubah persekitaran tidak wujud,
indent mencari '.indent.pro' dalam direktori semasa
dan gunakan itu jika dijumpai. Akhirnya inden akan mencari direktori rumah anda untuk '.indent.pro'
dan gunakan fail itu jika ia ditemui. Tingkah laku ini berbeza daripada versi lain
of inden, yang memuatkan kedua-dua fail jika kedua-duanya wujud.

Format '.indent.pro' hanyalah senarai pilihan, sama seperti yang akan dipaparkan pada
baris arahan, dipisahkan oleh ruang putih (tab, ruang dan baris baharu). Pilihan dalam
'.indent.pro' mungkin dikelilingi oleh ulasan C atau C++, dalam hal ini mereka diabaikan.

Suis baris arahan dikendalikan selepas memproses '.indent.pro'. Pilihan ditentukan kemudian
mengatasi argumen yang dinyatakan sebelum ini, dengan satu pengecualian: Pilihan yang dinyatakan secara eksplisit
sentiasa mengatasi pilihan latar belakang (Lihat SEMUA ORANG GAYA). Anda boleh mencegah inden dari
membaca fail '.indent.pro' dengan menyatakan pilihan '-npro'.

BACKUP FILES


Pada versi 1.3, GNU inden membuat fail sandaran gaya GNU, dengan cara yang sama GNU Emacs lakukan.
Ini bermaksud sama ada mudah or bernombor nama fail sandaran boleh dibuat.

Nama fail sandaran mudah dijana dengan menambahkan akhiran pada nama fail asal.
Lalai untuk akhiran ini ialah rentetan satu aksara '~' (tilde). Oleh itu, sandaran
fail untuk 'python.c' ialah 'python.c~'.

Daripada lalai, anda boleh menentukan sebarang rentetan sebagai akhiran dengan menetapkan persekitaran
berubah-ubah SIMPLE_BACKUP_SUFFIX kepada akhiran pilihan anda.

Versi sandaran bernombor bagi fail 'momeraths.c' kelihatan seperti 'momeraths.c.~23~', dengan 23 ialah
versi sandaran khusus ini. Apabila membuat sandaran bernombor fail
'src/momeraths.c', fail sandaran akan dinamakan 'src/momeraths.c.~V~', di mana V adalah satu
lebih besar daripada versi tertinggi yang sedia ada dalam direktori 'src'. The
pembolehubah persekitaran VERSION_WIDTH mengawal bilangan digit, menggunakan padding sifar kiri
apabila perlu. Sebagai contoh, menetapkan pembolehubah ini kepada "2" akan membawa kepada fail sandaran
dinamakan 'momeraths.c.~04~'.

Jenis fail sandaran yang dibuat dikawal oleh nilai pembolehubah persekitaran
VERSION_CONTROL. Jika ia adalah rentetan 'mudah', maka hanya sandaran mudah akan dibuat. Jika
nilainya ialah rentetan 'bernombor', maka sandaran bernombor akan dibuat. Jika nilainya ialah
'numbered-existing', maka sandaran bernombor akan dibuat jika ada sudah wujud bernombor
sandaran untuk fail yang diinden; jika tidak, sandaran mudah dibuat. Jika
VERSION_CONTROL tidak ditetapkan, maka inden menganggap tingkah laku 'bernombor-wujud'.

Versi lain daripada inden gunakan akhiran '.BAK' dalam menamakan fail sandaran. Tingkah laku ini boleh
dicontohi dengan menetapkan SIMPLE_BACKUP_SUFFIX kepada '.BAK'.

Perhatikan juga bahawa versi lain bagi inden buat sandaran dalam direktori semasa, bukannya
dalam direktori fail sumber sebagai GNU inden sekarang tidak.

SEMUA ORANG GAYA


Terdapat beberapa gaya biasa kod C, termasuk gaya GNU, Kernighan &
Gaya Ritchie, dan gaya asal Berkeley. Gaya boleh dipilih dengan satu
latar belakang pilihan, yang menentukan satu set nilai untuk semua pilihan lain. Walau bagaimanapun,
pilihan yang dinyatakan secara eksplisit sentiasa mengatasi pilihan yang tersirat oleh pilihan latar belakang.

Mulai versi 1.2, gaya lalai GNU inden ialah gaya GNU. Oleh itu, ia tidak
lagi diperlukan untuk menentukan pilihan '-gnu' untuk mendapatkan format ini, walaupun berbuat demikian
tidak akan menyebabkan kesilapan. Tetapan pilihan yang sepadan dengan gaya GNU ialah:

-nbad -bap -nbc -bbo -bl -bli2 -bls -ncdb -nce -cp1 -cs -di2
-ndj -nfc1 -nfca -hnl -i2 -ip5 -lp -pcs -nprs -psl -saf -sai
-saw -nsc -nsob

Gaya pengekodan GNU adalah yang diutamakan oleh projek GNU. Ia adalah gaya yang GNU
Mod Emacs C menggalakkan dan yang digunakan dalam bahagian C GNU Emacs. (Orang ramai
berminat untuk menulis program untuk Projek GNU harus mendapatkan salinan "The GNU Coding
Standards", yang turut merangkumi isu semantik dan mudah alih seperti penggunaan memori, the
saiz integer, dsb.)

Gaya Kernighan & Ritchie digunakan di seluruh buku terkenal mereka "The C Programming
Bahasa". Ia didayakan dengan pilihan '-kr'. Gaya Kernighan & Ritchie
sepadan dengan set pilihan berikut:

-nbad -bap -bbo -nbc -br -brs -c33 -cd33 -ncdb -ce -ci4 -cli0
-cp33 -cs -d0 -di1 -nfc1 -nfca -hnl -i4 -ip0 -l75 -lp -npcs
-nprs -npsl -saf -sai -saw -nsc -nsob -nss

Gaya Kernighan & Ritchie tidak meletakkan ulasan di sebelah kanan kod dalam lajur yang sama di
sepanjang masa (ia juga tidak menggunakan hanya satu ruang di sebelah kanan kod), jadi untuk gaya ini
inden telah memilih lajur 33 secara sewenang-wenangnya.

Gaya Berkeley asal inden boleh diperolehi dengan menyatakan '-orig' (atau dengan
menyatakan '--original', menggunakan nama pilihan panjang). Gaya ini bersamaan dengan
tetapan berikut:

-nbad -nbap -bbo -bc -br -brs -c33 -cd33 -cdb -ce -ci4 -cli0
-cp33 -di16 -fc1 -fca -hnl -i4 -ip4 -l75 -lp -npcs -nprs -psl
-saf -sai -saw -sc -nsob -nss -ts8

Gaya Linux digunakan dalam kod dan pemacu kernel linux. Kod umumnya perlu diikuti
gaya pengekodan Linux untuk diterima. Gaya ini bersamaan dengan yang berikut
tetapan:

-nbad -bap -nbc -bbo -hnl -br -brs -c33 -cd33 -ncdb -ce -ci4
-cli0 -d0 -di1 -nfc1 -i8 -ip0 -l80 -lp -npcs -nprs -npsl -sai
-saf -saw -ncs -nsc -sob -nfca -cp33 -ss -ts8 -il1

BLANK TALIAN


Pelbagai gaya pengaturcaraan menggunakan baris kosong di tempat yang berbeza. inden mempunyai sejumlah
pilihan untuk memasukkan atau memadam baris kosong di tempat tertentu.

Pilihan '-buruk' menyebabkan inden untuk memaksa baris kosong selepas setiap blok pengisytiharan.
Pilihan '-nbad' menyebabkan inden untuk tidak memaksa baris kosong tersebut.

Pilihan '-bap' memaksa baris kosong selepas setiap badan prosedur. Pilihan '-nbap'
tidak memaksa garis kosong tersebut.

Pilihan '-bbb' memaksa baris kosong sebelum setiap komen berkotak (Lihat KOMENTAR.) Yang
Pilihan '-nbbb' tidak memaksa baris kosong tersebut.

Pilihan '-sob' menyebabkan inden untuk menelan baris kosong pilihan (iaitu, sebarang pilihan
garisan kosong yang terdapat dalam input akan dikeluarkan daripada output). Jika '-nsob' ialah
ditentukan, mana-mana baris kosong yang terdapat dalam fail input akan disalin ke fail output.

--garis-kosong-selepas-pengisytiharan


Pilihan '-bad' memaksa baris kosong selepas setiap blok pengisytiharan. '-nbad'
pilihan tidak menambah sebarang baris kosong tersebut.

Sebagai contoh, diberikan input
char *foo;
char *bar;
/* Ini memisahkan blok pengisytiharan. */
int baz;

inden -buruk menghasilkan

char *foo;
char *bar;

/* Ini memisahkan blok pengisytiharan. */
int baz;

dan inden -nbad menghasilkan

char *foo;
char *bar;
/* Ini memisahkan blok pengisytiharan. */
int baz;

--garis-kosong-selepas-prosedur


Pilihan '-bap' memaksa baris kosong selepas setiap badan prosedur.

Sebagai contoh, diberikan input

int
foo ()
{
meletakkan("Hai");
}
/* Bar prosedur lebih kurang menarik. */
char *
bar ()
{
meletakkan("Hello");
}

inden -bap menghasilkan

int
foo ()
{
meletakkan ("Hai");
}

/* Bar prosedur lebih kurang menarik. */
char *
bar ()
{
meletakkan ("Hello");
}

dan inden -nbap menghasilkan

int
foo ()
{
meletakkan ("Hai");
}
/* Bar prosedur lebih kurang menarik. */
char *
bar ()
{
meletakkan ("Hello");
}

Tiada baris kosong akan ditambah selepas prosedur foo.

KOMENTAR


inden memformat kedua-dua komen C dan C++. Komen C dimulakan dengan '/*', ditamatkan dengan
'*/' dan mungkin mengandungi aksara baris baharu. Komen C++ bermula dengan pembatas '//' dan
tamat di baris baharu.

inden mengendalikan komen secara berbeza bergantung pada konteksnya. inden cubaan untuk
membezakan antara ulasan yang mengikuti pernyataan, ulasan yang mengikuti pengisytiharan,
komen berikut arahan prapemproses, dan komen yang tidak didahului oleh kod
apa-apa jenis, iaitu, mereka memulakan teks baris (walaupun tidak semestinya dalam lajur 1).

inden seterusnya membezakan antara ulasan yang terdapat di luar prosedur dan agregat,
dan yang terdapat di dalamnya. Khususnya, ulasan memulakan baris yang ditemui dalam a
prosedur akan diindenkan pada lajur di mana kod sedang diinden. The
pengecualian kepada ini ialah ulasan yang bermula di lajur paling kiri; komen sedemikian adalah output
di ruangan itu.

inden percubaan untuk pergi berkotak comments tidak diubah suai. Idea umum ulasan sedemikian ialah
bahawa ia disertakan dalam segi empat tepat atau ''kotak'' bintang atau sempang untuk membezakannya secara visual.
Lebih tepat lagi, komen berkotak ditakrifkan sebagai komen di mana '/*' awalan diikuti
serta-merta dengan aksara '*', '=', '_', atau '-', atau aksara yang permulaannya
pembatas ulasan ('/*') berada pada baris dengan sendirinya, dan baris berikut bermula dengan '*'
dalam lajur yang sama dengan bintang pembatas pembukaan.

Contoh komen berkotak adalah:

/************************
* Komen dalam kotak!! *
***********************/

/*
* Jenis bauan yang berbeza,
* untuk jenis komen yang berbeza.
*/

inden cuba untuk meninggalkan komen berkotak tepat seperti yang ditemui dalam fail sumber.
Oleh itu, lekukan ulasan tidak berubah, dan panjangnya tidak ditandakan dalam mana-mana
cara. Satu-satunya perubahan yang dibuat ialah aksara tab terbenam boleh ditukar menjadi
bilangan ruang yang sesuai.

Jika pilihan '-bbb' ditentukan, semua komen berkotak tersebut akan didahului dengan kosong
baris, melainkan komen sedemikian didahului oleh kod.

Komen yang bukan ulasan berkotak boleh diformat, yang bermaksud bahawa baris itu
dipecahkan untuk dimuatkan dalam jidar kanan dan diisi kiri dengan ruang putih. Barisan baharu tunggal ialah
bersamaan dengan ruang, tetapi baris kosong (dua atau lebih baris baharu berturut-turut) diambil bermaksud
pecahan perenggan. Pemformatan ulasan yang bermula selepas lajur pertama didayakan
dengan pilihan '-fca'. Untuk memformat yang bermula dalam lajur satu, nyatakan '-fc1'. begitu
pemformatan dilumpuhkan secara lalai.

Jidar kanan untuk pemformatan lalai kepada 78, tetapi boleh ditukar dengan pilihan '-lc'.
Jika margin yang dinyatakan tidak membenarkan ulasan dicetak, margin akan menjadi
dilanjutkan secara automatik untuk tempoh ulasan itu. Margin tidak dihormati jika
ulasan tidak diformatkan.

Jika komen memulakan baris (iaitu, tiada teks program di sebelah kirinya), ia akan menjadi
diinden pada lajur yang ditemui melainkan ulasan itu berada dalam blok kod. Dalam
dalam kes itu, ulasan sedemikian akan diselaraskan dengan kod inden blok itu (melainkan
ulasan bermula di lajur pertama). Penjajaran ini mungkin dipengaruhi oleh pilihan '-d',
yang menyatakan amaun yang mana komen tersebut dipindahkan ke kiri, atau tanpa inden.
Sebagai contoh, '-d2' meletakkan ulasan dua ruang di sebelah kiri kod. Secara lalai, komen
diselaraskan dengan kod, melainkan ia bermula dalam lajur pertama, dalam hal ini ia ditinggalkan
di sana secara lalai --- untuk menjadikannya sejajar dengan kod, nyatakan '-fc1'.

Komen di sebelah kanan kod akan dipaparkan secara lalai dalam lajur 33. Ini boleh diubah
dengan satu daripada tiga pilihan. '-c' akan menentukan lajur untuk komen berikut kod,
'-cd' menentukan lajur untuk komen selepas pengisytiharan, dan '-cp' menentukan
lajur untuk ulasan berikutan arahan prapemproses #selamat dan #endif. '-dj' bersama
dengan '-cd0' boleh digunakan untuk menyekat penjajaran ulasan di sebelah kanan pengisytiharan,
menyebabkan ulasan mengikuti satu hentian tab dari penghujung pengisytiharan. Biasanya '-cd0'
menyebabkan '-c' menjadi berkesan.

Jika kod di sebelah kiri ulasan melebihi lajur permulaan, lajur ulasan
akan dilanjutkan ke lajur hentian tab seterusnya melepasi penghujung kod, atau dalam kes
arahan prapemproses, ke satu ruang melepasi hujung arahan. Sambungan ini berlangsung
hanya untuk output komen tertentu itu.

Pilihan '-cdb' meletakkan pembatas ulasan pada baris kosong. Oleh itu, satu baris
komen suka /* Loving memeluk */ boleh diubah menjadi:

/*
Pelukan kasih sayang
*/

Bintang boleh diletakkan pada permulaan komen berbilang baris dengan pilihan '-sc'. Oleh itu,
komen satu baris di atas boleh diubah (dengan '-cdb -sc') menjadi:

/*
* Pelukan kasih sayang
*/

Pernyataan


Pilihan '-br' atau '-bl' menentukan cara memformat pendakap.

Pilihan '-br' memformat pernyataan pendakap seperti ini:

jika (x > 0) {
x--;
}

Pilihan '-bl' memformatkannya seperti ini:

jika (x > 0)
{
x--;
}

Jika anda menggunakan pilihan '-bl', anda juga mungkin mahu menentukan pilihan '-bli'. Pilihan ini
menentukan bilangan ruang di mana pendakap diinden. '-bli2', lalai, memberikan
keputusan yang ditunjukkan di atas. '-bli0' menghasilkan yang berikut:

jika (x > 0)
{
x--;
}

Jika anda menggunakan pilihan '-br', anda mungkin mahu juga menggunakan pilihan '-ce'. ini
menyebabkannya lagi dalam binaan if-then-else untuk berpelukan dengan yang sebelumnya
'}'. Sebagai contoh, dengan '-br -ce' anda mendapat yang berikut:

jika (x > 0) {
x--;
} Lain {
fprintf (stderr, "...ada yang salah?\n");
}

Dengan '-br -nce' kod itu akan muncul sebagai

jika (x > 0) {
x--;
}
lain {
fprintf (stderr, "...ada yang salah?\n");
}

Ini menyebabkan manakala dalam gelung do-while untuk memeluk '}' sebelum ini.
Sebagai contoh, dengan '-cdw' anda mendapat yang berikut:

buat {
x--;
} manakala (x);

Dengan '-ncdw' kod itu akan muncul sebagai

buat {
x--;
}
manakala (x);

Pilihan '-cli' menentukan bilangan ruang yang label kes harus diindenkan
hak yang mengandungi bertukar kenyataan.

Lalai memberikan kod seperti:

suis (i)
{
kes 0:
memecahkan;
kes 1:
{
++i;
}
lalai:
memecahkan;
}

Menggunakan '-cli2' yang akan menjadi:

suis (i)
{
kes 0:
memecahkan;
kes 1:
{
++i;
}
lalai:
memecahkan;
}

Lekukan pendakap di bawah pernyataan kes boleh dikawal dengan '-cbin'
pilihan. Sebagai contoh, menggunakan '-cli2 -cbi0' menghasilkan:

suis (i)
{
kes 0:
memecahkan;
kes 1:
{
++i;
}
lalai:
memecahkan;
}

Jika koma bertitik berada pada baris yang sama dengan a untuk or manakala kenyataan, pilihan '-ss' akan
menyebabkan ruang diletakkan sebelum koma bertitik. Ini menekankan titik bertitik, menjadikannya
jelas bahawa badan itu untuk or manakala pernyataan adalah pernyataan kosong. '-nss' dilumpuhkan
ciri ini.

Pilihan '-pcs' menyebabkan ruang diletakkan di antara nama prosedur
dipanggil dan '(' (contohnya, meletakkan ("Hai");. Pilihan '-npcs' akan memberi
meletakkan("Hai");).

Jika pilihan '-cs' ditentukan, inden meletakkan ruang antara operator cast dan
objek yang hendak dilemparkan. '-ncs' memastikan tiada ruang antara operator cast dan
objek itu. Ingat itu inden hanya tahu tentang jenis data C standard dan tidak boleh
mengenali jenis yang ditentukan pengguna dalam pelakon. Justeru (jenis saya) perkara tidak dianggap sebagai pelakon.

Pilihan '-bs' memastikan terdapat ruang antara kata kunci saiz dan yang
hujah. Dalam sesetengah versi, ini dikenali sebagai pilihan 'Bill_Shannon'.

Pilihan '-saf' memaksa ruang antara a untuk dan kurungan berikut. Ini adalah
lalai.

Pilihan '-sai' memaksa ruang antara a if dan kurungan berikut. Ini adalah
lalai.

Pilihan '-saw' memaksa ruang antara a manakala dan kurungan berikut. Ini adalah
lalai.

Pilihan '-prs' menyebabkan semua kurungan dipisahkan dengan ruang daripada apa sahaja
antara mereka. Sebagai contoh, menggunakan '-prs' menghasilkan kod seperti:

manakala ( ( e_code - s_code ) < ( dec_ind - 1 ) )
{
set_buf_break ( bb_dec_ind );
*e_code++ = ' ';
}

PENGAKUAN


Secara lalai inden akan membariskan pengecam, dalam lajur yang ditentukan oleh pilihan '-di'.
Sebagai contoh, '-di16' menjadikan perkara kelihatan seperti:

int foo;
char *bar;

Menggunakan nilai kecil (seperti satu atau dua) untuk pilihan '-di' boleh digunakan untuk menyebabkan
pengecam untuk diletakkan pada kedudukan pertama yang tersedia; sebagai contoh:

int foo;
char *bar;

Nilai yang diberikan kepada pilihan '-di' masih akan mempengaruhi pembolehubah yang diletakkan secara berasingan
baris daripada jenisnya, contohnya '-di2' akan membawa kepada:

int
foo;

Jika pilihan '-bc' ditentukan, baris baharu dipaksa selepas setiap koma dalam pengisytiharan.
Sebagai contoh,

int a,
b,
c;

Dengan pilihan '-nbc' ini akan kelihatan seperti

int a, b, c;

Pilihan '-bfda' menyebabkan baris baharu dipaksa selepas koma yang memisahkan hujah
daripada pengisytiharan fungsi. Argumen akan muncul pada satu tahap inden lebih dalam daripada
pengisytiharan fungsi. Ini amat berguna untuk fungsi dengan hujah yang panjang
senarai. Pilihan '-bfde' menyebabkan baris baharu dipaksa sebelum kurungan penutup
pengisytiharan fungsi. Untuk kedua-dua pilihan tetapan 'n' ialah lalai: -nbdfa dan -nbdfe.

Sebagai contoh,

void foo (int arg1, char arg2, int *arg3, long arg4, char arg5);
Dengan pilihan '-bfda' ini akan kelihatan seperti

void foo (
int arg1,
char arg2,
int *arg3,
arg4 panjang,
char arg5);

Dengan, sebagai tambahan, pilihan '-bfde' ini akan kelihatan seperti ini

void foo (
int arg1,
char arg2,
int *arg3,
arg4 panjang,
char arg5
);

Pilihan '-psl' menyebabkan jenis prosedur yang ditakrifkan diletakkan pada baris
sebelum nama prosedur. Gaya ini diperlukan untuk etags program untuk bekerja
dengan betul, serta beberapa daripadanya mod c fungsi Emacs.

Anda mesti menggunakan pilihan '-T' untuk memberitahu inden nama semua nama taip dalam program anda
yang ditakrifkan oleh mesin taip. '-T' boleh dinyatakan lebih daripada sekali, dan semua nama
ditentukan digunakan. Sebagai contoh, jika program anda mengandungi

typedef tidak ditandatangani CODE_ADDR panjang;
typedef enum {merah, biru, hijau} WARNA;

anda akan menggunakan pilihan '-T CODE_ADDR -T COLOR'.

Pilihan '-brs' atau '-bls' menentukan cara memformat pendakap dalam pengisytiharan struct. The
Format pilihan '-brs' pendakap seperti ini:

struct foo {
int x;
};

Pilihan '-bls' memformatkannya seperti ini:

struct foo
{
int x;
};

Begitu juga dengan pilihan pendakap struktur '-brs' dan '-bls',
pilihan pendakap fungsi '-brf' atau '-blf' menentukan cara memformat pendakap dalam fungsi
takrifan. Pilihan '-brf' memformat pendakap seperti ini:

int one(void) {
1 kembali;
};

Pilihan '-blf' memformatkannya seperti ini:

int satu (tidak sah)
{
1 kembali;
};

INDENTASI


Satu isu dalam pemformatan kod ialah sejauh mana setiap baris harus diinden dari kiri
margin. Apabila permulaan pernyataan seperti if or untuk ditemui, iaitu
tahap lekukan dinaikkan dengan nilai yang ditentukan oleh pilihan '-i'. Sebagai contoh,
gunakan '-i8' untuk menentukan lekukan lapan aksara untuk setiap tahap. Apabila satu kenyataan adalah
dipecahkan merentasi dua baris, baris kedua diinden oleh beberapa ruang tambahan
ditentukan oleh pilihan '-ci'. '-ci' lalai kepada 0. Walau bagaimanapun, jika pilihan '-lp' ialah
ditentukan, dan baris mempunyai kurungan kiri yang tidak ditutup pada baris itu, kemudian
baris kesinambungan akan dibariskan untuk bermula pada kedudukan aksara selepas sebelah kiri
kurungan. Pemprosesan ini juga digunakan pada '[' dan digunakan pada '{' apabila ia berlaku dalam
senarai permulaan. Sebagai contoh, sekeping kod yang berterusan mungkin kelihatan seperti ini dengan
'-nlp -ci3' berkuat kuasa:

p1 = prosedur_pertama (prosedur_kedua (p2, p3),
ketiga_prosedur (p4, p5));

Dengan '-lp' berlaku, kod kelihatan lebih jelas:

p1 = prosedur_pertama (prosedur_kedua (p2, p3),
ketiga_prosedur (p4, p5));

Apabila pernyataan dipecahkan di antara dua atau lebih pasangan induk (...), setiap pasangan tambahan
menyebabkan lekukan tambahan tahap lekukan:

jika ((((i < 2 &&
k > 0) || p == 0) &&
q == 1) ||
n = 0)

Pilihan '-ipN' boleh digunakan untuk menetapkan offset tambahan bagi setiap paren. Sebagai contoh, '-ip0'
akan memformat di atas sebagai:

jika ((((i < 2 &&
k > 0) || p == 0) &&
q == 1) ||
n = 0)

inden menganggap bahawa tab diletakkan pada selang masa yang tetap bagi kedua-dua input dan output
aliran watak. Selang ini secara lalai mempunyai lebar 8 lajur, tetapi (setakat versi 1.2)
boleh diubah dengan pilihan '-ts'. Tab dianggap sebagai bilangan ruang yang setara.

Lekukan pengisytiharan jenis dalam definisi fungsi gaya lama dikawal oleh
parameter '-ip'. Ini ialah parameter berangka yang menyatakan bilangan ruang untuk mengenden
jenis pengisytiharan. Sebagai contoh, '-ip5' lalai membuat definisi kelihatan seperti ini:

char *
create_world (x, y, skala)
int x;
int y;
skala apungan;
{
. . .
}

Untuk keserasian dengan versi inden lain, pilihan '-nip' disediakan, iaitu
bersamaan dengan '-ip0'.

ANSI C membenarkan ruang putih diletakkan pada baris arahan prapemproses antara aksara
'#' dan nama arahan. Secara lalai, inden mengalih keluar ruang ini, tetapi menyatakan
Pilihan '-lps' mengarahkan inden untuk membiarkan ruang ini tidak diubah suai. Pilihan '-ppi' mengatasi
'-nlps' dan '-lps'.

Pilihan ini boleh digunakan untuk meminta kenyataan bersyarat prapemproses boleh
diindenkan oleh bilangan ruang yang diberikan, contohnya dengan pilihan '-ppi 3'

#jika X
#jika Y
#define Z 1
#selamat
#define Z 0
#endif
#endif
menjadi
#jika X
# jika Y
# takrifkan Z 1
# lain
# takrifkan Z 0
# endif
#endif

Pilihan ini menetapkan offset di mana label (kecuali label kes) akan diletakkan. Jika
ia ditetapkan kepada sifar atau nombor positif, ini menunjukkan jarak dari jidar kiri ke
inden label. Jika ia ditetapkan kepada nombor negatif, ini menunjukkan sejauh mana ke belakang dari
tahap inden semasa untuk meletakkan label. Tetapan lalai ialah -2 yang sepadan dengan
tingkah laku versi inden terdahulu. Ambil perhatian bahawa parameter ini tidak menjejaskan
meletakkan label kes; lihat parameter '-cli' untuk itu. Contohnya dengan pilihan
'-il 1'

kumpulan
fungsi()
{
if (do_stuff1() == RALAT)
goto cleanup1;

if (do_stuff2() == RALAT)
goto cleanup2;

kembali BERJAYA;

pembersihan2:
do_cleanup2();

pembersihan1:
do_cleanup1();

kembali RALAT;
}
menjadi
kumpulan
fungsi()
{
if (do_stuff1() == RALAT)
goto cleanup1;

if (do_stuff2() == RALAT)
goto cleanup2;

kembali BERJAYA;

pembersihan2:
do_cleanup2();

pembersihan1:
do_cleanup1();

kembali RALAT;
}

BREAKING LONG TALIAN


Dengan pilihan '-ln', atau '--garis-panjangn', adalah mungkin untuk menentukan panjang maksimum
baris kod C, tidak termasuk kemungkinan komen yang mengikutinya.

Apabila garisan menjadi lebih panjang daripada panjang baris yang ditentukan, GNU inden cuba memecahkan
garisan di tempat yang logik. Ini baharu pada versi 2.1 walau bagaimanapun dan tidak begitu pintar
atau fleksibel lagi.

Pada masa ini terdapat dua pilihan yang membolehkan seseorang mengganggu algoritma itu
menentukan tempat untuk memutuskan garisan.

Pilihan '-bbo' menyebabkan GNU inden untuk memilih untuk memecahkan baris panjang sebelum boolean
pengendali && dan ||. Pilihan '-nbbo' menyebabkan GNU inden tidak mempunyai keutamaan itu. Untuk
contoh, pilihan lalai '-bbo' (bersama-sama dengan '--line-length60' dan '--ignore-
newlines') menjadikan kod kelihatan seperti ini:

jika (topeng
&& ((topeng[0] == '\0')
|| (topeng[1] == '\0'
&& ((topeng[0] == '0') || (topeng[0] == '*')))))

Menggunakan pilihan '-nbbo' akan menjadikannya kelihatan seperti ini:

jika (topeng &&
((topeng[0] == '\0') ||
(topeng[1] == '\0' &&
((topeng[0] == '0') || (topeng[0] == '*')))))

'-hnl' lalai, walau bagaimanapun, memberi penghormatan kepada baris baharu dalam fail input dengan memberikan mereka yang tertinggi
keutamaan yang mungkin untuk memutuskan baris di. Sebagai contoh, apabila fail input kelihatan seperti ini:

jika (topeng
&& ((topeng[0] == '\0')
|| (topeng[1] == '\0' && ((topeng[0] == '0') || (topeng[0] == '*')))))

kemudian menggunakan pilihan '-hnl', atau '--honour-newlines', bersama-sama dengan yang sebelumnya
menyebut '-nbbo' dan '--line-length60', akan menyebabkan output tidak seperti yang diberikan dalam
contoh terakhir tetapi sebaliknya akan memilih untuk memecahkan pada kedudukan di mana kod itu berada
rosak dalam fail input:

jika (topeng
&& ((topeng[0] == '\0')
|| (topeng[1] == '\0' &&
((topeng[0] == '0') || (topeng[0] == '*')))))

Idea di sebalik pilihan ini ialah garisan yang terlalu panjang, tetapi sudah terputus,
tidak akan disentuh oleh GNU inden. Kod yang benar-benar tidak kemas harus dijalankan inden at
sekurang-kurangnya sekali menggunakan pilihan '--ignore-newlines' walaupun.

MENYOKUSKAN MEMformat


Pemformatan kod C mungkin dilumpuhkan untuk bahagian program dengan membenamkan khas
kawalan comments dalam program tersebut. Untuk mematikan pemformatan untuk bahagian program, letakkan
ulasan kawalan melumpuhkan /* *INDENT-OFF* */ pada baris dengan sendirinya sebelum itu
bahagian. Teks program yang diimbas selepas ulasan kawalan ini dikeluarkan dengan tepat sebagai input
tanpa pengubahsuaian sehingga komen pemboleh yang sepadan diimbas pada baris oleh
sendiri. Komen kawalan melumpuhkan ialah /* *INDENT-ON* */, dan mana-mana teks yang mengikuti
komen pada baris juga output tidak diformat. Pemformatan bermula semula dengan input
baris berikutan ulasan kawalan yang membolehkan.

Lebih tepat, inden tidak cuba untuk mengesahkan pembatas penutup (*/) untuk C ini
komen, dan mana-mana ruang putih pada baris adalah benar-benar telus.

Komen kawalan ini juga berfungsi dalam format C++ mereka, iaitu // *INDENT-OFF* dan //
*INDENT-ON*.

Perlu diingatkan bahawa keadaan dalaman inden kekal tidak berubah sepanjang tempoh
bahagian yang tidak diformat. Oleh itu, sebagai contoh, mematikan pemformatan di tengah-tengah a
fungsi dan meneruskannya selepas tamat fungsi boleh membawa kepada hasil yang pelik. Ia
Oleh itu adalah bijak untuk menjadi agak modular dalam memilih kod untuk dibiarkan tidak diformat.

Sebagai catatan sejarah, beberapa versi terdahulu inden menghasilkan mesej ralat bermula
dengan *INDENT**. Versi ini inden telah ditulis untuk mengabaikan sebarang baris teks input
yang bermula dengan mesej ralat sedemikian. Saya telah mengalih keluar ciri sumbang mahram ini daripada GNU
inden.

PELBAGAI PILIHAN


Untuk mengetahui versi apa inden anda ada, gunakan arahan inden -turun. Ini akan
laporkan nombor versi inden, tanpa melakukan sebarang pemprosesan biasa.

Pilihan '-v' boleh digunakan untuk menghidupkan mod verbose. Apabila dalam mod verbose, inden laporan
apabila ia membelah satu baris input kepada dua lagi baris output, dan memberikan beberapa saiz
statistik semasa selesai.

Pilihan '-pmt' menyebabkan inden untuk mengekalkan masa akses dan pengubahsuaian pada
fail keluaran. Menggunakan pilihan ini mempunyai kelebihan yang menjalankan inden pada semua sumber dan
fail pengepala dalam projek tidak akan menyebabkan membuat untuk membina semula semua sasaran. Pilihan ini hanya
tersedia pada Sistem Pengendalian yang mempunyai POSIX utime(2) fungsi.

Gunakan inden dalam talian menggunakan perkhidmatan onworks.net


Ad


Ad