There are currently two Kotlin plugins.
JetBrains Kotlin plugin
Donated by JetBreains.
Original URL: https://github.com/JetBrains/kotlin-netbeans
It can be found inside contrib
folder of Apache NetBeans source code:
https://github.com/JetBrains/kotlin-netbeans/issues/137
https://github.com/apache/netbeans/pull/1398
Steps to build it:
- The
pom.xml
requires some dependencies that are not in the central maven repository. These are:asm-all.jar, idea-formatter.jar, intellij-core.jar, kotlin-converter.jar, kotlin-formatter.jar, kotlin-ide-common.jar, openapi-formatter.jar
.intellij-core.jar
artifact could be directly taken from: https://www.jetbrains.com/intellij-repository/releases. The other artifacts can be found at https://github.com/JetBrains/kotlin-eclipse project inside thekotlin-bundled-compiler
folder. Once you have collected all these libraries, create a lib folder insidekotlin-netbeans
project and paste them inside there. - In NetBeans, click on Tools → Plugins → Settings tab and add a new plugin Portal: Name: NetBeans 8.2 Plugin Portal, URL: http://updates.netbeans.org/netbeans/updates/8.2/uc/final/distribution/catalog.xml.gz. Make it active.
Once you build the project, all Java and NetBeans dependencies should be resolved. However, not the Kotlin code which throws a lot of compilation errors. The plugin contains Kotlin code that needs to be built/migrated to the latest Kotlin compiler version and all the compilation errors need to be fixed.
LSP Kotlin Plugin
NetBeans 12.x and later already provide some basic support in the java/kotlin.editor
module. This should be the plugin that should be further developed. It uses Kotlin.tmLanguage.json
. This JavaDoc explains how to integrate a TextMate lexer with NetBeans.
With this plugin one can open a .kt
file via the Windows→Favourites tab.
There are also contrib/groovy.grails
and contrib/groovy.grailsproject
.
Language Feature Support | Status |
File type recognition | √ |
Project type | |
Semantic syntax highlighting | √ |
Formatting | √ |
Braces matching | √ |
Error Hints/Fixes/Suggestions | |
Code completion | |
Code templates | |
Refactoring | |
Debugging |