iOS上插件的开发(xcode source editor extension)

xcode source editor extension 开发xcode的插件;

基本的API 头文件

命令行、编辑扩展、文本缓存、文本位置、文本的范围;(主要功能)

参考链接:
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

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容