Tag: IntelliJ 想法

Intellij IDEA插件开发。 行动“创建kotlin类”

我想为Intellij IDEA创建一个插件。 我需要添加一个动作( AnAction ),它将在一个自定义package在Kotlin中创建一个class (不是Java)。 我有两个问题: 如何创建具有所需扩展名的文件? 或者如何在自定义package使用Kotlin class (从某个基类)创建文件?

高效的地图和filter组合与stdlibs

我试图写一个有效的解决方案,以通用的地图/filter范例。 在Kotlin中,你可以编写如下的代码: schedule.daysOfWeek.map { it.adjustInto(today) as LocalDate } .filterTo(datesOnSchedule) { it.isBefore(endDate) } 一般来说,我正在应用一个地图,然后根据一个条件过滤映射的值。 但是,为此创建了一个中间集合。 这似乎没有必要。 我写了一个小function,应该做同样的事情,但没有中间收集。 inline fun Iterable.mapThenFilter(predicate: (R) -> Boolean, transform: (T) -> R) { mapThenFilter(ArrayList(), predicate, transform) } inline fun <T, R, C : MutableCollection> Iterable.mapThenFilter(collection: C, predicate: (R) -> Boolean, transform: (T) -> R): C { for (element in this) { […]

无法在Ktor应用程序中运行启动程序Spek测试

我使用IntellJ版本2017.2.5构建Ktor应用程序。 我也想用Spek来测试应用程序。 我从一个非常简单的文件开始, import org.jetbrains.spek.api.Spek import org.jetbrains.spek.api.dsl.given import org.jetbrains.spek.api.dsl.it import org.jetbrains.spek.api.dsl.on import kotlin.test.assertEquals class SampleSpec : Spek({ given(“some context”) { on(“executing some action”) { it(“should pass”) { assertEquals(2, 2) } } } }) 当我右键点击运行测试,我得到以下错误: Feb 08, 2018 2:50:32 PM org.junit.platform.launcher.core.DefaultLauncher handleThrowable WARNING: TestEngine with ID ‘spek’ failed to discover tests java.lang.NoClassDefFoundError: org/junit/platform/engine/discovery/ClasspathSelector at org.jetbrains.spek.engine.SpekTestEngine.resolveSpecs(SpekTestEngine.kt:48) at […]

Kotlin – IntelliJ项目设置

我想用Kintlin为JVM启动一个使用IntelliJ IDE的新项目,但是我无法获得配置。 我试图按照这个教程 ,之后没有工作(“运行_DefaultPackage”选项甚至没有出现),我开始尝试直观地认为应该做的没有成功。 到目前为止(重复)发生了什么: 我创建了一个新项目,选择“Kotlin – JVM”作为项目types。 我在第二页上点击Kotlin Runtime的“Create …”按钮,并选择“Copy to:lib”。 我点击“完成”,创建的项目有一个与我的项目同名的模块。 没有默认的源文件或任何配置。 我创建了一个名为“app.kt”的Kotlin文件(我也尝试了其他名称,例如“Main.kt”),并将以下源代码放在: fun main(args: Array){ println(“Hello world!”) } 我右键单击代码编辑器和左窗格中的文件,find本教程中提到的“Run’_DefaultPackage’”选项,但未能在其中find它。 我创建了一个新的Kotlin配置,要求我放入一个“主类”。 看到这个,我把代码改成: public class Main { fun main(args: Array) { println(“Hello world!”) } } 我编辑我的配置并将主类设置为“Main”,然后运行配置。 它失败,并出现此错误:“错误正在运行:函数’main’在’Main’类中找不到。 我错过了什么?

使用kotlin-stdlib 1.1.51,但加载了kotlin-runtime 1.3

我使用kotlin-1.1.51和gradle,但加载了kotlin-runtime-1.1.3 环境: Windows10 IntelliJ IDEA Ultimate 2017.2.5 的build.gradle 依赖

IntelliJ错误:构建过程exception终止

我刚刚安装了IntelliJ,我正在尝试构建一个Scala项目。 但是,每次我都会收到此错误消息: 信息:6/7/16,12:14 PM – 编译在10ms内完成1个错误和0个警告错误:构建进程exception终止:/Users/USERNAME/Downloads/jdk1.8.0_91/bin/java -Xmx700m -Djava。 awt.headless = true -Djava.endorsed.dirs = \“\”-Djdt.compiler.useSingleThread = true -Dpreload.project.path = / Users / USERNAME / IdeaProjects / Test -Dpreload.config.path = / Users / USERNAME /Library/Preferences/IdeaIC2016.1/options -Dcompile.parallel = false -Drebuild.on.dependency.change = true -Djava.net.preferIPv4Stack = true -Dio.netty.initialSeedUniquifier = 2119707358466010108 -Dfile.encoding = UTF-8 -Djps.file.types.component.name = CommunityFileTypes -Duser.language = en -Duser.country […]

在我创建的模块中找不到文件的IntelliJ报告错误

我是编程新手,刚刚开始学习Kotlin。 我目前正在处理类和构造函数。 现在我正在努力在我参加的课程中完成一个“编码挑战”。 我刚刚完成了所有的编码工作,但是当我尝试运行所有的东西的时候,IntelliJ说,在一个红色中心的小窗口里: 运行“oo.Coding_Challenge_ClassesKt”时出错:在“Kotlin_Course”模块中找不到类“oo.Coding_Challenge_ClassesKt” 这听起来可能是一个愚蠢的问题,但是在两周的时间里,这实际上是我第一次遇到这样的问题,无法看到我的代码是否正确。 感谢大家的耐心。

各种问题@NonNull,@NotNull和@ParametersAreNonnullByDefault

我是使用AndroidStudio或IntelliJ IDEA的Android开发者。 我倾向于相信我的IDE,并且对下一个事实感到恼火: 在IDE项目中,当IDE自动生成扩展Kotlin类的java中的一个方法时,两个IDE都使用@NotNull而不是@NonNull ,是否有这样的设置? 这个 我们有@ParametersAreNonnullByDefault但是当我从第1点重写方法,并且我没有把任何注释IDE警告我,但为什么? 我的假设是错的吗? 有解决方案吗?

Kotlin字节码 – 如何在IntelliJ IDEA中分析?

我是Kotlin的新手,我希望能够查看编译的字节码,以便了解更多关于它如何工作的信息。 我正在使用IntelliJ IDEA 15,但找不到查看字节码的好方法。 我错过了什么?

当使用Maven编译时,类路径条目指向一个不存在的位置警告

我们最近从Kotlin 1.1.51升级到1.2.10,清除了所有警告(我们使用“错误”将警告视为错误),并且项目正在运行。 我们使用mvn verify命令从命令行构建它,以及使用Build > Build project从IntelliJ Build > Build project 。 然后,我们决定升级到最新版本(1.2.21),这里是我们看到的一些问题:从命令行( mvn verify )编译项目时出现警告,导致编译失败: [警告]类路径条目指向一个不存在的位置:/用户/用户名/ git /项目名称/目标/类 有意思的是,如果我们在IntelliJ上执行Build > Build Project ,那么就没有任何警告,并且项目将编译(并运行)而没有问题。 如果我们将Kotlin的版本降级到pom文件(而不是1.2.21)上的1.2.10,则它将再次从命令行和IntelliJ Build中成功建立。 我们注意到当我们执行Build> Build Project时,在目标文件夹中创建了两个目录:classes和test-classes; 而当命令行编译失败时,有两个不同的目录:kotlin-ic和maven-status。 我看到似乎相关的问题( 1,2或3 ),但是它们的错误/警告似乎是特定于某些库的,而在这种情况下,它看起来像更一般的东西(它不是一个特定的库,我可以像建议的那样添加为依赖项在答案)。 为什么命令行和IntelliJ版本之间的区别? 是什么引发了这个警告,我们该如何解决?