2010-06-04 121 views
1

我一直在研究MEF(托管扩展框架),但我不完全确定它是否是我需要的东西,并可以帮助我适应我需要做的事情。Visual Studio 2010与托管扩展框架

有人可以提供一个简单易懂的MEF说明,提供很好的资源和教程(MSDN除外)和/或知道它是否可以完成我想在Visual Studio下执行的任务?

我试图做的任务是每当用户选择一个文本字符串时将一个文本字符串“记录”到一个文本文件。我还需要此功能以被动和实时方式运行,而Visual Studio加载项不支持此功能,因为它们的行为是“单击按钮才能工作”。

+0

你能不能给一点更详细地对你试图完成什么? “被动地和实时地”是什么意思? – 2010-06-04 19:52:13

+0

对不起。我的意思是我希望我的代码能够在IDE运行时工作。当我突出显示一段文字时,我希望我的代码将所选文本自行记录到文件中,而无需用户自行手动记录。 – NewProgrammer 2010-06-04 19:57:14

回答

0

我敢肯定,在.NET中这是可能的,而不会“接近金属”,可能是对“低级代码”的引用。 .NET方法TextPattern.GetSelection Method将帮助您完成您的任务,如果与MouseEvent处理程序结合使用。

+0

感谢Stephan的帮助,但我这样做的目的是为Visual Studio 2010编写代码作为扩展,并将其写入C#中。由于MEF似乎是我的一种解决方案,因此我需要一些帮助,因为我仍然对Visual Studio加载项和MEF Extensiblity API – NewProgrammer 2010-06-04 21:05:21

+0

不熟悉。我会使用C#MouseEvent侦听器和上面提到的C#TextPattern.GetSelection方法。 – nottinhill 2010-06-04 21:34:23

1

参见my response to a similar question

答案是“是”,这是可能的/支持的。在样本/文档/演练中查找以下内容:

IWpfTextViewCreationLister - 用于检测何时创建编辑器实例。
ITextView.Selection - 选择对象
ITextSelection.SelectionChanged - 提出只要选择的变化(虽然不是空的选择跟踪插入符号)