Jelajahi Sumber

add: first commit

hwh97 4 tahun lalu
melakukan
48e6c4e4e0

+ 3 - 0
.gitignore

@@ -0,0 +1,3 @@
+.idea/
+/build/
+.gradle/

+ 25 - 0
build.gradle.kts

@@ -0,0 +1,25 @@
+plugins {
+    id("org.jetbrains.intellij") version "0.7.2"
+    java
+    kotlin("jvm") version "1.4.10"
+}
+
+group = "com.i2edu"
+version = "1.0-SNAPSHOT"
+
+repositories {
+    mavenCentral()
+}
+
+dependencies {
+    implementation(kotlin("stdlib"))
+    testCompile("junit", "junit", "4.12")
+}
+
+// See https://github.com/JetBrains/gradle-intellij-plugin/
+intellij {
+    version = "2020.3.1"
+}
+tasks.getByName<org.jetbrains.intellij.tasks.PatchPluginXmlTask>("patchPluginXml") {
+    changeNotes("""""")
+}

+ 1 - 0
gradle.properties

@@ -0,0 +1 @@
+kotlin.code.style=official

+ 2 - 0
settings.gradle.kts

@@ -0,0 +1,2 @@
+rootProject.name = "i2_code_genrate"
+

+ 24 - 0
src/main/kotlin/RouterGenerateAction.kt

@@ -0,0 +1,24 @@
+import com.intellij.openapi.actionSystem.AnAction
+import com.intellij.openapi.actionSystem.AnActionEvent
+import com.intellij.openapi.actionSystem.CommonDataKeys
+import com.intellij.openapi.actionSystem.PlatformDataKeys
+import com.intellij.openapi.diagnostic.LoggerRt
+import com.intellij.psi.PsiFile
+
+class RouterGenerateAction : AnAction() {
+    private val log = LoggerRt.getInstance(RouterGenerateAction::class.java)
+
+    override fun actionPerformed(e: AnActionEvent) {
+        val project = e.getData(PlatformDataKeys.PROJECT)!!
+        log.info(project.name)
+        print(project.name)
+
+//        val psiFile = e.getData(CommonDataKeys.PSI_FILE)
+//
+//        val classPath = psiFile!!.virtualFile.path
+//
+//        val title = "Stupid Flutter";
+
+        MessageUtil.showMessage(project.name)
+    }
+}

+ 27 - 0
src/main/kotlin/util/MessageUtil.kt

@@ -0,0 +1,27 @@
+import com.intellij.openapi.ui.Messages
+import javax.swing.Icon
+
+enum class MessageType {
+    INFO, WARM, ERROR, QUESTION
+}
+
+object MessageUtil {
+    const val title: String = "提示"
+
+    fun showMessage(
+        content: String,
+        title: String = this.title,
+        messageType: MessageType = MessageType.INFO
+    ) {
+        Messages.showMessageDialog(content, title, getMessageIconByType(messageType));
+    }
+
+    private fun getMessageIconByType(type: MessageType): Icon {
+        return when (type) {
+            MessageType.INFO -> Messages.getInformationIcon()
+            MessageType.WARM -> Messages.getWarningIcon()
+            MessageType.ERROR -> Messages.getErrorIcon()
+            MessageType.QUESTION -> Messages.getQuestionIcon()
+        }
+    }
+}

+ 27 - 0
src/main/resources/META-INF/plugin.xml

@@ -0,0 +1,27 @@
+<idea-plugin>
+    <id>com.i2edu.i2_code_genrate</id>
+    <name>i2 code generator</name>
+    <vendor email="974815768@qq.com" url="http://www.i2edu.com">i2edu</vendor>
+
+    <description><![CDATA[
+    generator for i2 project<br>
+    <em>i2edu</em>
+    ]]></description>
+
+    <!-- please see https://www.jetbrains.org/intellij/sdk/docs/basics/getting_started/plugin_compatibility.html
+         on how to target different products -->
+    <depends>com.intellij.modules.platform</depends>
+
+    <extensions defaultExtensionNs="com.intellij">
+        <!-- Add your extensions here -->
+    </extensions>
+
+    <actions>
+        <!-- Add your actions here -->
+        <action id="i2school.generate.route" class="RouterGenerateAction" text="GenerateRouter"
+                description="auto generate router">
+            <add-to-group group-id="BuildMenu" anchor="first"/>
+            <keyboard-shortcut keymap="$default" first-keystroke="alt R"/>
+        </action>
+    </actions>
+</idea-plugin>