RegX - Xcode 插件


MIT
OS X
Swift

软件简介

RegX 是一款非常实用的 Xcode 插件,由中国的 iOS/Mac 开发者 Krunoslav
Zaher
使用 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),
            ]
        )