I recently made my repo public and released a rather primitive version but already usable of a plugin to support Candid inside any intellij based editor.
Since I made this topic, I will keep using it as a sort of changelog but with more visual. I just made an update to v0.1.0 fixing a few things and features.
Auto import on completion
Menu entry to create a new file
Show if a type is not from the current file during the completion:
Please note whenever I make an update although the entire release process is well automated through github actions - the jetbrains marketplace is manually reviewing every update. It usually takes around 1-2 business day. There’s also the option to directly grab the plugin on github in the release section if you want it faster.
@Alaanor looks great! I don’t use IntelliJ so I’m wondering if this is (or could be) implemented using the language server protocol so that other editors could benefit from it as well.
Nope, unfortunately intellij way to make a language plugin is different from implementing a custom language for the language server protocol that most editor use. I was aware of this constraint from the beginning and still made the choice to go with this. There’s some github repo that have tried making the conversion possible but nothing of production grade. Imo this is something that has to be build twice, let’s hope someone will do it during the supernova hackathon
Sorry for the delay and that’s really cool to know this would be grant material @Fulco, thanks. I’m not yet sure whatever I’ll do it but there’s good chance I’ll just focus on this one rather for now.
I recently released the v0.2.0 which include a bunch of new small features. To make it more visual, here are some screenshots showing the added content.
Hello ! This time the release is the latest feature release . I consider the plugin to have enough feature. If there’s anything still missing in your opinion, now is the good time to create a github issue and suggest
Rust integration
The release v0.3.0 was focused on integrating rust in the plugin.
Line marker on rust files when a matching candid method is found
All three type, candid and package fields are required to enable rust integration. dfx.json is expected to be found at the root of the project. The type custom will not be supported because of the lack of explicit information that the plugin require to correctly resolve items.
Whats coming next ?
I will probably dedicate the remaining weekends for making the plugin more resilient by adding multiples unit tests, improve the codebase quality and optimizing performance if required.
Ps: @GLdev maybe now this feature can convince you to use clion