我正在编写自己的扩展程序。我已经创建了一个工具栏按钮。我使用的模板是“Visual Studio Package”,在向导期间有一个选项可以创建一个命令按钮(或类似的东西)。
所以这个按钮出现了,但我不知道如何获取当前文档或文档中选定的文本。
如果有帮助,将不胜感激。
我正在编写自己的扩展程序。我已经创建了一个工具栏按钮。我使用的模板是“Visual Studio Package”,在向导期间有一个选项可以创建一个命令按钮(或类似的东西)。
所以这个按钮出现了,但我不知道如何获取当前文档或文档中选定的文本。
如果有帮助,将不胜感激。
DTE
获取当前文档 (DTE.ActiveDocument
) 和所选文本 (((TextDocument)activeDoc).Selection.Text
)。您可以通过编写以下代码在包中获取顶层 DTE
对象:DTE dte = GetService(typeof(SDTE)) as DTE;
请注意,活动文档可能为 null
。
SDTE
这样的接口;“S”代表“服务”,并用作卡在服务提供程序中的对象的键。请查看MSDN上的此命名空间(向下滚动页面,直到找到以SVs
开头的接口)。 - Noah RichardsSVsUIShell
映射到IVsUIShell
,IVsUIShell2
...直到4。 - Noah Richardsusing EnvDTE;
才能使用DTE
。同样的情况也适用于EnvDTE.TextSelection
和其他相关内容。 - Pascal