- Syntax highlighting
- Compiler checking
- Automatic completion for prop, macro, function, keyword, comment etc.
- Folding
- Structure view
- Format export and import
- Hover for export, import, macro, prop, alias group etc.
- Go to definition
- Find symbol
- ✅ textDocument/didOpen.
- ✅ textDocument/didChange.
- ✅ textDocument/didSave.
- ✅ textDocument/didClose.
- ✅ textDocument/completion.
- ✅ textDocument/foldingRange.
- ✅ textDocument/formatting.
- ✅ textDocument/semanticTokens/full.
- ✅ textDocument/documentSymbol.
- ✅ textDocument/hover.
- ✅ textDocument/definition.
- ✅ workspace/executeCommand.
- ✅ workspace/symbol.
- ✅ workspace/configuration.
- ✅ $/progress.
- Visual Studio Code
- IntelliJ IDEA (Recommend you change the default theme because the default theme semantic token color is not good)
- Eclipse
- Neovim
- Any IDEs that support LSP
- You need to install JDK 17 or later in your system environment, but make sure your jdk version is compatible with your project
- Your project should have
gradlew
ormvnw
file otherwise you need to install Gradle or Maven in your system environment
- Visual Studio Code: Install the extension from the marketplace
- IntelliJ IDEA: Install the plugin from the marketplace
- Eclipse: First install new software LSP4E and then move the
plugin
to the
dropins
folder - Neovim: Install the neovim plugin and then move the server jar file to the
<userdir>/jimmer-dto-lsp/server.jar
- Other IDEs: Install the LSP server from the release page
- Build your project with Jimmer apt/ksp plugin
- Open a Jimmer DTO file
- Enjoy the features
Make sure you have downloaded the source jar file of the immutable dependency
If your project has other immutable dependencies you need to add
the dependencies configuration in the pom.xml
or libs.versions.toml
file
<?xml version="1.0" encoding="UTF-8"?>
<project>
<dependencies>
<dependency>
<groupId>cn.enaium</groupId>
<artifactId>immutable-dependency</artifactId>
<version>1.0-SNAPSHOT</version>
</dependency>
</dependencies>
</project>
[libraries]
test = { module = "cn.enaium:immutable-dependency", version = "1.0-SNAPSHOT" }
build/classes/kotlin/main
Gradle Kotlinbuild/classes/kotlin/test
Gradle Kotlinbuild/classes/java/main
Gradle Javabuild/classes/java/test
Gradle Javatarget/classes
Maven Java or Kotlinbuild/tmp/kotlin-classes/debug
Gradle Android Kotlinbuild/intermediates/javac/debug/classes
Gradle Android Javabuild/intermediates/javac/debug/compileDebugJavaWithJavac/classes
Gradle Android Java