所以我正在研究 EnvDTE
和 EnvDTE.CodeModel
API,我想知道是否有办法获取由 a 表示的文本值代码元素
。
假设我有一个 CodeAttribute
,有什么方法可以获取 CodeAttribute
代表的内容的 string
,即 [ MyAttribute(value="myvalue")]
.
我知道可以使用 CodeElement
的各种属性来重构代码,至少在某些情况下是这样,但对于某些事情来说,似乎只获取文本会更容易。
谢谢!
最佳答案
CodeElement
接口(interface)具有属性 StartPoint
和 EndPoint
,它们表示缓冲区中元素的开始和结束。这些包含行号/列,可以将其传递给 IVsTextLines.GetLineText
等方法,并返回您要查找的值。
要获取给定 CodeElement
的 IVsTextLines
,您可以执行以下操作
CodeElement ce = ...;
TextDocument td = ce.StartPoint.Parent;
IVsTextLines lines = td as IVsTextLines;
关于c# - vs201 0 auto 化: Get the text value of a EnvDTE. CodeElement,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4053308/