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

时间:2010-07-02 04:51:09

标签: c# .net visual-studio-2010 mef visual-studio-addins

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

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

任何帮助都将不胜感激。

1 个答案:

答案 0 :(得分:8)

有两种方法可以解决它:

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