Cangjie Language Plugin for IntelliJ Platform
December 5, 2025 · View on GitHub
A comprehensive language plugin for the Cangjie programming language on IntelliJ-based IDEs.
Supports the latest 4 IDE versions .
Get it from JetBrains Marketplace
Repositories
GitCode Open Cangjie Community
Installation
Search for CangJie in the Plugins marketplace of your IntelliJ-based IDE and install it.

To create a project, use the CangJie template.
Features
| Feature | Status | Description |
|---|---|---|
| Syntax Parsing | ✓ | Full syntax support including classes, functions, variable declarations, etc. |
| Syntax Highlighting | ✓ | Basic lexical highlighting |
| Code Completion | ± | Partially supported, continuously improving |
| Code Formatting | ✓ | Supported |
| Debugging | ✓ | DAP debugging and lldb debugging |
| Run Targets | ± | Partially supported |
| LSP | ✓ | Implemented via LSP4IJ |
| Project Management | ✓ | CJPM project parsing and dependency management |
| Workspace Support | ✓ | Multi-module workspace projects |
Legend:
- ✓ Implemented
- ± Partially supported
- - Planned
Project Architecture
For detailed project structure, see PROJECT_STRUCTURE.md.
Tech Stack:
- Kotlin 2.2.0 + Gradle Kotlin DSL
- IntelliJ Platform SDK
Development Guide
Building the Project
# Full build
./gradlew build
# Run plugin in IDE sandbox
./gradlew :plugin:runIde
# Build plugin distribution
./gradlew :plugin:buildPlugin
Generating Lexer
After modifying .flex files, regenerate the lexer:
./gradlew :psi:generateLexers
Running Tests
# Run all tests
./gradlew test
# Run specific module tests
./gradlew :psi:test
Multi-Version Support
# Build for specific IDE version
./gradlew build -PplatformVersion=242
./gradlew build -PplatformVersion=253
Contributing
If you find any issues or missing features, contributions are welcome!
How to Contribute
- Fork the repository
- Create your feature branch (
git checkout -b feature/AmazingFeature) - Commit your changes (
git commit -m 'Add some AmazingFeature') - Push to the branch (
git push origin feature/AmazingFeature) - Open a Pull Request
License
This project is licensed under the Apache License 2.0.
You are free to use, modify, and distribute this software under the terms of the license. The license permits:
- Commercial use
- Modification
- Distribution
- Patent use
- Private use
For full license details, see the LICENSE file or visit Apache License 2.0.
Thank you for your support!