ClangFormat-Xcode

Xcode 插件,用于在 Xcode 中使用 clang-format,并始终如一地使用 Clang 格式化你的代码。「Xcode plug-in to to use clang-format from in Xcode and consistently format your code with Clang」

Github stars Tracking Chart

ClangFormat-Xcode

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.

usage

demo

Installation:

:warning: From XCode 8+, unsigning is required in order to use community-made plugins.
Check https://github.com/inket/update_xcode_plugins for more information.

Install via Alcatraz.

OR

Clone this repo, build and run ClangFormat, restart Xcode.

Removing ClangFormat

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.

Usage:

Format on save

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.)

Assign keyboard shortcuts

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.

assign keyboard shortcut

Using your own style configuration

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

Overview

Name With Ownertravisjeffery/ClangFormat-Xcode
Primary LanguageObjective-C
Program languageObjective-C (Language Count: 1)
PlatformMac
License:MIT License
Release Count0
Created At2014-01-07 12:24:05
Pushed At2020-11-04 02:36:32
Last Commit At2020-11-04 03:36:30
Stargazers Count2.9k
Watchers Count102
Fork Count288
Commits Count149
Has Issues Enabled
Issues Count87
Issue Open Count32
Pull Requests Count32
Pull Requests Open Count2
Pull Requests Close Count17
Has Wiki Enabled
Is Archived
Is Fork
Is Locked
Is Mirror
Is Private
To the top