Obwohl die heutigen IDEs so mächtig sind wie "kämpfende Bestien", sollten Sie wissen, dass eine IDE, egal wie mächtig eine IDE ist, nicht alle Funktionen bereitstellen kann, die Benutzer wollen, sodass IDEs im Allgemeinen API -Schnittstellen für Entwickler bereitstellen können, sich selbst zu erweitern. Nehmen wir die Plug-in-Entwicklung unter Intellij Idea 12 als Beispiel, um zu sehen, wie die IDE die Bedürfnisse der Entwickler weiter verbessert.
1. Erstellen Sie ein Plugin -Projekt
Wenn im Modul SDK kein optionales SDK vorhanden ist, klicken Sie auf Neu, um ein neues SDK hinzuzufügen, und wählen Sie den Installationsort von Intellij im Verzeichnis.
Die Struktur des erstellten Plugin-Projekts ist sehr einfach, es gibt jedoch eine zusätzliche Plugin.xml-Konfigurationsdatei unter Meta-inf, die später eingeführt wird.
2. Lassen Sie das Plugin Hallo sagen
2.1 Komponente hinzufügen
Im SRC -Verzeichnis können Sie feststellen, dass im neuen Dialogfeld drei Komponenten aufgeführt sind, die drei Ebenen entsprechen: Anwendung, Projekt und Modulkomponente. Hier wählen wir als Beispiel die Anwendungskomponente aus, geben Sie einen Namen wie MyComponent in das Popup-Feld ein, und dann wird eine Komponente erstellt.
Fügen Sie MyComponent eine Sayhello -Methode hinzu. Andere Methoden werden vorerst nicht implementiert. Der Quellcode lautet wie folgt:
Paket com.cdai.plugin.rapidg; import com.intellij.openapi.components.applicationComponent; importieren com.intellij.openapi.ui.messages; ApplicationComponent {public myComponent () {} public void initcomponent () {// todo: component Initialisierungslogik hier einfügen } public void SayShello () {// Dialog mit Nachrichtenmeldungen anzeigen }} 2.2 Aktion hinzufügen
Jetzt müssen Sie eine Aktion hinzufügen, damit Benutzer, die unser Plug-In verwenden, über Menüs oder andere Methoden zum Plug-In klicken können.
Die Hauptaufgabe der Aktion besteht darin, eine Anwendung und ein MyComponent -Objekt zu erstellen. Der Code lautet wie folgt:
Paket com.cdai.plugin.rapidg; import com.intellij.openapi.actionssystem.anaction; com.intellij.openapi.actionssystem.anactionEvent; * Datum: 13-11-4 * Uhrzeit: 10:16 Uhr */öffentliche Klasse Sayhelloaction erweitert Anaction {@Override public void actionPerformed (anActaceEvent e) {application application = applicationManager.getApplication (); MyComponent myComponent = application.getComponent (myComponent.class); mycomponent.sayhello (); }}2.3 Konfigurationsdatei
Tatsächlich hilft uns Idea beim Erstellen der Komponente und Aktion in den ersten beiden Schritten dabei, sie automatisch in meta-inf/plugin.xml zu registrieren.
Die von uns gerade hinzugefügte Anwendungskomponente und Aktion befindet sich unter dem Knoten <Application Components>, und das Plugin.xml sieht schließlich wie folgt aus:
<idee-plugin version = "2"> <id> com.cdai.plugin.rapidg </id> <name> CDAIs Rapid Generator Plugin </name> <version> 1.0 </Version> <Anbieter E-Mail = "[email protected]" url = "http:/www.yourcancy.yourcer Geben Sie hier eine kurze Beschreibung für Ihr Plugin ein. http://confluence.jetbrains.net/display/ideadev/build+Number+Ranges für Beschreibung-> <idee-version seit --build = "107.105"/> <! So zielen Sie auf verschiedene Produkte-> <!-Um das Plugin in allen Produkten zu aktivieren. <Project-Components> <!-Fügen Sie hier Ihre Projektkomponenten hinzu-> </Projektkomponenten> <Aktionen> <!-Fügen Sie Ihre Aktionen hier hinzu-> <action id = "Sayhello" text = "Say Hello!"> <add-to-Group-Gruppen-ID = "Windowmenu" Anchor = "First"/> </> </actions> </actions actions adds addings addings addings addings addings-addsa-addsa addsa adding -> </extensions> </idee-plugin>
3. Run und Debugug
Öffnen Sie das Dialogfeld Run/Debugg -Konfiguration, fügen Sie einen Plugin -Typ hinzu und verwenden Sie den CLASSPATH MODUL, um das Beispielprojekt gerade auszuwählen.
Beim Laufen werden Sie feststellen, dass eine neue Intellij -Ideeninstanz gestartet wird. Nachdem Sie den Startkonfigurationsprozess erneut durchlaufen haben, können Sie feststellen, dass der Name des Plugins der Wert in <Name> in plugin.xml ist. Wir können nur das Plugin auswählen, das wir gerade entwickelt haben, und die anderen ignorieren. Jetzt können wir unser Plug-In durch Fenster auslösen-> Hallo!
Interessanterweise werden einige andere Beschreibungen in Plugin.xml dem Benutzer angezeigt, wenn das Plugin abstürzt, und meldet das Problem dem Plugin -Autor.
4. Plug-in-Konfigurationsfeld
Viele Plug-Ins verfügen über Konfigurationsseiten in Einstellungen. Lassen Sie mich nun kurz vorstellen, wie Sie unserem Plug-In eine Konfigurationsseite hinzufügen.
Lassen Sie uns zunächst die MyComponent -Klasse ändern. Die Hauptänderung besteht darin, eine zusätzliche konfigurierbare Schnittstelle zu implementieren. In dieser Schnittstelle befindet sich eine Methode für die Kreatur. Diese Methode gibt das Swing JComponent -Objekt zurück und wird in Einstellungen angezeigt. Darüber hinaus ist es ziemlich bequem, den von Idea bereitgestellten Swing -Designer -Designer zu verwenden. Um zu vermeiden, dass geändert wird, wird der automatisch generierte Stil und Layoutcode von uns (im Gegensatz zu NetBeans) nicht gesehen, sodass der endgültige Code sehr präzise ist.
Dies ist der endgültige Effekt. Das im Designer entworfene Panel ist rechts eingebettet.
5. Plugin mit Dialogfeld
Ein gängiges Plug-In besteht darin, auf das entsprechende Menüelement des Plug-Ins zu klicken, und ein Dialogfeld wird angezeigt (z. B. die Suche nach Klassen im Arbeitsbereich, Bestätigung des Codes, bevor Sie SVN usw. usw. senden). Tatsächlich ist es sehr einfach. Die Implementierungsmethode besteht darin, zuerst ein Dialog zu erstellen, dann das Steuerlayout im Dialogfeld im Swing -Designer zu entwerfen und schließlich das Dialogfeld in der Aktion anzuzeigen. Ich werde die spezifischen Codes nicht auflisten. Bitte fragen Sie mich nach Bedürfnissen.
Das obige ist der gesamte Inhalt dieses Artikels. Ich hoffe, es wird für das Lernen aller hilfreich sein und ich hoffe, jeder wird Wulin.com mehr unterstützen.