ChatGPT解决这个技术问题 Extra ChatGPT

How can I indent multiple lines in Xcode?

When I select multiple lines of code and want to indent them as usual with TAB key, it just deletes them all. I come from Eclipse where I always did it that way. How's that done in Xcode? I hope not line by line ;)

I wish the Tab key did this in Xcode.
Anyone know if you can remap the tab key to this behaviour?
It's funny because I'm pretty sure I was able to use Tab for right indent before. It just one day stopped working...

A
Abizern

The keyboard shortcuts are ⌘+] for indent and ⌘+[ for un-indent.

In Xcode's preferences window, click the Key Bindings toolbar button. The Key Bindings section is where you customize keyboard shortcuts.


Note that these are commonly used Mac OS X key bindings thus you can indent using CMD-] and CMD-[ in, for example, Mail.app.
Some apps that also run on other OSs use TAB and SHIFT+TAB instead, like eclipse and any derivatives
Additionally, Ctrl + I reindents your entire code in the active editor based on your text-editing preferences in Xcode.
Thanks for that tip - I didn't know that. Frustratingly, on German keyboards, there is no [ or ] key - so to indent, you actually have to hold CMD+ALT+6 to indent. God, I miss Visual Studio sometimes...
French keyboards should be the worse I think: ctrl+alt+shift+')'. Four stupid keys to indent a few lines. That's just as bad as it can be.
P
Praveenkumar

Select your code to reindent, then Go to

Editor -> Structure -> Re-Indent


-1: The question was how to indent a block of lines, not on how to have it indented automatically by XCode. IMHO, this is a big difference.
not the correct answer, but it's a useful reminder anyway!
Don't forget to '⌘ + A' before doing it
P
Praveenkumar

⌘ + [ and ⌘ + ] are the equivalents to shift+tab in Xcode.


It does apply to multiple lines if you have multiple lines selected at the time.
C
Community

Here are the shortcuts, to format the code in XCode

Format entire code (entire class/controller) Select the entire code and press control+I on mac to format your code. Format particular block of code Select the code and press: ⌘+] for right move (indent) ⌘+[ for left move (un-indent)

Note: as per @JavierGiovannini sugesstion you can do using Editor Menu option

Select your code and navigate to Editor > Structure > Re-Indent


1. It should be Ctrl + I
It is ctrl + i !!! The letters l (lowercase L) and I (uppercase i) look equal! Please use lowercase. I'm unable to edit this post due to SO's inexplicable 6-chars restriction.
C
Chowdhury Md Rajib Sarwar

First, select all code using command+a

Second, hold key ctr and then press i

the whole selected code will nicely indent.


J
Joel

Another way to quickly reformat indenting is a quick cut and paste. ⌘+x and ⌘+v. I often find it faster than ⌘+[ or ⌘+] as you can do it with one hand (versus two) and it will reformat to the correct indent level in one shot.


IMO, you should compare it to +I which "has it indented automatically by XCode", not just "indent a block of lines".
This also works for us that does not work on an american keyboard :)
A
Aashish

Multiline Indentation Shortcut key:

ctrl + i

NOTE: Please select codes to Re-indent and press 'control' and 'i' on your mac.


M
MaxEcho

If you use synergy (to share one keyboard for two PCs) and PC(MAC) in which you are using xcode is slave, and master PC is Windows PC

keyboard shortcuts are alt+] for indent and alt+[ for un-indent.

Update:

But from synergy version 1.5 working ⌘+[ for indent and ⌘+] for un-indent


p
phatmann

In Xcode 9, you can finally use Tab and Shift+Tab to indent multiple lines of code. Yay!


h
hariseldon78

Select "Tab key: Indents always" in Preferences->Text Editing->Indentation Then you can indent a single line or a selection of lines by pressing TAB or SHIFT+TAB Sadly this removes altogether the possibility to insert tabs where you want, and conflict badly with the tab key being used to switch between "autocompletion fields".

I guess we need more tab keys in the keyboard, one is not enough...


C
Community

To all frenchs Xcoders around, the default keybindings are as follow :

Indent selection:

⇧ + ⌘ + ⌥ + )

Unindent selection:

⇧ + ⌘ + ⌥ + (


J
Jorge Casariego

For those of you with Spanish keyboard on mac this are the shortcuts:

⌘ + ⌥ + [ for un-indent

⌘ + ⌥ + ] for indent


A
Ali Raza

For code indentation first select the lines of code then press:

command + alt + [

command + alt + ]


M
Mostafa Sultan

https://i.stack.imgur.com/W2Xbg.png


O
OlDor

If you want to remap the standard Xcode's ⌘+[ to TAB, you can do the following:

Install a program called "Karabiner". Go to Preferences ~> "Misc and Uninstall" In "Custom Setting" section click on the "Open private.xml" button Open the file and replace its content with the following code: Tab instead of Command+[ private.swap_tab_and_cmnd+[ __KeyToKey__ KeyCode::TAB, ModifierFlag::NONE, KeyCode::BRACKET_RIGHT, ModifierFlag::COMMAND_L | ModifierFlag::NONE Go to Preferences ~> "Change Key" ~> click on "Reload XML" button Put a tick in the checkbox which is called "Tab instead of Command+[" Enjoy

https://i.stack.imgur.com/s10g6.png

PS: Please note that this setting works globally on your machine, not just in Xcode. However, I am sure that google might help you to find a solution how to customize it even further, applying the changes only to Xcode.


J
Jan Aagaard

Danish Keyboard

Unindent: ⌘ + ⌥ + 8

Indent: ⌘ + ⌥ + 9


e
eemrah

Basically ⌘ [ for left multiple indent and ⌘ ] right multiple indent.

For TR keyboard you can left multiple indent with 8 and right multiple indent with 9.Because both 8 and 9 are ALT characters of the these nums.Or if you have a keyboard which has [ or ] characters are belong to ALT() property so you can use KEYBOARD CHARACTER


J
Jim Hillhouse

Since I didn't see an update to this question for the current version of Xcode, I thought I'd add that in Xcode 9.3, Tab works for indenting selected line(s) of text as well as moving from one autocomplete field to another.


m
machineboy

In Xcode 4.2 auto-indenting is pretty good. You can now indent a selection of code by pressing the Tab key. I find that Xcode generally formats code really well automatically, and you rarely have to move things around yourself. I find it faster to select a piece of code, right-click and choose Structure -> Re-indent if some code looks messy.


i think you have not used any other code editor except xcode in your life. xCode autoCodeFormatting is the worst.
Doesn't work in XCode 8.3. Don't know if it ever did.
A
Asim Khan

Tab for Indent SHIFT + Tab Re-indent