如何通过ENVDTE捕获VS2008中的鼠标点击事件?

时间:2009-08-25 07:37:50

标签: visual-studio-2008 vsx

我正在为Visual Studio编写一个附加组件(以VSPackage的格式)。其中一个设计特点是:当用户左键单击文本编辑器区域或按向上或向下键移动到新行时,加载项可以捕获此事件然后执行某些操作(它与“VA”类似在Visual Assist中概述“功能,当您单击一个新行时,相应的元素将在VA Outline工具窗口中突出显示。”

我遇到的问题是:我在Visual Studio Shell或其他支持鼠标级事件的SDK中找不到任何API(Envdte80命名空间提供了一个名为“TextDocumentKeyPressEvents”的事件,可用于键盘级事件)。有人得到了解决方案吗?非常感谢提前: - )

1 个答案:

答案 0 :(得分:0)

在Visual Studio可扩展性中没有直接的方法。 但是您可以使用本机WinAPI(来自C ++或C#扩展包)来设置全局鼠标挂钩 - 这将使您能够拦截鼠标单击。您可以在可扩展性包中过滤单击,在文本编辑器等中获取插入位置。