xTextHandler
已经完全使用 Swift
重写,你可以在这里找到 Objective-C
版本:https://github.com/cyanzhong/xTextHandler-objc
Xcode Source Editor 插件集
基于 Xcode Source Editor Extension 的插件集,提高 Xcode 8
的文本处理的体验,你可以通过简单的几行代码扩展它
- 支持文本多行选择
- 支持多个类型的插件
- 易扩展(示例:Dotify)
- Swift 3.0
- 支持剪贴板文本(当没有选择文本,处理剪贴板文本)
- 提供基于正则表达式的匹配
- 错误处理
- App 配置面板
- JavaScript 组件
- 如果之前编译过 xTextHandler,清除 DrivedData
- 在这里安装:https://itunes.apple.com/app/id1163761963
- 打开 Xcode 并选择文本
- 在
Editor
菜单中找到插件 - 你可以给每个插件都设置一个独立的
快捷键
- 在安装之后你可能找不到菜单,应该是 XcodeKit 的一个 bug,你可以尝试编译安装
- 安装
Xcode 8
- 在
macOS EI Capitan
上面需要执行sudo /usr/libexec/xpccachectl
- 对每一个 target 进行签名,包括 app 和 extensions
- 编译运行项目
- 选择
Xcode 8
进行调试(或者重启 Xcode) - 选择文本
- 在
Editor
菜单中找到插件 - 你可以给每个插件都设置一个独立的
快捷键
- Base64 Encode
- Base64 Decode
- URL Encode
- URL Decode
- Upper Case
- Lower Case
- Escape
- MD5
- SHA1
- SHA256
- QR Code
- Hex
- Bin
- Oct
- Dec
- Hex
- RGB
- Preview
- Translate
- Developer
- StackOverflow
- GitHub
- Dash
- Dictionary
- JSON
- XML
- CSS
- SQL
感谢:vkBeautify
<dict>
<key>XCSourceEditorCommandClassName</key>
<string>aClassName</string>
<key>XCSourceEditorCommandIdentifier</key>
<string>test.extension</string>
<key>XCSourceEditorCommandName</key>
<string>Test Extension</string>
</dict>
// 在这个字典里面根据 `identifier` 映射 `block`,你可以实现一个字典单例
// [ "commandIdentifier": handler ]
override func handlers() -> Dictionary<String, xTextModifyHandler> {
return [
"test.extension": { (text: String) -> (String) in text }
]
}
// 重写这个方法,使用 `select` 方法传递你需要的正则表达式
override func perform(with invocation: XCSourceEditorCommandInvocation, completionHandler: (NSError?) -> Void) {
if let handler = self.handlers()[invocation.commandIdentifier] {
xTextModifier.select(invocation: invocation, pattern: "regex", handler: handler)
}
completionHandler(nil)
}