IntelliJ-Kotlin is a collection of utilities and enhancements designed to improve the Kotlin development experience within IntelliJ IDEA. By addressing inconsistencies and providing additional features, this project aims to facilitate seamless development and integration for Kotlin developers.
- Enhanced Kotlin Support: Addresses inconsistencies within the PSI (Program Structure Interface) between Java and Kotlin.
- Modular Design: Organized into multiple sub-modules, each serving a specific purpose.
- Integration Utilities: Provides utilities for configuration reading, PSI manipulation, and Guice integration.
Provides common utilities shared across multiple other modules in the project.
Implements KotlinAnAction
, providing an ActionContext
to support Guice injections for plugin development.
- config: Provides utility classes for reading configurations from different sources.
- psi: Contains utility methods for working with the Program Structure Interface (PSI).
Addresses inconsistencies between Java and Kotlin within PSI, ensuring consistent behavior and representation within IntelliJ IDEA.
Provides support for additional Kotlin features within IntelliJ IDEA.
You can include the modules in your project by adding the appropriate dependencies from Maven Central:
<dependency>
<groupId>com.itangcent</groupId>
<artifactId>{module-name}</artifactId>
<version>{latest-version}</version>
</dependency>
Replace {module-name}
with the desired module (e.g., commons
, guice-action
) and {latest-version}
with the latest
version available on Maven Central.
Here's a basic example of how to use the guice-action
module:
class MyAction : KotlinAnAction() {
override fun actionPerformed(actionContext: ActionContext) {
// Your code here
}
}
Contributions are welcome! Please follow these steps:
- Fork the repository.
- Create a new branch for your feature or bug fix.
- Commit your changes with clear messages.
- Submit a pull request.
Please make sure to update tests as appropriate.
This project is licensed under the MIT License. See the LICENSE file for details.