TL;DR
ディレクトリに任意の名前のファイルを作成しますPackages/User
。MyTestCommand
メソッドのように、ファイルにクラスを作成しますrun
。スネーク ケースのクラス名を使用し、Command
接尾辞なしでキーマップを作成します。コマンドに何かを渡すには、名前付き引数を使用します。
完全な答え
カスタム コマンドを作成するために何かを登録する必要はありません。.py
Sublime Text はスクリプトのディレクトリをスキャンし、自動的に実行 (登録) するだけなので、ファイル名は重要ではありません。
これが私が使用するスクリプトの例です:
import sublime
import sublime_plugin
class ChangeViewCommand(sublime_plugin.WindowCommand):
def run(self, reverse=False):
window = self.window
group, view_index = window.get_view_index(window.active_view())
if view_index >= 0:
views = window.views_in_group(group)
if reverse:
if view_index == 0:
view_index = len(views)
if reverse:
new_index = view_index - 1
else:
new_index = (view_index + 1) % len(views)
window.focus_view(views[new_index])
つまり、現在のグループの次/前のタブに切り替えます (デフォルトの動作では、すべてのタブ グループが循環します)。
Packages/User
したがって、ディレクトリに任意の名前で保存するだけです。
次に、ユーザー キーマップ ファイルにキー バインディングを作成する必要があります。
{ "keys": ["ctrl+tab"], "command": "change_view" },
{ "keys": ["ctrl+shift+tab"], "command": "change_view", "args": {"reverse": true} },
ご覧のとおり、コマンドはサフィックスsnake_case
のないクラス名です。Command
これにより、名前付き引数を使用してクラスのrun
メソッドが実行されます。
これはあなたの質問に答えていますか?エラーが発生した場合のデバッグ用 - ST コンソールを開きます (デフォルトのショートカットはctrl+です`) 。