动手自己写一个 xcode 插件(Xcode Source Editor Extensions)附源码

原创
2019/05/20 17:20
阅读数 822

动手自己写一个 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

 

-----------------------------------------------------------------------

展开阅读全文
加载中
点击引领话题📣 发布并加入讨论🔥
打赏
0 评论
0 收藏
0
分享
返回顶部
顶部