在Visual Studio 2010中使用自定义UI编辑器注册自定义文件类型

psu*_*lek 4 mef editor visual-studio-2010

我发现了一篇名为LearnVSXNow的旧文章和第30部分- Visual Studio中的自定义编辑器.有样本项目的博客项编辑器,显示如何使此文件类型的扩展名(.blit)此示例使用项目自定义用户界面编辑器指定自定义文件类型VSXtra,这是书面的Visual Studio 2008.

有人能指出我的一些教程,操作方法,或者如何为Visual Studio 2010做同样的事情?我的目标是在visual studio 2010中注册自定义文件类型扩展名(例如*.myext1),并指定我自己的自定义UI设计器(WinForms,派生自UserControl)来直观地处理此类文件的编辑内容.

我找到了一些样本,但每个样本只显示代码文本编辑器的变化(突出显示一些单词等).但是我希望在其中显示我自己的用户控件的工具窗口.

PS:使用我自己的usercontrol在其中创建自定义工具窗口的一部分是没有问题的,我使用VSPackage Builder项目模板来构建并在visx中注册它.我的问题是如何注册自定义文件类型以使用此自定义工具窗口来编辑文件.

Aar*_*ten 10

虽然核心文本编辑器在Visual Studio 2010中发生了显着变化(几乎完全重写,围绕MEF设计),但注册和提供自定义编辑器/设计器的一般基础结构并没有改变.

MSDN上的"创建自定义文本编辑器和设计器"页面是一个很好的起点.您还应该能够通过VSPackage向导并选择"自定义编辑器"来获得基本编辑器.它将为您提供一个简单的RTF编辑器.

您还可以在MSDN代码库中查看这些示例,以获取更多想法和灵感:

通常建议编辑器驻留在文档窗口中(而不是工具窗口).这是几乎所有内置编辑器/设计者在Visual Studio中使用的范例,它是用户在从解决方案资源管理器中打开内容时所期望的.在ToolWindow中编辑东西会感觉有点不自然.

我的理解是VSXtra提供了一些额外的辅助/基类(超出Microsoft支持的范围),以使各种任务(如编写自定义编辑器/设计器)更简单.但是,创建自定义编辑器并不是必需的.