赞
踩
idea插件开发时启动的idea内存太小了,在沙盒中用大项目调试的时候512的运行内存简直难受
1.找到 build.gradle.kts 文件(这个文件名不一定是kts的后缀,我是直接下载的官网插件模板)
在末尾处写 runIde 来追加运行idea的参数
- runIde {
- jvmArgs("-Xmx4096m","-XX:ReservedCodeCacheSize=512m","-Xms128m")
- }
我的整个 build.gradle.kts 的内容如下
- import org.jetbrains.changelog.markdownToHTML
- import org.jetbrains.kotlin.gradle.tasks.KotlinCompile
-
- fun properties(key: String) = project.findProperty(key).toString()
-
- plugins {
- // Java support
- id("java")
- // Kotlin support
- id("org.jetbrains.kotlin.jvm") version "1.6.10"
- // Gradle IntelliJ Plugin
- id("org.jetbrains.intellij") version "1.4.0"
- // Gradle Changelog Plugin
- id("org.jetbrains.changelog") version "1.3.1"
- // Gradle Qodana Plugin
- id("org.jetbrains.qodana") version "0.1.13"
- }
-
- group = properties("pluginGroup")
- version = properties("pluginVersion")
-
- // Configure project's dependencies
- repositories {
- //棣栧厛鍘绘湰鍦颁粨搴撴壘
- mavenLocal()
- //鐒跺悗鍘婚樋閲屼粨搴撴壘
- // build.gradle:
- // maven { url "http://maven.aliyun.com/nexus/content/groups/public/" }
-
- // build.gradle.kts:
- maven { url = uri("https://repo.spring.io/release") }
- maven {
- isAllowInsecureProtocol = true
- setUrl("http://maven.aliyun.com/nexus/content/groups/public/")
- }
- maven {
- isAllowInsecureProtocol = true
- url = uri("https://maven.aliyun.com/repository/public") }
- maven {
- isAllowInsecureProtocol = true
- url = uri("https://maven.aliyun.com/repository/google") }
- maven {
- isAllowInsecureProtocol = true
- url = uri("https://maven.aliyun.com/repository/gradle-plugin") }
- maven {
- isAllowInsecureProtocol = true
- url = uri("https://maven.aliyun.com/repository/spring-plugin") }
- maven {
- isAllowInsecureProtocol = true
- url = uri("https://maven.aliyun.com/repository/apache-snapshots") }
- maven {
- isAllowInsecureProtocol = true
- url = uri("http://oss.jfrog.org/artifactory/oss-snapshot-local/") }
- google()
- jcenter()
- //鏈€鍚庝粠maven涓ぎ浠撳簱鎵?
- mavenCentral()
- }
-
- // Configure Gradle IntelliJ Plugin - read more: https://github.com/JetBrains/gradle-intellij-plugin
- intellij {
- pluginName.set(properties("pluginName"))
- version.set(properties("platformVersion"))
- type.set(properties("platformType"))
-
- // Plugin Dependencies. Uses `platformPlugins` property from the gradle.properties file.
- plugins.set(properties("platformPlugins").split(',').map(String::trim).filter(String::isNotEmpty))
- }
-
- dependencies {
- implementation("cn.hutool:hutool-core:5.7.16")
- }
-
- // Configure Gradle Changelog Plugin - read more: https://github.com/JetBrains/gradle-changelog-plugin
- changelog {
- version.set(properties("pluginVersion"))
- groups.set(emptyList())
- }
-
- // Configure Gradle Qodana Plugin - read more: https://github.com/JetBrains/gradle-qodana-plugin
- qodana {
- cachePath.set(projectDir.resolve(".qodana").canonicalPath)
- reportPath.set(projectDir.resolve("build/reports/inspections").canonicalPath)
- saveReport.set(true)
- showReport.set(System.getenv("QODANA_SHOW_REPORT")?.toBoolean() ?: false)
- }
-
- tasks {
- // Set the JVM compatibility versions
- properties("javaVersion").let {
- withType<JavaCompile> {
- sourceCompatibility = it
- targetCompatibility = it
- }
- withType<KotlinCompile> {
- kotlinOptions.jvmTarget = it
- }
- }
-
- wrapper {
- gradleVersion = properties("gradleVersion")
- }
-
- patchPluginXml {
- version.set(properties("pluginVersion"))
- sinceBuild.set(properties("pluginSinceBuild"))
- untilBuild.set(properties("pluginUntilBuild"))
-
- // Extract the <!-- Plugin description --> section from README.md and provide for the plugin's manifest
- pluginDescription.set(
- projectDir.resolve("README.md").readText().lines().run {
- val start = "<!-- Plugin description -->"
- val end = "<!-- Plugin description end -->"
-
- if (!containsAll(listOf(start, end))) {
- throw GradleException("Plugin description section not found in README.md:\n$start ... $end")
- }
- subList(indexOf(start) + 1, indexOf(end))
- }.joinToString("\n").run { markdownToHTML(this) }
- )
-
- // Get the latest available change notes from the changelog file
- changeNotes.set(provider {
- changelog.run {
- getOrNull(properties("pluginVersion")) ?: getLatest()
- }.toHTML()
- })
- }
-
- // Configure UI tests plugin
- // Read more: https://github.com/JetBrains/intellij-ui-test-robot
- runIdeForUiTests {
- systemProperty("robot-server.port", "8082")
- systemProperty("ide.mac.message.dialogs.as.sheets", "false")
- systemProperty("jb.privacy.policy.text", "<!--999.999-->")
- systemProperty("jb.consents.confirmation.enabled", "false")
- }
-
- signPlugin {
- certificateChain.set(System.getenv("CERTIFICATE_CHAIN"))
- privateKey.set(System.getenv("PRIVATE_KEY"))
- password.set(System.getenv("PRIVATE_KEY_PASSWORD"))
- }
-
- publishPlugin {
- dependsOn("patchChangelog")
- token.set(System.getenv("PUBLISH_TOKEN"))
- // pluginVersion is based on the SemVer (https://semver.org) and supports pre-release labels, like 2.1.7-alpha.3
- // Specify pre-release label to publish the plugin in a custom Release Channel automatically. Read more:
- // https://plugins.jetbrains.com/docs/intellij/deployment.html#specifying-a-release-channel
- channels.set(listOf(properties("pluginVersion").split('-').getOrElse(1) { "default" }.split('.').first()))
- }
-
- runIde {
- jvmArgs("-Xmx4096m","-XX:ReservedCodeCacheSize=512m","-Xms128m")
- }
- }
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。