The plugin API seems powerful enough but last time I tried to play with it, I didn't get into the groove of things because docs were incomplete/not-up-to-speed/blog-posts-elsewhere-also-often-outdated, all this combined with Python-the-language it felt a bit too fickle/messy to me to get serious --- there was no comparison to the quite brilliant docs at https://code.visualstudio.com/docs/extensionAPI/overview when I weighed my options ---
But now that 3 is out of beta, I'll take another look and once again hope for an exhaustive, complete, up-to-date and comprehensive documentation of plugin development