Как захватить событие щелчка мыши в VS2008 ENVDTE? - PullRequest
1 голос
/ 25 августа 2009

Я пишу дополнение (по формату VSPackage) для Visual Studio. Одна из разработанных функций: когда пользователь щелкает левой кнопкой мыши в области текстового редактора или нажимает клавишу «Вверх» или «Вниз», чтобы перейти к новой строке, надстройка может захватить это событие, а затем сделать что-то (это похоже на «VA»). Outline »в Visual Assist, когда вы нажимаете на новую строку, соответствующий элемент будет выделен в окне инструмента VA Outline).

Проблема, с которой я сталкиваюсь: я не могу найти API в Visual Studio Shell или другом SDK, который поддерживает событие уровня мыши (пространство имен Envdte80 предоставляет событие с именем «TextDocumentKeyPressEvents», которое можно использовать для события уровня клавиатуры ). Кто-нибудь получает решение для этого? Заранее большое спасибо: -)

1 Ответ

0 голосов
/ 29 декабря 2009

Нет прямого способа сделать это в расширяемости Visual Studio. Но вы можете использовать собственный WinAPI (из пакета расширения C ++ или C #) для установки глобальной ловушки мыши - это даст вам возможность перехватывать щелчки мыши. Вы можете отфильтровать щелчок, получить позицию каретки в текстовом редакторе и т. Д. Из вашего пакета расширяемости.

...