RegX 发布,专治代码强迫症的 Xcode 插件

来源: 投稿
2014-12-23

RegX 是一款非常实用的 Xcode 插件,由中国的 iOS/Mac 开发者 Lex Tang 使用 Swift 和 Objective-C 编写。其用于对齐特定源代码的元素,使得代码更易读和易理解。你可以在这里获取源码。

 安装:

  1.  $ git clone git@github.com:kzaher/RegX.git

  2.  在 Xcode 中构建(构建方案会自动将编译好的插件 bundle 安装到 Xcode 能够找到的地方

  3.  重启 Xcode

如果 RegX 没有正常工作,请检查一下启动 Xcode 时 Console.app 中的输出信息,并且找到错误消息。这有可能是因为你的 Xcode 版本的 DVTPlugInCompatibilityUUID 还没有被指定在 >> Info.plist 文件。为了解决该问题,请向 Info.plist 文件中添加 DVTPlugInCompatibilityUUID 条目。

RegX 如何工作?

RegX 使用正则表达式对列中的文本进行分组,然后对齐这些列。每个正则表达式分组都会创建一个垂直对齐的列。你可以自己为列指定额外的设置。

 定制

所有正则表达式以及针对正则表达式的设置都被定义在名为 Configuration.swift 的文件中。

 比如:

static let assignments = "^" +
        "   (?# lvalue GROUP)" +
        "       ([^=]*)" +
        "   (?# = GROUP)" +
        "       (\\=) " +
        "   (?# expression GROUP)" +
        "       ((?:[^/] | (?:/(?!/)) )*)" +
        "   (?# comments GROUP)" +
        "       (//.*)?" +
        "$"
RegularForm(name: "Assignments",                            // name in Edit -> RegX menu
         pattern: Patterns.assignments,                     // grouping regular expression
        shortcut: String(UnicodeScalar(NSF4FunctionKey)),   // shortcut key
        modifier: NSEventModifierFlags.CommandKeyMask,      // shortcut modifier
        settings: [                                         // each setting controls start and end padding
                GroupSettings(nil, 0),                      // nil means keep existing padding
                GroupSettings(1,   1),                      // value means ensure padding
                GroupSettings(0,   0),
                GroupSettings(1,   0),
            ]
        )
展开阅读全文
47 收藏
分享
加载中
更多评论
18 评论
47 收藏
分享
返回顶部
顶部