我正在使用Visual Studio 2008对象模型,如下所示:VS2008 Automation Object Model Chart。
我想对VS2008 Marco中的CodeElement
起作用,它是由当前.cs文档中用户的文本选择所选择的。
尽管我不太在意如何获得它,但这是我尝试的方法:VS对象模型为您提供了DTE.ActiveWindow.Selection
类型的TextSelection
,然后有一个DTE.ActiveDocument.ProjectItem.FileCodeModel.CodeElementFromPoint()
方法采用了一个TextPoint
和vsCMEElement
作为参数,并根据需要返回CodeElment
。
但是我似乎无法从TextElement
获得TextSelection
。
有人可以告诉我如何从.cs文件中的选定文本中获取CodeElement
吗?
最佳答案
尝试这个:
textSelection = DTE.ActiveWindow.Selection
codeElement = textSelection.ActivePoint.CodeElement(vsCMElement.vsCMElementClass)