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

#visual-studio-code

#visual-studio-code

Вопрос:

В настоящее время горячая клавиша по умолчанию — Ctrl J, и она работает для переключения (отображения и скрытия) любой панели, которая может занимать пространство (вывод, терминал и т.д.)

Что я хочу сделать, это сделать Esc горячей клавишей, чтобы скрыть панель, только если она уже показана (не переключать). Это то, что у меня есть прямо сейчас в keybindings.json, но, конечно, это будет переключать панель взад и вперед.

 { "key": "escape",    "command": "workbench.action.togglePanel" }
  

Могу ли я использовать контекст «когда», в котором указывается отображаемая панель, чтобы я мог заставить эту горячую клавишу работать только при отображении?

 { "key": "escape",    "command": "workbench.action.togglePanel",
                      "when": "__________??______________"       }
  

Если не «когда», есть ли «команда», которая только закрывает активную панель вместо переключения? Спасибо.

Ответ №1:

Нет, нет when условия, которое указывает на видимость панели. Даже если бы было такое условие, и вы бы привязались Esc к workbench.action.togglePanel , вы, вероятно, получили бы конфликты с другими командами, привязанными к, Esc поскольку их when условия могли бы выполняться одновременно.

Привязки клавиш по умолчанию (по крайней мере, на компьютере с Windows) содержат 15 команд, привязанных к Esc в разных условиях. Я думаю, гораздо проще использовать CTRL j для переключения панели, а затем настроить when условия для всех остальных 15 привязок клавиш, чтобы получить желаемое поведение во всех случаях.