Bagaimana cara indentasi beberapa baris dalam Xcode?


609

Ketika saya memilih beberapa baris kode dan ingin membuat indentasi seperti biasa dengan TABkunci, itu hanya menghapus semuanya. Saya berasal dari Eclipse di mana saya selalu melakukannya dengan cara itu. Bagaimana itu dilakukan di Xcode? Saya harap tidak baris demi baris;)


146
Saya berharap tombol Tab melakukan ini di Xcode.
devios1

1
Adakah yang tahu jika Anda dapat memetakan kembali kunci tab untuk perilaku ini?
Gerard

1
Ini lucu karena saya cukup yakin saya bisa menggunakan Tab untuk indentasi yang tepat sebelumnya. Hanya satu hari berhenti bekerja ...
dVaffection

Jawaban:


926

Pintasan keyboard adalah + ]untuk indentasi dan + [untuk un-indent.

  • Di jendela preferensi Xcode, klik tombol bilah alat Kunci Pengikat. Bagian Pengikat Kunci adalah tempat Anda menyesuaikan pintasan keyboard.

41
Perhatikan bahwa ini biasanya digunakan untuk mengikat kunci Mac OS X sehingga Anda dapat membuat indentasi menggunakan CMD-] dan CMD- [misalnya, dalam Mail.app.
Gregory Cosmo Haun

8
Beberapa aplikasi yang juga berjalan di OS lain menggunakan TAB dan SHIFT + TAB sebagai gantinya, seperti gerhana dan turunannya
Aram Kocharyan

41
Selain itu, Ctrl + I mengaktifkan kembali seluruh kode Anda di editor aktif berdasarkan preferensi mengedit teks Anda di Xcode.
ozgur

20
Terima kasih atas tipnya - saya tidak tahu itu. Dengan frustrasi, pada keyboard Jerman, tidak ada tombol [atau] - jadi untuk indentasi, Anda harus memegang CMD + ALT + 6 untuk indentasi. Ya Tuhan, kadang-kadang aku merindukan Visual Studio ...
Mike Gledhill

7
Keyboard Prancis seharusnya lebih buruk menurut saya: ctrl + alt + shift + ')'. Empat kunci bodoh untuk membuat indentasi beberapa baris. Itu sama buruknya dengan itu.
Aurelien Ribon

55

Pilih kode Anda untuk dihidupkan kembali, lalu Pergi ke

Editor -> Struktur -> Re-Indent


7
-1: Pertanyaannya adalah bagaimana membuat indentasi satu blok garis, bukan pada bagaimana membuat indentasi secara otomatis oleh XCode. IMHO, ini perbedaan besar.
Anjuran

3
bukan jawaban yang benar, tapi itu pengingat yang berguna!
FredericK

Jangan lupa untuk '⌘ + A' sebelum melakukannya
OhadM

47

+ [dan + ]adalah padanan shift+tabdalam Xcode.


8
Itu berlaku untuk beberapa baris jika Anda memiliki beberapa baris yang dipilih pada saat itu.
Nik

34

Berikut adalah cara pintas, untuk memformat kode dalam XCode

  1. Memformat seluruh kode (seluruh kelas / pengontrol)

    Pilih seluruh kode dan tekan control+ I pada mac untuk memformat kode Anda.

  2. Memformat blok kode tertentu

    Pilih kode dan tekan:

    • + ]untuk gerakan kanan (indentasi)
    • + [untuk gerakan kiri (lepaskan inden)

Catatan: sesuai sugesstion @JavierGiovannini yang dapat Anda lakukan menggunakan opsi Menu Editor

  1. Pilih kode Anda dan arahkan ke Editor> Structure> Re-Indent

3
1. Seharusnya Ctrl + I
JBaczuk

1
Itu adalah ctrl + i !!! Huruf l (huruf kecil L) dan I (huruf besar) terlihat sama! Silakan gunakan huruf kecil. Saya tidak dapat mengedit posting ini karena pembatasan 6-karakter SO yang tidak dapat dijelaskan.
catanore

12

Cara lain untuk memformat ulang indentasi adalah memotong dan menempelkan dengan cepat. + xdan + v. Saya sering menemukannya lebih cepat daripada + [atau + ]karena Anda dapat melakukannya dengan satu tangan (versus dua) dan itu akan memformat ulang ke tingkat inden yang benar dalam satu tembakan.


IMO, Anda harus membandingkannya dengan + Iyang "telah diindentasi secara otomatis oleh XCode", bukan hanya "indent a block of lines".
Franklin Yu

Ini juga berfungsi untuk kita yang tidak bekerja pada keyboard Amerika :)
Christoffer


10

Jika Anda menggunakan sinergi (untuk berbagi satu keyboard untuk dua PC) dan PC (MAC) di mana Anda menggunakan xcode adalah slave, dan master PC adalah Windows PC

