J'ai cherché partout mais je ne trouve rien. Personne ne sait où trouver de la documentation sur la façon de créer un Xcode 4 plugin?
Réponses
Trop de publicités?Autant que je sache, il n'y a pas de manière officielle pour créer Xcode 4 plugins (tout comme il n'y en avait pas un pour v3.x).
Voici un openradar sur Xcode du manque de support de plugin:
S'il vous plaît soutenir la capacité pour la 3e les parties à étendre Xcode par l'intermédiaire d'un public API de plugin. L'Ouverture, Visual Studio, Eclipse, TextMate et d'autres les applications de bénéficier de cette capacité. J'aimerais voir plus avancé refactorings, d'analyse de code (pensez à Resharper par Jetbrains) et la modélisation.
Veuillez dupe si vous voulez plugins!
Edit: Viens de tombé sur ceci:
Cédric Luthi: "Xcode 4 prend en charge définis par l'utilisateur plugins, voir CLITool-InfoPlist pour un exemple d'un travail Xcode 4 plugin. Vous avez juste à ajouter XC4Compatible (true) dans le Info.plist."
https://github.com/0xced/CLITool-InfoPlist
Cela étant dit, ces GitHub repos peut être pratique, trop:
De plus mogenerator's Xmod plugin peut être un bon point de départ.
(N'était pas Xcode-4 compatible pourtant, la dernière fois que j'ai vérifié, tout de même)
La meilleure façon d'apprendre est de regarder github code du module (voir la longue liste ci-dessous):
- Fondamentalement, de son un plugin bundle.
- La principale.m N MainMenu.xib
- Première classe chargée par la mise en NSPrincipalClass en info.plist
- dans son init: vous vous inscrivez pour AppKit notifications
- Voir les exemples de code
- certaines vérifier la mainBundle l'id de l'application pour vérifier que c'est XCode
- XCode fenêtre de l'Éditeur de classe est DVTSourceTextView
- Sa une sous-classe de DVTSourceTextView :NSTextView : NSText
- donc, vous pouvez vous inscrire pour écouter le son des notifications pour NSTextView ou NSText
- comme NSTextViewWillChangeNotifyingTextviewnotification
Parce que ce n'est pas une norme officielle, j'ai remarqué chaque échantillon charges de différentes manières.
XCODE PLUGIN ÉCHANTILLONS
compilé par la recherche github/web pour les
'DVTSourceTextView'
C'est le Xcode fenêtre de l'Éditeur du nom de la classe
ou
Info-liste des principaux
'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
POUR OBTENIR DE L'NSTextView qui est de la console
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;
}
Jetez un oeil à ce nouveau plugin: https://github.com/sap-production/xcode-ide-maven-integration. Peut-être que vous pouvez tirer quelques concepts pour votre plugin.
Hier ColorSense pour Xcode 4 a été publié sur Github. Depuis que le code est vraiment compact, réparties sur seulement 3 classes, je pense que vous devriez jeter un oeil là-bas.