Embora os IDEs de hoje sejam tão poderosos quanto os "bestas de combate", você deve saber que, por mais poderoso que seja um IDE, ele não pode fornecer todas as funções que os usuários desejam; portanto, os IDEs geralmente fornecem interfaces de API para os desenvolvedores se expandirem por conta própria. Vamos tomar o desenvolvimento do plug-in sob Intellij Idea 12 como exemplo para ver como aprimorar ainda mais o IDE para atender às necessidades dos desenvolvedores.
1. Crie um projeto de plug -in
Se não houver SDK opcional no módulo SDK, clique em New para adicionar um novo SDK e selecione o local de instalação do Intellij no diretório.
A estrutura do projeto de plug-in criada é muito simples, mas há um arquivo de configuração plugin.xml adicional no Meta-Inf, que será introduzido posteriormente.
2. Deixe o plugin dizer olá
2.1 Adicionar componente
No diretório SRC, você pode ver que existem três componentes listados na nova caixa de diálogo, correspondendo a três níveis: aplicação, projeto e componente de módulo. Aqui, selecionamos o componente do aplicativo como exemplo, digite um nome como o MyComponent na caixa pop-up e, em seguida, um componente será criado.
Em seguida, adicione um método Sayhello ao MyComponent. Outros métodos não são implementados por enquanto. O código -fonte é o seguinte:
pacote com.cdai.plugin.rapidg; importar com.intellij.openapi.comPONENTS.ApplicationComponent; importar com.intellij.openapi.ui.Messages; importar org. ApplicationComponent {public myComponent () {} public void initComponent () {// TODO: Insira a lógica de inicialização do componente aqui} public void DisposEncomponent () {// TODO: Insira o componente Logic aqui} @NotNull String string getConMename () {Return " } public void SayHello () {// Mostrar diálogo com mensagens Message.ShowMessAgedialog ("Hello World!", "Sample", MessageS.getInformationicon ()); }} 2.2 Adicione ação
Agora você precisa adicionar uma ação para que os usuários que usam nosso plug-in podem clicar no plug-in através dos menus ou outros métodos.
O principal trabalho da ação é criar um aplicativo e um objeto MyComponent, o código é o seguinte:
pacote com.cdai.plugin.rapIdg; import com.intellij.openapi.actionsystem.anaction; importação com.intellij.openapi.actionystem.anactionEvent; import.Intellij.Openapi.Application.Application; import com.Intellij.OpenApi.ApplapLication.Application.Application; import com.Intellij.OpenApi.ApplapLication.Application.Application; import com.Tellij.OpenApi.Applaplanication.Application.Application; importação com.Tellij.OpenApi.ApplapLication.Application.Application; importação com. 13-11-4 * HORA: 10:16 */classe pública SayHelloAction estende ANACTION {@Override public void ActionPerformed (ANACIONEVENT E) {Application = ApplicationManager.getApplication (); MyComponent myComponent = Application.getComponent (myComponent.class); myComponent.sayhello (); }}2.3 Arquivo de configuração
De fato, ao criar o componente e a ação nas duas primeiras etapas, a idéia nos ajuda a registrá-los automaticamente no meta-inf/plugin.xml.
O componente e a ação do aplicativo que acabamos de adicionar estarão no nó <Applicats-Components>, e o plugin.xml acabará por parecer o seguinte:
<Idea-pplugin versão = "2"> <d> com.cdai.plugin.rapidg </dod> <name> plugin de gerador rápido do CDAI </name> <versão> 1.0 </versão> </vendor email = "[email protected]" Url = "http://ww.yourcomppin.com [! Digite uma descrição curta para o seu plug-in aqui. <br> <small> A maioria das tags html pode ser usada </mall>]]> </cription> <lumgreve-notes> <! [CDATA [Adicionar notas de alteração aqui. <br> <mmall> A maioria das tags html pode ser usada </mall>]]> </mulhing-Notes> <!-Consulte, consulte o HTML, pode ser usado </mall>]]> </flow-Notes> <!-Consulte, consulte o HTML, pode ser usado </mall>]]> </flow-Notes> <!-Consulte o HTML, pode ser usado http://confluence.jetbrains.net/display/ideadev/build+Number+Ranges para descrição-> <Idea-version desde http://confluence.jetbrains.net/display/ideadev/plugin+compatibility+with+Intellij+platform+Products sobre como segmentar diferentes produtos-> <!-APLICANTES </APLICANTES </depende </depende> com.Intellij.modules.lang de depende </depende> Com. -> <componente> <filemeation-class> com.cdai.plugin.rapidg.mycomponent </implementation-class> </componente> </applicat-components> <ojed-components> <!-add! grupo-id = "windowmenu" anchor = "primeiro"/> </action> </ações> <Extensões defaultExtensionns = "com.intellij"> <!-Adicione suas extensões aqui-> </stensions> </Idea-plugin>
3. Corra e Debug
Abra a caixa de diálogo Run/Debug Configuration, adicione um tipo de plug -in e use o ClassPath of Module para selecionar o projeto de amostra agora.
Ao correr, você descobrirá que uma nova instância do Intellij Idea será iniciada. Depois de passar pelo processo de configuração de inicialização novamente, você pode ver que o nome do plug -in é o valor em <name> no plugin.xml. Só podemos selecionar o plug -in que acabamos de desenvolver e ignorar os outros. Agora podemos acionar nosso plug-in através da janela-> diga olá!, E o efeito é que uma caixa de diálogo será exibida.
Curiosamente, algumas outras descrições no plugin.xml serão exibidas ao usuário quando o plug -in travar, relatando o problema ao autor do plug -in.
4. Painel de configuração de plug-in
Muitos plug-ins têm páginas de configuração nas configurações. Agora, deixe-me apresentar brevemente como adicionar uma página de configuração ao nosso plug-in.
Primeiro, vamos modificar a classe MyComponent. A principal mudança é implementar uma interface configurável adicional. Existe um método CreateComponent nesta interface. Este método retorna o objeto Swing JComponent e será exibido nas configurações. Além disso, é bastante conveniente usar o designer de giro fornecido pela Idea. Para evitar ser modificado, o estilo e o código de layout gerados automaticamente não serão vistos por nós (diferentemente do NetBeans), portanto o código final é muito conciso.
Este é o efeito final. O painel que projetamos no designer está incorporado à direita.
5. Plugin com caixa de diálogo
Um plug-in comum é clicar no item de menu correspondente do plug-in e uma caixa de diálogo aparece (como a pesquisa de classes na área de trabalho, confirmando o código antes de enviar SVN, etc.). De fato, é muito simples. O método de implementação é criar uma caixa de diálogo primeiro e depois projetar o layout de controle na caixa de diálogo no designer de swing e, finalmente, exibir a caixa de diálogo na ação. Não vou listar os códigos específicos, peça -me quaisquer necessidades.
O exposto acima é todo o conteúdo deste artigo. Espero que seja útil para o aprendizado de todos e espero que todos apoiem mais o wulin.com.