Xcode 4插件开发

我一直在寻找,但我找不到任何东西。 有谁知道在哪里可以find关于如何创buildXcode 4插件的文档?

据我所知,没有官方的方式来创buildXcode 4插件 (就像没有一个v3.x)。

这里是Xcode缺less插件支持的openradar:

请支持第三方通过公共插件API扩展Xcode。 Aperture,Visual Studio,Eclipse,TextMate和其他应用程序都受益于此function。 我希望看到更高级的重构,代码分析(Jetbrains认为的Resharper)和build模。

为Xcode 4提供插件API (rdar:// 8622025)

如果你想插件,请欺骗这个


编辑:刚才偶然发现了这个:

CédricLuthi :“ Xcode 4确实支持用户定义的插件 ,请参阅CLITool-InfoPlist中有关工作Xcode 4插件的示例,您只需在Info.plist中添加XC4Compatible(true)即可​​。

https://github.com/0xced/CLITool-InfoPlist


这就是说,这些GitHub回购可能也很方便:

  • Xcode4 Plugin-API文档 ( 链接 无效 )

  • Xcode插件模板 ( 链接已更新


更多mogenerator的Xmod插件可能是一个很好的起点。
(不是Xcode-4兼容,但上次我检查,虽然)

最好的学习方法是查看github插件代码(请参阅下面的长列表):

  • 基本上它是一个插件包。
  • 没有main.m没有MainMenu.xib
  • 通过在info.plist中设置NSPrincipalClass加载第一类
  • 在其init:您注册AppKit通知
  • 查看代码示例
  • 一些检查mainBundle应用程序ID,以确保这是XCode
  • XCode编辑器窗口类是DVTSourceTextView
  • 它是DVTSourceTextView的一个子类:NSTextView:NSText
  • 因此您可以注册以侦听NSTextView或NSText的通知
  • 如NSTextViewWillChangeNotifyingTextViewNotification

因为它不是一个官方的标准,我注意到每个样本加载的方式不同。

XCODE插件样本

通过searchgithub / web进行编译

'DVTSourceTextView' 

这是Xcode编辑器窗口类的名称

要么

信息列表键

 'XC4Compatible' https://github.com/omz/ColorSense-for-Xcode https://github.com/ciaran/xcode-bracket-matcher - uses a ruby parser run as pipe! https://github.com/joshaber/WTFXcode https://github.com/0xced/NoLastUpgradeCheck http://code.google.com/p/google-toolbox-for-mac/downloads/list see GTMXcode4Plugin https://github.com/DeepIT/XcodeColors https://github.com/0xced/CLITool-InfoPlist https://github.com/sap-production/xcode-ide-maven-integration https://github.com/ciaran/xcode-bracket-matcher 

到达控制台的NSTextView

https://github.com/sap-production/xcode-ide-maven-integration

 - (NSTextView *)findConsoleAndActivate { Class consoleTextViewClass = objc_getClass("IDEConsoleTextView"); NSTextView *console = (NSTextView *)[self findView:consoleTextViewClass inView:NSApplication.sharedApplication.mainWindow.contentView]; if (console) { NSWindow *window = NSApplication.sharedApplication.keyWindow; if ([window isKindOfClass:objc_getClass("IDEWorkspaceWindow")]) { if ([window.windowController isKindOfClass:NSClassFromString(@"IDEWorkspaceWindowController")]) { id editorArea = [window.windowController valueForKey:@"editorArea"]; [editorArea performSelector:@selector(activateConsole:) withObject:self]; } } } return console; } 

看看这个新的插件: https : //github.com/sap-production/xcode-ide-maven-integration 。 也许你可以为你的插件派生一些概念。

昨天, ColorSense for Xcode 4在Github上发布。 由于代码非常紧凑,分布在三个class,我想你应该看看那里。

Xcode没有公共的插件API。

早期版本就是这种情况,Xcode 4也是如此。

看看这篇文章: Xcode 4:Interface Builder插件

不,Xcode不支持插件,或者你可以尝试iOS / MacOS的另一个IDE的AppCode,它支持插件开发。