I created first plugin for sublime text 3 with name relative:
import sublime, sublime_plugin
class ExampleCommand(sublime_plugin.TextCommand):
def run(self, edit):
self.view.insert(edit, 0, "Hello, World!")
Then save it to path
/pathToSublime3/Packages/relative/relative.py
Then try to test it in command window (cntrl + `):
view.run_command('example')
I expected to see Hello, World! in the beginning of current opened file, but fail. What I do wrong?
If your experience was like mine, you may have copied several super basic plugins to try to find one that worked. I think the failure of the others was affecting the Hello World one. For what it's worth, here are the things I did that seem to have worked.
I'm using ST3 on Win7, so maybe there are differences in plugin development between that and ST2.
Note that as I tried many different permutations of these, I don't exactly know which ones are the real fix. But if these get you working, then maybe you can start making incremental changes and see when it breaks.
A few of the simple/tutorial plugins I copied off the web (even some from sublimetext.com!) referenced/imported "sublimePlugin" which errorred on my ST3 Win7 instance. Apparently the correct library to import is "sublime_plugin". The two places this is used, in basic plugins, are 1) at the very top in the import section, as well as 2) in the class line, which I'll illustrate below...
# didn't work for me...
class ExampleCommand(sublimePlugin.TextCommand):
# DID work for me...
class ExampleCommand(sublime_plugin.TextCommand):
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With