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