如何获取 Visual Studio 扩展中光标左侧的字符?

How to get the character to the left of cursor in Visual Studio Extension?

我正在尝试获取光标左侧的字符。我有拦截 LineChanged 事件的处理程序。

OnLineChanged(TextPoint startPoint, TextPoint endPoint, int Hint)

我找不到任何内置方法从 TextPoints 中获取它。

最好的方法是什么?

此外,有没有办法检查活动 window 是否打开了 IntelliSense window?如果 IntelliSense 打开,我想中止事件处理程序的执行。

获取EnvDTE.TextPoint左边的字符:

string CharacterToTheLeft(EnvDTE.TextPoint p)
{
    EnvDTE.EditPoint editPoint = p.CreateEditPoint();
    editPoint.CharLeft();
    return editPoint.GetText(1);
}

要在当前光标位置从 EnvDTE.TextPoint startPoint:

创建一个编辑点
    EnvDTE.TextSelection ts = startPoint.Parent.Selection;
    EnvDTE.EditPoint editPoint = ts.ActivePoint.CreateEditPoint();