Desarrollo de plugins Xcode 4
xcode4 (7)
Ayer se lanzó ColorSense para Xcode 4 en Github. Como el código es realmente compacto y se divide en solo 3 clases, creo que deberías echarle un vistazo.
He estado buscando por todo el lugar, pero no puedo encontrar nada. ¿Alguien sabe dónde encontrar documentación sobre cómo crear un complemento de Xcode 4?
Eche un vistazo a este artículo: Xcode 4: Complementos de Interface Builder
Eche un vistazo a este nuevo complemento: https://github.com/sap-production/xcode-ide-maven-integration . Tal vez puedas derivar algunos conceptos para tu complemento.
La mejor forma de aprender es mirar el código del complemento github (consulte la lista larga a continuación):
- Básicamente es un paquete de complementos.
- No main.m No MainMenu.xib
- Primera clase cargada configurando NSPrincipalClass en info.plist
- en su inicio: te registras para las notificaciones de AppKit
- Vea el código de muestras
- algunos verifican el ID de la aplicación mainBundle para asegurarse de que este sea XCode
- La clase de ventana del editor de XCode es DVTSourceTextView
- Es una subclase de DVTSourceTextView: NSTextView: NSText
- para que pueda registrarse y escuchar sus notificaciones para NSTextView o NSText
- como NSTextViewWillChangeNotifyingTextViewNotification
Debido a que no es un estándar oficial, noté que cada muestra se carga de diferentes maneras.
MUESTRAS DE PLUGIN XCODE
compilado ya sea buscando github / web para
''DVTSourceTextView''
Este es el nombre de la clase de ventana del editor de Xcode
o
Clave de lista de información
''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
PARA LLEGAR AL NSTextView que es la consola
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;
}
No, Xcode no es compatible con complementos, o puede probar AppCode, otro IDE para iOS / MacOS, sí admite el desarrollo de complementos.
Por lo que yo sé, no hay una forma oficial de crear los complementos de Xcode 4 (al igual que no había ninguno para v3.x).
Aquí hay un openradar sobre la falta de soporte de complementos de Xcode:
Admite la posibilidad de que terceros amplíen Xcode a través de una API de complemento público. Aperture, Visual Studio, Eclipse, TextMate y otras aplicaciones se benefician de esta capacidad. Me gustaría ver refactorizaciones más avanzadas, análisis de código (piense en Resharper por Jetbrains) y modelado.
Proporcionar API de complemento para Xcode 4 (rdar: // 8622025)
Por favor, duve esto si quieres complementos !
Editar: Acabo de tropezar con esto:
Cédric Luthi : " Xcode 4 admite complementos definidos por el usuario , consulte CLITool-InfoPlist para ver un ejemplo de un complemento de Xcode 4 que funciona. Solo tiene que agregar XC4Compatible (verdadero) en Info.plist".
https://github.com/0xced/CLITool-InfoPlist
Dicho esto, estos repositorios de GitHub también podrían ser útiles:
Documentación de X-API4 Plugin-API ( enlace muerto )
Plantilla de complemento Xcode ( enlace actualizado )
Más mogenerator , el complemento Xmod de mogenerator podría ser un buen punto de partida.
(Todavía no era compatible con Xcode-4, la última vez que lo comprobé)
Xcode no tiene una API de plug-in pública.
Este fue el caso con versiones anteriores, y es el caso con Xcode 4 también.