Если вы читаете нижеприведенную статью
https://code.visualstudio.com/docs/extensionAPI/patterns-and-principles
Там написано
Код Visual Studio имеет очень богатую модель расширяемости, и есть много способоввытянуть инструмент.Однако мы не предоставляем прямой доступ к базовому DOM пользовательского интерфейса для разработчиков расширений.Используя VS Code, мы постоянно пытаемся оптимизировать использование базовых веб-технологий для предоставления всегда доступного, быстро реагирующего редактора, и мы будем продолжать настраивать использование DOM по мере развития этих технологий и нашего продукта.Чтобы поддерживать производительность и совместимость, мы запускаем расширения в своем собственном хост-процессе и предотвращаем прямой доступ к DOM.VS Code также включает в себя встроенный набор компонентов пользовательского интерфейса для распространенных сценариев, таких как IntelliSense, так что этот опыт согласован для разных языков программирования, и разработчикам расширений и расширений не нужно создавать свои собственные.
Мы понимаем, чтоэтот подход может изначально показаться ограничительным для разработчиков расширений.Мы всегда ищем способы улучшить нашу модель расширяемости и расширить возможности, доступные для расширений.Мы с нетерпением ждем ваших отзывов и идей.
Это означает, что ваш код расширения вообще не запускает контекст окна редактора.И вы не можете взломать webview, так как расширение api не предоставляет его.Таким образом, вам нужно открыть запрос на функцию с командой VScode и попросить их выставить либо последнее событие клавиатуры, либо, по крайней мере, состояние клавиш Shift
, Ctrl
и alt
.В настоящее время они просто отбрасывают его и выбрасывают (если редактор не открыт), иначе отправляют его в редактор Монако, прежде чем проверять наличие комбинации клавиш