你可以使用Intellij和Eclipse的Kotlin插件将Java文件转换为Kotlin。是否可以在没有这些IDE的情况下通过命令行完成此转换?
看起来是可以的,但没有工具,只能编写代码。在 Kotlin 的 Github 存储库中,j2k 模块 中有测试,下面的示例取自 tests (AbstractJavaToKotlinConverterSingleFileTest):
private fun fileToKotlin(text: String, settings: ConverterSettings, project: Project): String {
val file = createJavaFile(text)
val converter = JavaToKotlinConverter(project, settings,
IdeaReferenceSearcher, IdeaResolverForConverter)
return converter.filesToKotlin(listOf(file), J2kPostProcessor(formatCode = true)).results.single()
}
我想,你可以将那个模块制作成一个 .jar 文件,并编写自己的简单包装器来使 JavaToKotlinConverter
在文件上工作。
更新:代码已经迁移到 intellij-community
仓库,你可以在这里找到相关测试:https://github.com/JetBrains/intellij-community/blob/2382372993bee233bc6fce95c3917a68a33da111/plugins/kotlin/j2k/new/tests/test/org/jetbrains/kotlin/nj2k/AbstractNewJavaToKotlinConverterSingleFileTest.kt