zoukankan      html  css  js  c++  java
  • ClangFormat代码格式化

    下载地址:https://github.com/travisjeffery/ClangFormat-Xcode

    配合Xcode自带的格式化操作,就很不错了

    选中内容组合操作:

    第一步:ClangFormat(control+U)

    第二步:XcodeFormat(control+I)

     

    选中文件组合操作:

    第一步:ClangFormat(control+shift+U)

    第二步:XcodeFormat(control+A,control+I)

    修改ClangFormat.xcodeproj工程里的TRVSClangFormat.m文件的内容,实现快捷键功能(control+U和control+shift+U):

     1 - (void)addActioningMenuItemsToFormatMenu {
     2   NSMenuItem *formatActiveFileItem = [[NSMenuItem alloc]
     3       initWithTitle:NSLocalizedString(@"Format File in Focus", nil)
     4              action:@selector(formatActiveFile)
     5       keyEquivalent:@""];
     6   [formatActiveFileItem setTarget:self.formatter];
     7   [self.formatMenu addItem:formatActiveFileItem];
     8   NSMenuItem *formatSelectedCharacters = [[NSMenuItem alloc]
     9       initWithTitle:NSLocalizedString(@"Format Selected Text", nil)
    10              action:@selector(formatSelectedCharacters)
    11       keyEquivalent:@"u"]; //modified by Kenmu
    12   [formatSelectedCharacters setKeyEquivalentModifierMask:NSControlKeyMask]; //created by Kenmu, in order to use shortcut key to access it.
    13   [formatSelectedCharacters setTarget:self.formatter];
    14   [self.formatMenu addItem:formatSelectedCharacters];
    15   NSMenuItem *formatSelectedFilesItem = [[NSMenuItem alloc]
    16       initWithTitle:NSLocalizedString(@"Format Selected Files", nil)
    17              action:@selector(formatSelectedFiles)
    18       keyEquivalent:@"u"]; //modified by Kenmu
    19   [formatSelectedFilesItem setKeyEquivalentModifierMask:NSControlKeyMask | NSShiftKeyMask]; //created by, in order to use shortcut key to access it. Kenmu
    20   [formatSelectedFilesItem setTarget:self.formatter];
    21   [self.formatMenu addItem:formatSelectedFilesItem];
    22 }

    跟VVDocumenter规范注释生成器的安装方式一样:

    下载开源工程在Xcode重新编译运行会自动安装此插件,重启Xcode就可以使用了

    PS:可以使用系统偏好设置中设置键盘里针对某应用程序的快捷键,如下操作:

    插件设置:

    使用方式:

  • 相关阅读:
    Java运算符号,对象赋值,别名
    斐波那契数列的应用
    递归问题------汉诺塔
    字符串变量小议
    编程题之合并两个有序的数组
    线程/进程的区别之小议(二)
    线程/进程的区别之小议(一)
    OSI 七层模型
    TCP/IP 四层模型
    c语言程序开发过程,编译的完整过程
  • 原文地址:https://www.cnblogs.com/huangjianwu/p/4562145.html
Copyright © 2011-2022 走看看