Bien que les IDE d'aujourd'hui soient aussi puissants que de "combattre les bêtes", vous devez savoir que peu importe la puissance d'un IDE, il ne peut pas fournir toutes les fonctions que les utilisateurs souhaitent, donc les IDE fournissent généralement des interfaces API aux développeurs pour se développer par eux-mêmes. Prenons le développement du plug-in sous Intellij Idea 12 comme exemple pour voir comment améliorer davantage l'IDE pour répondre aux besoins des développeurs.
1. Créer un projet de plugin
S'il n'y a pas de SDK en option dans le SDK du module, cliquez sur Nouveau pour ajouter un nouveau SDK et sélectionnez l'emplacement d'installation d'Intellij dans le répertoire.
La structure du projet de plugin créé est très simple, mais il existe un fichier de configuration Plugin.xml supplémentaire sous Meta-Inf, qui sera introduit plus tard.
2. Laissez le plugin dire bonjour
2.1 Ajouter un composant
Dans le répertoire SRC, vous pouvez voir qu'il existe trois composants répertoriés dans la nouvelle boîte de dialogue, correspondant à trois niveaux: application, projet et composant de module. Ici, nous sélectionnons le composant d'application à titre d'exemple, entrez un nom tel que MyComponent dans la zone contextuelle, puis un composant sera créé.
Ajoutez ensuite une méthode Sayhello à MyComponent. D'autres méthodes ne sont pas mises en œuvre pour le moment. Le code source est le suivant:
Package com.cdai.plugin.rapidg; import com.intellij.openapi.components.applicationcomponent; import com.intellij.openapi.ui.messages; import org.Jetbrains.annotations.notnull; / ** * mon composant * User: cdai * Impotements: 13-11-4 * Temps: 10:08 AMM * / CLASSE CRADPOR ApplicationComponent {public myComponent () {} public void initComponent () {// todo: insérer la logique d'initialisation des composants ici} public void dissoseComponent () {// toDo: insérer la logique de disposition des composants ici} @notnull public getComponentName () {return "myComponent"; } public void sayshello () {// Afficher la boîte de dialogue avec messages messages.showMessageDialog ("Hello World!", "Exemple", messages.getInformationIcon ()); }} 2.2 Ajouter une action
Vous devez maintenant ajouter une action afin que les utilisateurs qui utilisent notre plug-in puissent cliquer sur le plug-in via des menus ou d'autres méthodes.
Le travail principal de l'action est de créer une application et un objet MyComponent, le code est le suivant:
package com.cdai.plugin.rapidg;import com.intellij.openapi.actionSystem.AnAction;import com.intellij.openapi.actionSystem.AnActionEvent;import com.intellij.openapi.application.Application;import com.intellij.openapi.application.ApplicationManager;/** * Say Hello Action * User: cdai * Date: 13-11-4 * Temps: 10:16 AM * / classe publique SayHelloaction étend Anaction {@Override public void ActionperFormed (anActionEvent e) {application application = applicationManager.getApplication (); MyComponent myComponent = application.getComponent (myComponent.class); myComponent.sayHello (); }}2.3 Fichier de configuration
En fait, lors de la création du composant et de l'action dans les deux premières étapes, l'idée nous aide à les enregistrer automatiquement dans Meta-Inf / Plugin.xml.
Le composant d'application et l'action que nous venons d'ajouter seront sous le nœud <mponents> application>, et le plugin.xml ressemblera éventuellement à ce qui suit:
<idea-Plugin version = "2"> <id> com.cdai.plugin.rapidg </id> <name> Plugin de générateur rapide de CDAI </ name> <version> 1.0 </DERNIER> <Vendor Email = "[email protected]" URL = "http://www.yourcompany.com"> CDAI </ VENDOR> <! Description courte de votre plugin ici. <br> <ball> La plupart des balises HTML peuvent être utilisées </small>]]> </ Description> <Change-notes> <! [CDATA [Ajouter des notes de changement ici. <br> <ball> La plupart des balises HTML peuvent être utilisées </small>]> </ / Change-notes> <! - Veuillez voir voir voir voir </small>]> </ / Change-notes> <! - VEUILLE http://confluence.jetbrains.net/display/ideadev/build+Number+Ranges pour description -> <idea-version puisque-build = "107.105" /> <! - Veuillez voir http://confluence.jetbrains.net/display/idedev /plugin+ compatibilité++with++ Comment cibler les différents produits -> <! - Uncomment pour activer le plugin dans tous les produits <efend> com.intellij.modules.lang </ Depend> -> <application-components> <! - Ajoutez vos composants d'application ici -> <Component> <implémentation-class> com.cdai.plugin.rapidg.mycomponent </plementation-class> </pomme-COMPONNENTS> <PROJET-COMPONNENTS> <! - Ajoutez vos composants de projet ici -> </ project-components> <actions> <! - Ajoutez vos actions ici -> <action id = "sayhello" text = "Say Hello!"> <Add-to-Group Group-ID = "WindowMenu" Anchor = "First" /> </ Action> </ Action> <Extensions DefaultExtensns = "com.intelli"> </ actions> Ici -> </ extensions> </ idea-Plugin>
3. Courir et déboguer
Ouvrez la boîte de dialogue Run / Debug Configuration, ajoutez un type de plugin et utilisez le module ClassPath of Module pour sélectionner l'exemple de projet tout à l'heure.
Lors de l'exécution, vous constaterez qu'une nouvelle instance IntelliJ Idea sera lancée. Après avoir repris le processus de configuration de démarrage, vous pouvez voir que le nom du plugin est la valeur dans <name> dans plugin.xml. Nous ne pouvons sélectionner que le plugin que nous venons de développer et ignorer les autres. Maintenant, nous pouvons déclencher notre plug-in via la fenêtre-> Dites bonjour!, Et l'effet est qu'une boîte de dialogue apparaîtra.
Fait intéressant, certaines autres descriptions de Plugin.xml seront affichées à l'utilisateur lorsque le plugin se bloque, signalant le problème à l'auteur du plugin.
4. Panneau de configuration du plug-in
De nombreux plug-ins ont des pages de configuration dans les paramètres. Maintenant, permettez-moi de présenter brièvement comment ajouter une page de configuration à notre plug-in.
Tout d'abord, modifions la classe MyComponent. Le changement principal consiste à implémenter une interface configurable supplémentaire. Il existe une méthode CreateComponent dans cette interface. Cette méthode renvoie l'objet swing jComponent et sera affiché dans les paramètres. De plus, il est tout à fait pratique d'utiliser le concepteur swing concepteur fourni par Idea. Afin d'éviter d'être modifié, le style et le code de mise en page générés automatiquement ne seront pas vus par nous (contrairement à NetBeans), donc le code final est très concis.
C'est l'effet final. Le panneau que nous avons conçu dans le concepteur est intégré à droite.
5. Plugin avec boîte de dialogue
Un plug-in commun consiste à cliquer sur l'élément de menu correspondant du plug-in et une boîte de dialogue apparaît (comme la recherche de classes dans l'espace de travail, la confirmation du code avant de soumettre SVN, etc.). En fait, c'est très simple. La méthode d'implémentation consiste à créer une boîte de dialogue d'abord, puis à concevoir la disposition de contrôle dans la boîte de dialogue dans le concepteur swing et enfin afficher la boîte de dialogue dans l'action. Je ne répertorierai pas les codes spécifiques, veuillez me demander des besoins.
Ce qui précède est tout le contenu de cet article. J'espère que cela sera utile à l'apprentissage de tous et j'espère que tout le monde soutiendra davantage Wulin.com.