Aunque los IDE de hoy son tan poderosos como "Bestias de lucha", debes saber que no importa cuán poderoso sea un IDE, no puede proporcionar todas las funciones que los usuarios desean, por lo que los IDE generalmente proporcionan interfaces API para que los desarrolladores se expandan los suyos. Tomemos el desarrollo del complemento bajo IntelliJ Idea 12 como ejemplo para ver cómo mejorar aún más el IDE para satisfacer las necesidades de los desarrolladores.
1. Cree un proyecto de complemento
Si no hay SDK opcional en el módulo SDK, haga clic en Nuevo para agregar un nuevo SDK y seleccione la ubicación de instalación de IntelliJ en el directorio.
La estructura del proyecto de complemento creado es muy simple, pero hay un archivo de configuración de plugin.xml adicional en Meta-INF, que se introducirá más adelante.
2. Deja que el complemento salga hola
2.1 Agregar componente
En el directorio SRC, puede ver que hay tres componentes enumerados en el nuevo cuadro de diálogo, correspondiente a tres niveles: aplicación, proyecto y componente del módulo. Aquí seleccionamos el componente de la aplicación como ejemplo, ingrese un nombre como myComponent en el cuadro emergente y luego se creará un componente.
Luego agregue un método Sayhello a myComponent. Otros métodos no se implementan por el momento. El código fuente es el siguiente:
paquete com.cdai.plugin.rapidg; import com.intellij.openapi.components.applicationComponent; import com.intellij.openapi.ui.messages; importar org.jetbrains.annotations.notnull;/** * mi componente * usuario: cdai * date: 13-11-4 * tiempo: 10:088 ApplicationComponent {public myComponent () {} public void initComponent () {// tODO: Insertar la lógica de inicialización de componentes aquí} public void desecheComponent () {// tODO: insertar la lógica de eliminación de componentes aquí} @Notnull String public String getComponentName () {return "mycomponent"; "; } public void sayshello () {// Mostrar diálogo con mensajes de mensajes }} 2.2 Agregar acción
Ahora debe agregar una acción para que los usuarios que usen nuestro complemento puedan hacer clic en el complemento a través de menús u otros métodos.
El trabajo principal de Action es crear una aplicación y un objeto myComponent, el código es el siguiente:
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 * Tiempo: 10:16 AM */public class Sayhelloaction extiende AnAction {@Override Void ActionPerformed (anActionEvent E) {Aplicación Aplicación = ApplicationManager.GetApplication (); MyComponent myComponent = Application.getComponent (myComponent.Class); myComponent.sayhello (); }}2.3 Archivo de configuración
De hecho, mientras crea el componente y la acción en los dos primeros pasos, Idea nos ayuda a registrarlos automáticamente en metainf/plugin.xml.
El componente de la aplicación y la acción que acabamos de agregar estarán en el nodo <Application-Components>, y el plugin.xml eventualmente se verá como lo siguiente:
<Idea-Plugin versión = "2"> <d> com.cdai.plugin.rapidg </id> <name> El complemento de generador rápido de CDAI </name> <versión> 1.0 </versión> <Vendor Correo electrónico = "[email protected]" url = "http://wwww.yourpany.com Descripción para su complemento aquí. <BR> <Small> La mayoría de las etiquetas HTML se pueden usar </small>]]> </cription> <cambio-notes> <! [CDATA [Agregar notas de cambio aquí. <br> <small> La mayoría de las etiquetas HTML se pueden usar </small>]]>> </Change-Notes> <!-Consulte http://confluence.jetbrains.net/display/ideadev/build+number+ranges para la descripción-> <Idea-version desde-build = "107.105"/> <!-Por favor, vea http://confluence.jetbrains.net/display/ideadev/plugin+Compatibility+with+intellij+platform+Products en cómo apuntar a diferentes productos-> <!-Uncomment para habilitar el complemento en todos los productos <depende> com.intellij.modules.lang </depends>-> <ractation-componscomponscomin-<! <COPONENT> <MOMILTACIONIONSATION> COM.CDAI.PLUGIN.RAPIDG.MYCOMPONENT </splementation-class> </componente> </pplication-components> <jroy-components> <!-Agregue sus componentes del proyecto aquí-> </proponentents> <solds> <!-Agregue sus acciones aquí-> <Action Id = "Sayhello" Text = "Say Hello Hello!" Group-Iid = "WindowMenu" Anchor = "First"/> </CTOCT> </Actions> <Extensions DefaultExtensionns = "com.intellij"> <!-Agregue sus extensiones aquí-> </jectensions> </Idea-Plugin>
3. Corre y depuración
Abra el cuadro de diálogo Ejecutar/depuración de configuración, agregue un tipo de complemento y use classPath of Module para seleccionar el proyecto de muestra en este momento.
Cuando se ejecute, encontrará que se iniciará una nueva instancia de idea IntelliJ. Después de pasar por el proceso de configuración de inicio nuevamente, puede ver que el nombre del complemento es el valor en <name> en plugin.xml. Solo podemos seleccionar el complemento que acabamos de desarrollar e ignorar a los demás. Ahora podemos activar nuestro complemento a través de la ventana-> ¡saludar!, Y el efecto es que aparecerá un cuadro de diálogo.
Curiosamente, algunas otras descripciones en Plugin.xml se mostrarán al usuario cuando el complemento se bloquee, informando el problema al autor del complemento.
4. Panel de configuración de enchufe
Muchos complementos tienen páginas de configuración en la configuración. Ahora permítanme presentar brevemente cómo agregar una página de configuración a nuestro complemento.
Primero, modificemos la clase MyComponent. El cambio principal es implementar una interfaz configurable adicional. Hay un método createComponent en esta interfaz. Este método devuelve el objeto swing jComponent y se mostrará en la configuración. Además, es bastante conveniente usar el diseñador Swing Designer proporcionado por Idea. Para evitar ser modificado, el código de diseño y diseño generado automáticamente no será visto por nosotros (a diferencia de NetBeans), por lo que el código final es muy conciso.
Este es el efecto final. El panel que diseñamos en el diseñador está integrado a la derecha.
5. Complemento con cuadro de diálogo
Un complemento común es hacer clic en el elemento de menú correspondiente del complemento y aparece un cuadro de diálogo (como buscar clases en el espacio de trabajo, confirmar el código antes de enviar SVN, etc.). De hecho, es muy simple. El método de implementación es crear un diálogo primero, luego diseñar el diseño de control en el cuadro de diálogo en el diseñador Swing y finalmente mostrar el cuadro de diálogo en la acción. No enumeraré los códigos específicos, por favor solicite ninguna necesidad.
Lo anterior es todo el contenido de este artículo. Espero que sea útil para el aprendizaje de todos y espero que todos apoyen más a Wulin.com.