通常、サブライムテキストでユーザーが入力したものを追跡するプラグインをプログラミングするのではなく、代わりにコマンドをキーバインドにバインドします。次に、キーバインドのコンテキストで定義された特定の条件下で、ユーザーがその特定のキーを押すと、コマンドは実行して、選択キャレットの近くのテキストを表示します。
サブライムテキストプラグインは、Python 3で開発されました。ここで、print
はステートメントではなく機能です。したがって、デバッグメッセージをSTコンソールに出力するには、print('I am in "run"')
を使用する必要があります。しかし、場合にのみ、ユーザーはタブを押したときに作動する
{ "keys": ["tab"], "command": "this_is_an_example",
"context":
[
{ "key": "selector", "operator": "equal", "operand": "text.html", "match_all": true },
{ "key": "selection_empty", "operator": "equal", "operand": true, "match_all": true },
]
},
:
import sublime
import sublime_plugin
class ThisIsAnExampleCommand(sublime_plugin.TextCommand):
def run(self, edit):
print('I am in the "run" method of "ThisIsAnExampleCommand"')
self.view.insert(edit, 0, "Hello, World!")
は、あなたのようなキーバインドを定義できます。これは、プラグインのコードだった場合例えば
、すべての選択が空であり、編集中の現在のファイルの構文はHTMLです。
あなたのプラグインは、self.view.sel()
を見て選択/キャレットの位置を得ることができます。