pintasan keyboard adalah alt+ ]untuk indentasi dan alt+ [untuk un-indent.

Memperbarui:

Tetapi dari sinergi versi 1.5 berfungsi + [untuk indentasi dan + ]untuk un-indent


7

Di Xcode 9, Anda akhirnya dapat menggunakan Tab dan Shift + Tab untuk membuat indentasi beberapa baris kode. Yay!


3

Pilih "Kunci Tab: Indentasi selalu" di Preferensi-> Penyuntingan Teks-> Indentasi Kemudian Anda dapat membuat indentasi satu baris atau pilihan garis dengan menekan TABatau SHIFT+ TAB Sedihnya, ini menghilangkan kemungkinan untuk menyisipkan tab di tempat yang Anda inginkan, dan bertentangan dengan buruk dengan tombol tab yang digunakan untuk beralih antara "bidang pelengkapan otomatis".

Saya kira kita perlu lebih banyak tombol tab di keyboard, satu saja tidak cukup ...


2

Untuk semua orang Prancis yang menggunakan Xcoder, keybindings default adalah sebagai berikut:

Pilihan indentasi:

+ + +)

Pilihan kosong:

+ + +(


2

Bagi Anda yang menggunakan keyboard Spanyol di mac, ini adalah pintasannya:

+ + [untuk membatalkan indentasi

+ + ]untuk indentasi


2

Cara pintas untuk indentasi ulang adalah: control + i

jalan pintas


Meskipun kami berterima kasih atas jawaban Anda, akan lebih baik jika memberikan nilai tambahan di atas jawaban lainnya. Dalam hal ini, jawaban Anda tidak memberikan nilai tambahan, karena pengguna lain sudah memposting solusi itu. Jika jawaban sebelumnya bermanfaat bagi Anda, Anda harus memilihnya alih-alih mengulangi informasi yang sama.
Toby Speight

Terima kasih, Rob! Sangat membantu.
Felipe

1

di sini semua pintasan penting dari pertanyaan lain dijawab pada stack overflow sini


1

Jika Anda ingin remap standar Xcode ini + [untuk TAB, Anda dapat melakukan hal berikut:

  1. Instal program yang disebut "Karabiner".

  2. Pergi ke Preferensi ~> "Lain-lain dan Hapus Instalasi"

  3. Di bagian "Pengaturan Kustom" klik pada tombol "Buka private.xml"

  4. Buka file dan ganti kontennya dengan kode berikut:

    <?xml version="1.0"?> 
    <root>
        <item>
            <name>Tab instead of Command+[</name>
            <identifier>private.swap_tab_and_cmnd+[</identifier>
            <autogen>
                __KeyToKey__
                KeyCode::TAB, ModifierFlag::NONE,
                KeyCode::BRACKET_RIGHT, ModifierFlag::COMMAND_L | ModifierFlag::NONE
            </autogen>
        </item> 
    </root>
  5. Pergi ke Preferensi ~> "Ubah Kunci" ~> klik tombol "Reload XML"

  6. Beri tanda centang di kotak centang yang disebut "Tab bukan Command + ["

  7. Nikmati

masukkan deskripsi gambar di sini

PS: Harap dicatat bahwa pengaturan ini berfungsi secara global pada mesin Anda, tidak hanya di Xcode. Namun, saya yakin bahwa google dapat membantu Anda menemukan solusi bagaimana menyesuaikannya lebih jauh, menerapkan perubahan hanya pada Xcode.



1

Pada dasarnya [untuk indentasi berganda kiri dan ]indentasi berganda kanan.

Untuk TRKeyboard Anda dapat meninggalkan beberapa indent dengan 8dan beberapa indent kanan dengan 9.Karena kedua 8dan 9merupakan ALTkarakter dari nums.Or ini jika Anda memiliki keyboard yang memiliki [atau ]karakter adalah milik ALT( ) properti sehingga Anda dapat menggunakan KEYBOARD CHARACTER


Terima kasih banyak.
Arpit B Parekh

1

Tombol pintas:

ctrl + i

CATATAN: Silakan pilih kode untuk indentasi ulang dan tekan 'control' dan 'i' pada mac Anda.


0

Karena saya tidak melihat pembaruan untuk pertanyaan ini untuk versi Xcode saat ini, saya pikir saya akan menambahkannya di Xcode 9.3, Tab berfungsi untuk membuat indentasi baris teks yang dipilih serta berpindah dari satu bidang autocomplete ke yang lain .


-1

Di Xcode 4.2 indentasi otomatis cukup bagus. Anda sekarang dapat membuat indentasi pilihan kode dengan menekan tombol Tab. Saya menemukan bahwa Xcode umumnya memformat kode dengan sangat baik secara otomatis, dan Anda jarang harus memindahkan barang-barang di sekitar Anda. Saya merasa lebih cepat untuk memilih sepotong kode, klik kanan dan pilih Struktur -> Indentasi ulang jika beberapa kode terlihat berantakan.


4
saya pikir Anda belum menggunakan editor kode lain kecuali xcode dalam hidup Anda. xCode autoCodeFormatting adalah yang terburuk.
Tambah080bbA

Tidak berfungsi di XCode 8.3. Tidak tahu apakah itu pernah terjadi.
Steve

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.