我正在尝试使光标左侧的字符。我有拦截LineChanged
事件的处理程序。
OnLineChanged(TextPoint startPoint, TextPoint endPoint, int Hint)
我找不到任何内置方法来从TextPoint
s中获取信息。
做到这一点的最佳方法是什么?
还可以检查活动窗口是否打开了IntelliSense窗口吗?如果要打开IntelliSense,我想中止事件处理程序的执行。
答案 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();