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

时间:2011-02-07 15:12:41

标签: visual-studio-2010 editor mef

我发现了一篇名为 LearnVSXNow 和部分#30 - Custom Editors in Visual Studio的旧文章。有一个示例项目博客项目编辑器,它显示了如何使用自定义UI编辑器为此文件类型扩展名(.blit)分配自定义文件类型 此示例使用项目VSXtra,该项目是为 Visual Studio 2008

编写的

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

我找到了一些示例,但每个示例都只显示代码文本编辑器上的更改(突出显示某些单词等)。但我希望在其中显示我自己的用户控件的工具窗口。

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

1 个答案:

答案 0 :(得分:10)

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

MSDN上的'Creating Custom Text Editors and Designers'页面是一个很好的起点。您还应该能够通过VSPackage向导并选择“自定义编辑器”来获得基本编辑器。它将为您提供一个简单的RTF编辑器。

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

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

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