如何在Visual Studio Extension中获取光标左侧的字符?

时间:2019-07-10 11:21:53

标签: .net visual-studio api visual-studio-extensions

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

OnLineChanged(TextPoint startPoint, TextPoint endPoint, int Hint)

我找不到任何内置方法来从TextPoint s中获取信息。

做到这一点的最佳方法是什么?

还可以检查活动窗口是否打开了IntelliSense窗口吗?如果要打开IntelliSense,我想中止事件处理程序的执行。

1 个答案:

答案 0 :(得分:2)

要获取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();