Ich habe diese sehr einfache Intellij Idee Plugin, die einige Referenzausdrücke faltet erstellt. Es funktioniert hervorragend für Java-Dateien, aber es funktioniert nicht für Kotlin.Make Intellij Idee Plugin arbeiten mit Kotlin-Dateien
Hier ist die Quelle: https://github.com/nodes-android/nstack-translation-folding.
Ich werde hier sind die wichtigen Teile:
plugin.xml
</idea-plugin>
<depends>com.intellij.modules.all</depends>
<application-components>
<component>
<implementation-class>com.nodes.folding.TranslationFoldingBuilder</implementation-class>
</component>
</application-components>
<extensions defaultExtensionNs="com.intellij">
<lang.foldingBuilder language="JAVA" implementationClass="com.nodes.folding.TranslationFoldingBuilder"/>
</extensions>
</idea-plugin>
TranslationFoldingBuilder.kt
class TranslationFoldingBuilder : FoldingBuilderEx() {
override fun buildFoldRegions(root: PsiElement, document: Document, quick: Boolean): Array<FoldingDescriptor> {
if (root !is PsiJavaFile) {
return FoldingDescriptor.EMPTY
}
val descriptors = ArrayList<FoldingDescriptor>()
// Get all the reference expressions in this Java file
val referenceExpressions = PsiTreeUtil.findChildrenOfType(root, PsiReferenceExpression::class.java)
// Some logic
return descriptors.toTypedArray()
}
}
Mein Problem ist, dass für Kotlin Dateien die buildFoldRegions() wird überhaupt nicht aufgerufen.
Hat du versuchst, 'language = "KOTLIN"' zu spezifizieren? – Argb32
Ich habe es versucht. Es funktioniert nicht. – vovahost