S. Birklin
S. Birklin

Reputation: 1375

How to use code formatter in Xcode for Swift?

Xcode code formatter Swift

I'm trying to auto format my code written in Swift. It's necessary if you're working in team and using CVS and don't want to merge for hours.

Ctrl+I just makes an indent, but for example i want to have proper space between functions and just all the stuff like in Clang.

Upvotes: 99

Views: 109883

Answers (10)

ashchk
ashchk

Reputation: 191

The command in xcode is ctrl+i to format code, not cmd+i.

Upvotes: 1

Jintin
Jintin

Reputation: 1478

I write a extension app about format Swift code: Swimat

There has two way to install

  1. brew install swimat --cask

  2. Clone this repo, build and restart Xcode.

See https://github.com/Jintin/Swimat for more information

preview

Upvotes: 65

Add080bbA
Add080bbA

Reputation: 1876

+i: reformat code
Ctrl+i: fix code indentation

Eventhough it has good IntelliSense, xcode sucks at code formatting generally.
Wish it was better.
Apple has to spend so much effort in this in order to make it VS level good.

Upvotes: 23

Hamid Yusifli
Hamid Yusifli

Reputation: 10137

In Xcode [Objective-C, Swift]:

1) +A: highlight code

2) +I: reformat code

Upvotes: 36

Mohamed Abdul-Raouf
Mohamed Abdul-Raouf

Reputation: 1

Select lines, then press Ctrl+I.

Upvotes: -6

askielboe
askielboe

Reputation: 912

SwiftFormat is a popular code formatter for swift. It has an extension for Xcode, which can be accessed from the Editor menu.

Quote from the SwiftFormat readme:

SwiftFormat is a code library and command-line tool for reformatting swift code on macOS or Linux.

SwiftFormat goes above and beyond what you might expect from a code formatter. In addition to adjusting white space it can insert or remove implicit self, remove redundant parentheses, and correct many other deviations from the standard Swift idioms.

Upvotes: 15

Toerndev
Toerndev

Reputation: 727

(I know the question says Xcode but) personally this is another reason to use AppCode alongside Xcode.

While Xcode only fixes the indentation for Swift code, as mentioned in the question, AppCode at least handles spaces too. Somewhat relatedly it removes indents from empty lines by default.

AppCode's Swift support definitely isn't perfect yet and you still need to check the code in both, but it's still worth it because of better navigation and things like this.

Upvotes: 1

Antonio Ciolino
Antonio Ciolino

Reputation: 556

Xcode and Swift 2.0: Per file, Cmd-A then Ctl-I. Ctl-I works for what is highlighted, Cmd-A highlights all. Just be careful not to accidentally delete all your source after the Ctl-A!

Upvotes: 14

CuriousRabbit
CuriousRabbit

Reputation: 2211

The reformat code command in xcode is Ctrl-I, not Cmd-I and it appears to work just fine.

Upvotes: 95

user2961953
user2961953

Reputation: 163

I would suggest using sublime text with the swift plugin, which will allow you to hotkey the code formatting. https://sublime.wbond.net/packages/Swift

Upvotes: -5

Related Questions