我正在尝试编写一个可视工作室MEF扩展,捕获用户当前的carret位置,确定当前所选功能的名称并打开相应的帮助文件。
我能够捕获F1事件并获取包含此信息的相应IWpfTextView视图。但是,我不知道如何解析carret选择的当前单词可能是什么。我可以使用position属性确定carret的当前位置,但这只给我一个整数。判断Carret当前这个词的最佳方法是什么?
EG。 myFunction(null,MY_CONSTANT,MY_CONSTANT2);光标在myFunction上的位置。
提前感谢您的帮助。
答案 0 :(得分:0)
您可以使用以下内容获取当前选定的功能:
DTE.ActiveWindow.Selection.ActivePoint.CodeElement(vsCMElement.vsCMElementFunction)
答案 1 :(得分:0)
我也一直试图这样做。经过一些试验和错误后,这似乎有效:
if (DTE.ActiveWindow.Selection.IsEmpty)
{
DTE.ActiveWindow.Selection.MoveLeft(FALSE);
DTE.ActiveWindow.Selection.MoveRight(TRUE);
}
string curWord = DTE.ActiveWindow.Selection.Text;