动手自己写一个 xcode 插件(Xcode Source Editor Extensions)附源码
2019独角兽企业重金招聘Python工程师标准>>>
动手自己写一个 xcode插件 (暂时需要注释功能,所以简单的写一个注释插件)
-----Xcode Source Editor Extensions-----
插件是可以在Xcode的Preferences的Key Bindings中设置快捷键的
-----------------------------------------------------------------------
开始:
1:创建Project,并且选中OS X - Application - Cocoa Application,
就像穿件一个iOS 项目和其他插件(today,share,action.....)等等一样的关系,
2:添加Target,选择OS X - Application Extensions - Xcode Source Editor Extension
这样就创建了插件,并生成了两个(默认名称为SourceEditorCommand,SourceEditorExtension)
这里名称是可以改的,改了之后只需要在Target的info.plist中修改
XCSourceEditorCommandClassName 对应 SourceEditorCommand
XCSourceEditorExtensionPrincipalClass 对应 SourceEditorExtension
我们看到XCSourceEditorCommandDefinitions这个数组
这个地方就是这个插件所有的功能配置的地方,使用XCSourceEditorCommandIdentifier区分
我们主要撰写的代码在SourceEditorCommand中,需要运行插件的时候,会回调
- (void)performCommandWithInvocation:(XCSourceEditorCommandInvocation *)invocation completionHandler:(void (^)(NSError * _Nullable nilOrError))completionHandler
{
completionHandler(nil);
}
这个XCSourceEditorCommandInvocation *invocation中就有我们需要的全部信息,选择了哪一行,那一列,内容,等等等等
运行效果如上,选择两个功能的时候,使用
NSString *identifier = invocation.commandIdentifier;
来区分identifier是哪一个XCSourceEditorCommandIdentifier以调取不同的功能代码
-----------------------------------------------------------------------
Demo 下载地址(Github):
WTxcodeToolBox (注释功能)https://github.com/wintelsui/WTxcodeToolBox.git
其他项目-插件源码
App Store:https://itunes.apple.com/cn/app/myutils/id1457192526?mt=12
Github: https://github.com/wintelsui/MyUtilsForXcode
-----------------------------------------------------------------------
转载于:https://my.oschina.net/wintelsui/blog/3051865
动手自己写一个 xcode 插件(Xcode Source Editor Extensions)附源码相关推荐
- 【博主推荐】HTML制作一个美观的个人简介网页(附源码)
文章目录 HTML制作一个美观的个人简介网页 模块1(个人信息)示例图 模块2(基本资料)示例图 模块3(项目经验)示例图 模块4(专业技能)示例图 模块5(工作经历)示例图 模块6(自我评价)示例图 ...
- c语言跳一跳辅助源码,.NET 开发一个微信跳一跳辅助程序(附源码)
原标题:.NET 开发一个微信跳一跳辅助程序(附源码) 来源:中国.NET研究协会 cnblogs.com/dotnet-org-cn/p/8149693.html 前言 微信更新了,出现了一个小游戏 ...
- React全家桶写一个CNode社区,奉上心得与源码
webpack2+react+react-router+react-redux+ES6+antd-mobile版本的Cnode 苦于我就职的公司的技术栈还是ES5+jQ+handelbars, 而我一 ...
- html百分比代码怎么写,参考Bootstrap写的一个带百分比的进度条(附源码)
最近需要写一个进度条的效果,网上找了一些,但都不能完美的实现需求. 于是就自己改造了一个,效果如下图: 因为动态图太大,我上传到 GitHub 了,就不在博客上再上传了. 百分比跟随进度条移动,百分比 ...
- c++贪吃蛇_细致的C语言写贪吃蛇教程+详细思路-适合新手附源码
在有用C写贪吃蛇的一个想法之后,上网查了几个教程,觉得不是很能看懂.恩...或者说不是一下子就能看出来思路+具体怎么实现.所以,我花了早自习的时间想了想如何用最简单的方法实现,晚上大约两个小时写了出来 ...
- c语言写贪吃蛇什么水平_细致的C语言写贪吃蛇教程+详细思路-适合新手附源码...
#史上最详细的C语言贪吃蛇教程 #前言 在有用C写贪吃蛇的一个想法之后,上网查了几个教程,觉得不是很能看懂.恩...或者说不是一下子就能看出来思路+具体怎么实现.所以,我花了早自习的时间想了想如何用最 ...
- 从0到1搭建一个简易的在线客服问答系统(附源码)
前言 首先我们先了解下这个概念,什么叫做问答系统(Question Answering System,简称 QA 系统)? 其实问答系统是一个比较常见的系统,在医疗系统/电商系统/零售业等等行业中都比 ...
- QQ空间日志抓器---我的第一个winform小应用(多线程,附源码)
http://www.cnblogs.com/think_fish/archive/2011/06/09/2076836.html (好几个博友都提到了假死的问题,可能是我之前测试的环境网络状态良好, ...
- 用python写的代码输入助手小程序(附源码)
目录 运行: 使用: 添加: 编辑: 创建新的空数据库: 命令太多,很容易忘记,还有很多代码片段想保存下来用到的时候能够快速输入,提高开发效率.在网上找了很多,发现都不是自己想要的.于是就用pytho ...
最新文章
- 网站导航栏如何设置更利于提升SEO优化效果?
- 服务器弱口令修改,Tomcat服务器弱口令漏洞攻击实验
- iOS开发 简述使用OCUnit对程序进行单元测试(UnitTest)
- python3数据类型:Dictionary(字典)
- OpenShift 4 - 对镜像进行合规扫描,加固应用镜像安全
- hdu 2119(最大匹配)
- php 正则 修饰符,php 正则修饰符
- Vue全家桶 之 KTV前台收银管理系统 (不想努力啦,回家收钱去)
- 浙大PAT甲级-1004
- word里双横线怎么打_word怎么加双下划线
- C语言和设计模式-工厂方法
- turtle---见证小海龟的浪漫之画
- Matlab:实现绘制启动超音速风洞的稳定条件(附完整源码)
- 蝶梦,五种架构演变史
- 青鸟迷你游戏平台:游戏点击率
- jQuery:模拟购物车
- 无线“蹭网卡”热卖 任意密码5分钟破解
- vlan工作原理解析
- 中国剩余定理与线性同余方程组求解
- 测试人生 | 从小团队的业务到独角兽的测开,涨薪超过60%,90后小凤凰涅槃了