在文档中查找用户在Visual Studio扩展上下文菜单中单击的位置

本文关键字:菜单 单击 位置 上下文 Studio 文档 查找 用户 Visual 扩展 | 更新日期: 2023-09-27 18:21:36

我希望能够找到用户在文档中单击的位置,以显示右键单击上下文菜单。基本上,我希望能够看到光标在点击下的确切位置。

我用下面的代码处理右键单击菜单项,但是我使用的eventArgs没有任何关于菜单触发的细节。理想情况下,我希望能够精确定位用户点击代码的距离。

private void MenuItemCallback(object sender, EventArgs e)
{
    DTE dte = Package.GetGlobalService(typeof(DTE)) as DTE ;
    TextDocument activeDoc = dte.ActiveDocument.Object() as TextDocument;
    var text = activeDoc.CreateEditPoint(activeDoc.StartPoint).GetText(activeDoc.EndPoint);
}

在文档中查找用户在Visual Studio扩展上下文菜单中单击的位置

ActivePoint可用于处理大多数情况:

activeDoc.Selection.ActivePoint

这将点击活动点,但如果点击的区域已经是选择的一部分,则可能会给出不同的结果。