Привязать ярлык к команде палитры команд?

Я только что установил плагин под названием CodeSniffer (http://soulbroken.co.uk/code/sublimephpcs), и я хочу связать одну из его команд из палитры команд с сочетанием клавиш, потому что я так часто его использую.

Есть ли простой способ сделать это? Или мне просто нужно будет спросить у разработчика, как называется команда (в палитре команд это «PHP CodeSniffer: очистить снифферные метки»)?

Спасибо


person Ben    schedule 06.08.2012    source источник


Ответы (2)


На самом деле найти имя команды очень просто, но для этого требуется несколько шагов.

  • Откройте встроенную консоль Sublime Text (control+`)
  • Введите sublime.log_commands(True)
  • Запуск команды из палитры команд

Имя команды будет записано в консоль. Затем откройте свои пользовательские привязки клавиш и создайте новую привязку клавиш следующим образом:

{ "keys": ["YOUR_SEQUENCE"], "command": "YOUR_COMMAND" }

Я предоставил аналогичный ответ здесь: Тип файла Keymap Sublime Text 2?

person BoundinCode    schedule 07.08.2012
comment
Это очень помогло мне. Мне удалось привязать ctrl+r к команде run_apex_script MavensMate. Огромное спасибо! - person Charles Naccio; 14.09.2015
comment
в Ubuntu 18.04 Sublime build 3211 я получаю сообщение об ошибке: >>> sublime.log_commans(True) Traceback (most recent call last): File "<string>", line 1, in <module> AttributeError: 'module' object has no attribute 'log_commans' - person Michał Lepczyński; 18.03.2021

Другой способ — взломать файлы .sublime-commands.

Допустим, вы установили Sublime Package Control (что вы действительно хотите сделать!) и затем открыли его. в палитре команд (⌘⇧p в os x) и установите Search Stack Overflow пакет. Теперь у вас есть две новые команды в палитре команд: команды «Stackoverflow: Search Selection» и «Stackoverflow: Search from Input».

ОК, откройте файл .sublime-commands для пакета. Вам нужно найти его в первую очередь. Если вы хардкорщик, вы делаете «Просмотр»> «Показать консоль» и вводите print(sublime.packages_path())

В противном случае это должно быть здесь

  • Windows: %APPDATA%\Sublime Text 2\Пакеты
  • OS X: ~/Library/Application Support/Sublime Text 2/Packages
  • Linux: ~/.Sublime Text 2/Пакеты
  • Портативная установка: Sublime Text 2/Data/Packages

а затем "Поиск переполнения стека/Default.sublime-commands"

Это файл, который заставляет команды отображаться в палитре команд в первую очередь.

Это еще один файл JSON с такими записями

{
    "caption": "Stackoverflow: Search from Input",
    "command": "stackoverflow_search_from_input"
}

видите, это имя команды прямо здесь: stackoverflow_search_from_input

Теперь просто откройте JSON-файл привязки клавиш пользователя и добавьте привязку ключа, как сказал @BoundinCode.

person PapaFreud    schedule 13.12.2012
comment
См. также: Подкаталог с установленными пакетами, если вы не найдете его ни в одном из предложенных выше мест. - person dreftymac; 19.07.2018
comment
и если ваш пакет находится в Installed Packages, вам нужно будет открыть файл архива (например: Terminus.sublime-package), чтобы иметь возможность перейти к Default.sublime-commands - person Michał Lepczyński; 18.03.2021