I suppose Sublime Pty doesn’t need to take any responsibility for plugins.
I suppose no plugin developer needs to support any specific version of the editor.
There is an asymmetry here. Sublime is paid software. Sublime depends on plugins for critical, missing functionality (your mileage may vary on what is critical or missing). When Sublime does a new version, plugins may break. In the current ST2 to ST3 transition, some of the breakage is due to trivial but annoying differences between Python 2 and 3 (e.g., all print statements break). But, here is the asymmetry: the plugin authors are not paid and their work is open source. Either Sublime Pty takes responsibility for plugins or shares revenue so that plugin developers participate in the revenue they support. If not, users and the plugin developer community will abandon Sublime. It’s a nice editor, but we can get our work done with other editors with some level of dissatisfaction, but we’d find a way.
Some practical alternatives here:
- Sublime Pty shares revenue with certain plugin authors.
- Sublime Pty becomes a contributor to key plugin efforts and fixes many bugs that are Sublime Text infrastructure related (eg, the enabling API for plugins, not the specific functionality of various plugins)
- Sublime Pty “buys” (not clear what the price should be) certain plugins and takes full responsibility for them, thereafter.
- Sublime Pty sponsors a virtual “conference” to discuss the issues with any plugin developers willing to participate. Goal: devise a plan for upgrading plugins for ST3 with some ideas for future support
With ST2, I tried a lot of plugins that seemed pretty nice. But, with so many broken in ST3 I decided to back off and see what really mattered:
- Package Manager: really essential. works w/ ST3 but very confusing to see what is going on with the 2 different ways plugins can now be packaged. Needs to be fixed and agreed upon by Sublime Pty and Will Bond (who really deserves a some ST revenue. Without the package manager there would be no real ST plugin community. It is a requirement.)
- BracketHighlighter: works w/ ST3; nice improvements over the built in bracket highlighting
- SublimeLinter: currently broken; I consider this essential. I think the developer is a bit miffed by the complaints, but legitimately has to work his paid job.
- SSH: would like to have, but it’s not essential. While it’s a pain to manage local/server syncing with other utilities, there are plenty of ways to do it.
- Git: seems superficially appealing to make it “integrated” but unless that integration is REALLY thorough it is just dangerous to use something incomplete. One of Git Bash, Git Gui, or Tortoise will do the job outside of Sublime. You can even use git.exe via a Windows command shell. There are many clients for OS/x. It is safer to really learn the critical git commands and use them yourself. Unless a project becomes a mess that needs rebasing and other cleaning up, it’s a very small repertoire of commands. Conclude: live without a Git plugin.
- indent and other source code formatting: can live without
- Python shell beyond the console: would be nice but can live without (obviously it is not as easy to integrate the make/run environments for many other languages). After all, ST is an editor, not an IDE. Multi-languge IDEs have many issues of their own. (Well, if you want Eclipse, you know where you can get it…)
Obviously, other people’s preferences are different. Likely, only a very few plugins are really essential. I haven’t tried the various SSH plugins with ST3. That is probably critical especially since every serious competing programming editor has it natively or offers a working, reliable plugin.
Linting across a variety of languages is also essential.
There are a diverse array of nice-to-have plugins that are different for different users (that’s why they are nice to have… …and not essential). A plugin community is a nice thing to have. But, the Sublime Pty developer(s?) need to take responsibility for the few critical plugins that provide features required for ST to be competitive. There are different ways to achieve this, above.
It would be nice to see Jon Skinner reply.