38
votes

I used to use tabs for indentation and spaces for alignment. Like so (arrows show tabs and dots show spaces).

enter image description here

In QtCreator you can set such coding style in standard preferences. I can't find the way to achieve the same goal in Xcode. Could you please tell me if it is possible? May be there is a plugin for that?

UPDATE: Here is how it can be achieved in QtCreator: enter image description here

P.S. Please, don't try to persuade me that using spaces only/tabs only is better, otherwise this question will turn into another holywar :)

Once more about what I'm trying to achieve: Indent with tabs, align with spaces. Vim Tips Wiki.

UPDATE 2: I've just submitted an Apple Radar bug-report (enhancement) rdar://22285639. Here it is on the open radar.

UPDATE 3: I received an answer from Apple. My bug is a duplicate of rdar://8165023.

3
I am trying to achieve the same thing. Did you by chance find a solution?user1264176
@user1264176, unfortunately, no. Xcode 6 is still not capable of such formatting. I had to switch to spaces while working in Xcode. One option is to use AppCode by JetBrains, but it's not free and it still requires Xcode for some actions. So I'm still hoping that Apple will implement it one day, because tabs, the way they are implemented now, are unusable.FreeNickname
Thanks for prompt response. I had to switch to spaces too. It is fine if you work with tabs in Xcode but all the other editors or browsers will mess up formatting.user1264176
@user1264176, unfortunately, Xcode will also mess it up, if you just change the tab width :) Or someone else with a different tab width (for instance, many people prefer 2 spaces instead of 4) will open your project.FreeNickname

3 Answers

74
votes

In Xcode > Preferences (,):

> Text Editing > Indentation

If I understand your question correctly, this should do it for you.

1
votes

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

  1. Install a program called "Karabiner".

  2. Go to Preferences ~> "Misc and Uninstall"

  3. In "Custom Setting" section click on the "Open private.xml" button

  4. Open the file and replace its content with the following code:

    <?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. Go to Preferences ~> "Change Key" ~> click on "Reload XML" button

  6. Put a tick in the checkbox which is called "Tab instead of Command+["

  7. Enjoy

enter image description here

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.

-4
votes

In XCode
Xcode > Preferences or use ⌘ , to open Preferences
now click on the Text Edit tab and then there is sub tab bar click on Indentation and you can change setting of the Indentation as you need

here is the last view for the preferences