Wednesday, February 4, 2015

The state of Go plugin for IntelliJ IDEA plugin

I've started to write this after someone asked for some details on what's happening with the plugin and where is it going.

To start with, there have been some major developments in 2014.

We've stopped using my dropbox link and started using an automated build process which builds the plugin for us and releases it at: https://github.com/go-lang-plugin-org/go-lang-idea-plugin/releases

Towards the end of the year, the master branch, aka 0.9.x received some major refactorings for the internals in order to fix some underlying issues that otherwise would have been next to impossible to fix.

We've also got a major contribution in terms of a completely rewritten plugin for some friends of ours, which is now known as 1.0.0-alpha0 branch.

Meanwhile, Mihai and me, both got stuck with availability issues, as we contribute to the plugin from our spare time. As you can imagine, that's very hard to do when there are many things in your personal life. So this is a major problem (maybe the biggest).

The second major problem we have is that despite the huge interest in the plugin, and people willing to use it, we've only had 4 other guys helping us out with active code contributions during 2014. And we had them for at most 1-2 months.

Maybe a big reason for people contributing to the plugin is that it's written in Java... Maybe it's because despite their best efforts, the documentation on how to do / solve different issues with the plugin framework provided by JetBrains, writing a language plugin is still a really really hard task.

Fortunately, one way or the other, my availability issues will finish after 1st of March 2015 but still, there are many things I don't know how to do. Fortunately, both Sergey and Alexander will be there to help me out but when I get stuck, but working 3-4 hours / day at best won't come near to working 8+ hours / day on it.

I'll start working on the 1.0.0-alpha0 branch, and port things from 0.9.x while working on the documentation for the steps I'm doing. I hope this would help others learn things faster.

Definitely in 2015 we'll have a better Go plugin for IntelliJ IDEA and other IDEs while building the way to the best experience possible for go.

If you are reading this and made it this far, and want to help, you can always start here: https://github.com/go-lang-plugin-org/go-lang-idea-plugin/blob/v1.0.0-alpha0/CONTRIBUTING.md It should provide all the information that you need to work on the plugin.

You can also join our Gitter channel here https://gitter.im/go-lang-plugin-org/go-lang-idea-plugin


Thank you for reading this, I hope I'll see your PR soon ;)

No comments :