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

jopen 10年前

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),              ]          )
来自:http://www.oschina.net/news/58213/regx-released