xcode source editor extension 开发xcode的插件;
命令行、编辑扩展、文本缓存、文本位置、文本的范围;(主要功能)
参考链接:
http://swift.gg/2016/06/23/xcode-extensions/
基本步骤:
创建一个cocoa (mac) 上的项目(容器),editor ——> add target ——> 选择Xcode Source Editor Extension项目进行创建扩展;
默认的包含了一个命令(plist文件中预设了)和扩展,可以编辑plist中命令的名称,可以编辑plist的命令名称,是的editor可以看到更好的名称(名称的扩展是显示在菜单上的)
这个代码是建立在没有文本被选中的情况下,所以 selections 属性中唯一的 range 表示着插入点。也即是第0个;
我通过修改 lines 的数组来做改变,但是你也可以访问 var completeBuffer: String。
任何对 completeBuffer 或者 line 的修改都会马上映射到另外的属性上。你可以通过检查 buffer.contentUTI 来决定 buffer 包含的文本类型,对于 Swift 来说就是 public.swift-source。
当你完成时,请确保调用 completionHandler ,使得 Xcode 知道命令已结束。
如果你想要支持取消功能,使用 invocation.cancellationHandler = { ... },确保你是用线程安全的方式处理(可以通过使用 OSAtomic 方法去设置一个取消的标志)。这可以让扩展知道应该马上遗弃正在处理的操作,尽管你还是必须调用 completionHandler。
应该学会开发扩展插件,进行改进xcode的开发;
http://www.code4app.com/home.php?mod=space&uid=822721&do=blog&quickforward=1&id=394