RegX 是一款非常實用的 Xcode 插件,使用 Swift 和 Objective-C 編寫。其用豎向對齊特定源代碼的元素,使得代碼更易讀和易理解。你可以在 這裡 獲取源碼。
安裝:
$ git clone [email protected]:kzaher/RegX.git
在 Xcode 中構建(構建方案會自動將編譯好的插件 bundle 安裝到 Xcode 能夠找到的地方
重啟 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), ] )
之前我們曾經介紹過另一款廣受歡迎的豎向對齊插件XAlign,不過有同學表示在Xcode 6.1以上的版本支持的不太好,這一款功能更加強大,應該能滿足大家的需求了。