An Xcode plug-in to format your code using Clang's format tools, by @travisjeffery.
With clang-format you can use Clang to format your code to styles such as LLVM, Google, Chromium, Mozilla, WebKit, or your own configuration.
Install via Alcatraz.
OR
Clone this repo, build and run ClangFormat, restart Xcode.
To remove ClangFormat, run the following in your terminal:
rm -r "~/Library/Application Support/Developer/Shared/Xcode/Plug-ins/ClangFormat.xcplugin"
Or just find the same file and move it to the trash. You'll need to restart Xcode after deleting the plugin.
I.e., you press command-s
and the file is formatted and wrote to disk.
In the menu, open Edit > Clang Format > Click Format on save (a checkmark appears in this menu item indicicating that the feature is active.)
You can assign your own keyboard shortcuts like so:
- Open the System Preferences > Keyboard > Shortcuts > App Shortcuts > Click +
- Set the application to be Xcode
- Set the menu title to an action title, e.g. "Format File in Focus"
- Set your shortcut
In this example, we'll format the active file when control-i
is pressed.
By using Clang Format > File in the plug-in menu, Clang will look for the nearest .clang-format
file from the input file. Most likely, you'll have a .clang-format file at the root of your project.
Here are the options for .clang-format and how they're configured. Here's a cool interactive website to help you make your .clang-format file.
If one of the built-in styles is close to what you want, you can bootstrap your own configuration with:
./bin/clang-format -style=llvm -dump-config > .clang-format
For example, this .clang-format is similar to the Linux Kernel style:
BasedOnStyle: LLVM
IndentWidth: 8
UseTab: Always
BreakBeforeBraces: Linux
AllowShortIfStatementsOnASingleLine: false
IndentCaseLabels: false
And this is similar to Visual Studio's style:
UseTab: Never
IndentWidth: 4
BreakBeforeBraces: Allman
AllowShortIfStatementsOnASingleLine: false
IndentCaseLabels: false
ColumnLimit: 0