แม้ว่า IDEs ของวันนี้จะทรงพลังเท่ากับ "การต่อสู้กับสัตว์ร้าย" คุณควรรู้ว่าไม่ว่า IDE จะทรงพลังเพียงใด แต่ก็ไม่สามารถให้ฟังก์ชั่นทั้งหมดที่ผู้ใช้ต้องการได้ ลองใช้การพัฒนาปลั๊กอินภายใต้ Intellij Idea 12 เป็นตัวอย่างเพื่อดูวิธีการปรับปรุง IDE เพิ่มเติมเพื่อตอบสนองความต้องการของนักพัฒนา
1. สร้างโครงการปลั๊กอิน
หากไม่มี SDK เสริมในโมดูล SDK ให้คลิกใหม่เพื่อเพิ่ม SDK ใหม่และเลือกตำแหน่งการติดตั้งของ IntelliJ ในไดเรกทอรี
โครงสร้างของโครงการปลั๊กอินที่สร้างขึ้นนั้นง่ายมาก แต่มีไฟล์การกำหนดค่า plugin.xml เพิ่มเติมภายใต้ Meta-Inf ซึ่งจะเปิดตัวในภายหลัง
2. ให้ปลั๊กอินทักทาย
2.1 เพิ่มส่วนประกอบ
ในไดเรกทอรี SRC คุณจะเห็นว่ามีสามองค์ประกอบที่ระบุไว้ในกล่องโต้ตอบใหม่ซึ่งสอดคล้องกับสามระดับ: แอปพลิเคชันโครงการและส่วนประกอบโมดูล ที่นี่เราเลือกองค์ประกอบแอปพลิเคชันเป็นตัวอย่างป้อนชื่อเช่น MyComponent ในกล่องป๊อปอัพจากนั้นส่วนประกอบจะถูกสร้างขึ้น
จากนั้นเพิ่มวิธี Sayhello ไปยัง MyComponent วิธีการอื่น ๆ จะไม่ถูกนำไปใช้ในขณะนี้ ซอร์สโค้ดมีดังนี้:
แพ็คเกจ com.cdai.plugin.rapidg; นำเข้า com.intellij.openapi.components.applicationComponent; นำเข้า com.intellij.openapi.ui.messages นำเข้า org.jetbrains.annotations.notnull;/** ApplicationComponent {Public MyComponent () {} Public Void Initcomponent () {// toDo: แทรกการเริ่มต้นส่วนประกอบลอจิกที่นี่} โมฆะสาธารณะ disposecomponent () {// toDo: แทรกการกำจัดส่วนประกอบที่นี่} @notnull สตริงสาธารณะ getComponentName } โมฆะสาธารณะ Sayshello () {// แสดงกล่องโต้ตอบพร้อมข้อความข้อความ ShowMessageDialog ("Hello World!", "ตัวอย่าง", message.getInformationicon ()); - 2.2 เพิ่มการกระทำ
ตอนนี้คุณต้องเพิ่มการกระทำเพื่อให้ผู้ใช้ที่ใช้ปลั๊กอินของเราสามารถคลิกไปที่ปลั๊กอินผ่านเมนูหรือวิธีอื่น ๆ
งานหลักของ Action คือการสร้างแอปพลิเคชันและวัตถุ MyComponent รหัสมีดังนี้:
แพ็คเกจ com.cdai.plugin.rapidg; นำเข้า com.intellij.openapi.actionsystem.anaction; นำเข้า com.intellij.openapi.ActionSystem.AnactionEvent; นำเข้า com.intellij.Openapi.Application.Application.Application; * เวลา: 10:16 AM */คลาสสาธารณะ Sayhelloaction ขยาย anaction {@Override โมฆะสาธารณะ ActionPerformed (AnactionEvent E) {Application Application = ApplicationManager.getApplication (); myComponent myComponent = application.getComponent (myComponent.class); MyComponent.sayhello (); -2.3 ไฟล์การกำหนดค่า
ในความเป็นจริงในขณะที่การสร้างส่วนประกอบและการกระทำในสองขั้นตอนแรกความคิดช่วยให้เราลงทะเบียนโดยอัตโนมัติใน meta-inf/plugin.xml
ส่วนประกอบแอปพลิเคชันและการกระทำที่เราเพิ่งเพิ่มจะอยู่ภายใต้โหนด <แอปพลิเคชัน-องค์ประกอบ> และปลั๊กอิน. xml จะมีลักษณะดังต่อไปนี้ในที่สุด:
<idea-plugin version = "2"> <id> com.cdai.plugin.rapidg </id> <name> ปลั๊กอินเครื่องกำเนิดไฟฟ้าที่รวดเร็วของ Cdai </name> <cersion> 1.0 </เวอร์ชัน> <ผู้ขายอีเมล = "[email protected] ป้อนคำอธิบายสั้น ๆ สำหรับปลั๊กอินของคุณที่นี่ <br> <smagle> แท็ก HTML ส่วนใหญ่อาจใช้ </small>]> </คำอธิบาย> <เปลี่ยนโน้ต> <! [cdata [เพิ่มการเปลี่ยนแปลงโน้ตที่นี่ <br> <small> แท็ก HTML ส่วนใหญ่ http://confluence.jetbrains.net/display/ideadev/build+number+ranges สำหรับคำอธิบาย-> <idea-version ตั้งแต่ build = "107.105"/> <!-โปรดดู http://confluence.jetbrains.net/display/ideadev/plugin+compatibility+with+intellij+platform+products เกี่ยวกับวิธีการกำหนดเป้าหมายผลิตภัณฑ์ที่แตกต่างกัน-> <! <Component> <plementation-Class> com.cdai.plugin.rapidg.mycomponent </การใช้งาน-class> </ponent> </แอปพลิเคชัน-องค์ประกอบ> <project-Components> <!-เพิ่มส่วนประกอบโครงการของคุณที่นี่-> </การเข้าร่วมโครงการ> <ACTIONS> <! group-id = "windowmenu" anchor = "first"/> </action> </actions> <ส่วนขยาย defaultExtensionNs = "com.intellij"> <!-เพิ่มส่วนขยายของคุณที่นี่-> </ส่วนขยาย>
3. วิ่งและแก้ไขข้อบกพร่อง
เปิดกล่องโต้ตอบ Run/Debug Configuration เพิ่มประเภทปลั๊กอินและใช้ ClassPath ของโมดูลเพื่อเลือกโครงการตัวอย่างตอนนี้
เมื่อทำงานคุณจะพบว่าอินสแตนซ์ Idea Ide ใหม่จะเริ่มต้นขึ้น หลังจากผ่านกระบวนการกำหนดค่าเริ่มต้นอีกครั้งคุณจะเห็นว่าชื่อของปลั๊กอินคือค่าใน <name> ใน plugin.xml เราสามารถเลือกปลั๊กอินที่เราเพิ่งพัฒนาและเพิกเฉยต่อสิ่งอื่น ๆ ตอนนี้เราสามารถเรียกใช้ปลั๊กอินของเราผ่านหน้าต่าง-> ทักทาย! และเอฟเฟกต์คือกล่องโต้ตอบจะปรากฏขึ้น
ที่น่าสนใจคำอธิบายอื่น ๆ ใน plugin.xml จะแสดงต่อผู้ใช้เมื่อปลั๊กอินล่มรายงานปัญหาไปยังผู้เขียนปลั๊กอิน
4. แผงการกำหนดค่าปลั๊กอิน
ปลั๊กอินจำนวนมากมีหน้าการกำหนดค่าในการตั้งค่า ตอนนี้ให้ฉันแนะนำวิธีเพิ่มหน้าการกำหนดค่าสั้น ๆ ในปลั๊กอินของเรา
ก่อนอื่นให้แก้ไขคลาส MyComponent การเปลี่ยนแปลงหลักคือการใช้อินเทอร์เฟซที่กำหนดค่าได้เพิ่มเติม มีวิธี createComponent ในอินเทอร์เฟซนี้ วิธีนี้ส่งคืนวัตถุ Swing JComponent และจะแสดงในการตั้งค่า นอกจากนี้ยังค่อนข้างสะดวกในการใช้นักออกแบบนักออกแบบสวิงที่จัดทำโดย IDEA เพื่อหลีกเลี่ยงการแก้ไขรูปแบบและรหัสเลย์เอาต์ที่สร้างขึ้นโดยอัตโนมัติจะไม่เห็นโดยเรา (ไม่เหมือน NetBeans) ดังนั้นรหัสสุดท้ายจึงรัดกุมมาก
นี่คือเอฟเฟกต์สุดท้าย แผงที่เราออกแบบในนักออกแบบจะถูกฝังอยู่ทางด้านขวา
5. ปลั๊กอินพร้อมกล่องโต้ตอบ
ปลั๊กอินสามัญคือคลิกที่รายการเมนูที่สอดคล้องกันของปลั๊กอินและกล่องโต้ตอบจะปรากฏขึ้น (เช่นการค้นหาคลาสในพื้นที่ทำงานการยืนยันรหัสก่อนส่ง SVN ฯลฯ ) ในความเป็นจริงมันง่ายมาก วิธีการใช้งานคือการสร้างกล่องโต้ตอบก่อนจากนั้นออกแบบเค้าโครงควบคุมในกล่องโต้ตอบในตัวออกแบบสวิงและในที่สุดก็แสดงกล่องโต้ตอบในการดำเนินการ ฉันจะไม่แสดงรายการรหัสเฉพาะโปรดถามฉันถึงความต้องการใด ๆ
ข้างต้นเป็นเนื้อหาทั้งหมดของบทความนี้ ฉันหวังว่ามันจะเป็นประโยชน์ต่อการเรียนรู้ของทุกคนและฉันหวังว่าทุกคนจะสนับสนุน wulin.com มากขึ้น