9

我对 Clang 格式 API 有很多困惑。

  1. 我无法打开 .clangformat 文件,以便我可以查看并根据我的配置进行配置。
  2. 我需要以 Allman 风格格式化我的代码。
  3. 我也看过很多关于 Google 和 Stack Overflow 的文档,但我没有得到任何帮助来实现 Allman 样式格式。

我遇到了http://clangformat.com/但我也没有得到任何帮助来实现 Allman 风格。

这是我想要的问题和解决方案。

问题 #1:

[[NSNotificationCenter defaultCenter]
      addObserver:self
         selector:@selector(captureSearchFiltersNotificationWithSelection:)
             name:kSearchFiltersNotificationWithSelection
           object:nil];

需要#1:

[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(captureSearchFiltersNotificationWithSelection:)name:kSearchFiltersNotificationWithSelection object:nil];

问题 #2:

- (id)initWithNibName:(NSString *)nibNameOrNil
               bundle:(NSBundle *)nibBundleOrNil {
        self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];

        if (self) {
                //        listings = [NSMutableArray new];
                self.navTitle = @"Buy";
                searchFilters = [SearchFilter new];

                if ([LocationManager locationManager].location == nil) {
                        selectedSortOption = kSortBuyRefineOptionUndefined;
                }

                else {
                        selectedSortOption = kSortBuyRefineOptionNearMeAsc;
                }
        }
        return self;
}

需要#2:

- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle*)nibBundleOrNil 
{
    self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];
    if (self) 
    {
        listings = [NSMutableArray new];
        self.navTitle = @"Buy";
        searchFilters = [SearchFilter new];

        if ([LocationManager locationManager].location == nil) 
        {
            selectedSortOption = kSortBuyRefineOptionUndefined;
        }

        else 
        {
            selectedSortOption = kSortBuyRefineOptionNearMeAsc;
        }
    }

    return self;
}
4

1 回答 1

6

您需要在项目根目录中添加一个 .clang 格式的文件。根据要求,您可以在 TextEditor 中编辑此文件。以下是“Allman”样式的格式:

BasedOnStyle: None
AlignTrailingComments: true
BreakBeforeBraces: Allman
ColumnLimit: 0
IndentWidth: 4
KeepEmptyLinesAtTheStartOfBlocks: false
ObjCSpaceAfterProperty: true
ObjCSpaceBeforeProtocolList: true
PointerBindsToType: false
SpacesBeforeTrailingComments: 1
TabWidth: 8
UseTab: Never

以下是一些对您有帮助的链接:

http://staxmanade.com/2015/01/how-to-install-clang-format-and-formatting-objective-c-files/

http://tonyarnold.com/2014/05/31/autoformatting-your-code.html

http://clang.llvm.org/docs/ClangFormatStyleOptions.html

http://blog.manbolo.com/2015/05/14/code-beautifier-in-xcode

生成和安装 clang 格式文件的 Xcode 项目链接: https ://github.com/travisjeffery/ClangFormat-Xcode/blob/master/README.md

修复 .clang 格式问题: https ://github.com/travisjeffery/ClangFormat-Xcode/issues/68

苹果的源代码格式化选项: https ://developer.apple.com/legacy/library/documentation/DeveloperTools/Reference/XcodeUserDefaultRef/100-Xcode_User_Defaults/UserDefaultRef.html#//apple_ref/doc/uid/TP40005535-CH3-SW57

希望这可以帮助!

于 2015-09-28T05:45:37.517 回答