Visual Studio 2010扩展获取选定的文本

Chr*_*ath 4 .net c# mef visual-studio-addins visual-studio-2010

我正在写自己的扩展.我已经创建了一个工具栏按钮.我使用的模板是"Visual Studio Package",在向导中有一个选项来创建一个命令按钮(或类似的东西)

因此按钮显示,但我无法弄清楚如何获取当前文档或文档中的选定文本.

任何帮助,将不胜感激.

Noa*_*rds 8

有两种方法可以解决它:

  1. 全局处理按钮并用于DTE获取当前文档(DTE.ActiveDocument)和所选文本(((TextDocument)activeDoc).Selection.Text).您可以DTE通过编写以下内容来获取包中的顶级对象:DTE dte = GetService(typeof(SDTE)) as DTE; 请注意,活动文档可能是null.
  2. 在编辑器级别创建命令处理程序以处理给定的命令.我写的Align Assignments扩展(源代码)就是一个例子.这是命令过滤器的样子.