首先,打开Visual Studio并创建一个新工程。同前一样,选择“Other Project Type->Extensibility”,然后选择“Visual Studio Integration Package”。命名这个工程为“MySpecialEditor”。
· 选择Visual C#并且让向导生成一个新key文件。
· 添加你的公司名,并且命名VSPackage为“My Special Editor”。
· 当选择VSPackage选项时,选择“Menu Command”和“Custom Editor”,见图2。
· 对于命令名,输入“My Special Command”,并且指定该命令ID为“cmdidSpecial”。
· 在这个例子中,输入编辑器名为“My Special Editor”,文件扩展名是“specedit”,且缺省文件名为“MySpecialEd”。
· 最后点击Finish,向导开始安装所有内容。需要的话,你可以按F5并且观察所发生的事情。
还要提及的是,该SDK发行中提供了大量有关类和接口的文档。目前为止,只要把你的菜单命令从Tool菜单下的默认位置移动到Edit菜单并且给它一个新图标即可。
· 打开MySpecialEditor.ctc并且转到NEWGROUPS_BEGIN部分。下面一行:
guidMySpecialEditorCmdSet:MyMenuGroup,
guidSHLMainMenu:IDM_VS_MENU_TOOLS,0x0600;
改为:
guidMySpecialEditorCmdSet:MyMenuGroup,
guidSHLMainMenu:IDM_VS_MENU_EDIT,0x0600;
· 打开MySpecialEditor.ctc并转到BUTTONS_BEGIN部分。在以下列内容开头的行中:
guidMySpecialEditorCmdSet:cmdidSpecial,...
查找:
...guidMySpecialEditorCmdSet:bmpPic1,...
并且用下列内容代替它:
...guidMySpecialEditorCmdSet:bmpPicArrows,...
按F5运行应用程序。当你选择“File->New File”时,你将在选项下看到你的新文件类型。选择它后,你就得到一个新的空的等待输入代码的定制编辑器。你可以在编辑选项下找到你的新命令(见图3)。至此,这个例子还没有实现多少功能;但是你已经可以很容易移动你的菜单,甚至包括在其它标题下创建新菜单组。你可以输入一些文本,保存它。最后,你就会看到你的默认文件名和扩展名显示出来。
![]() 图3.新的编辑菜单 |
五、 总结
注意,在VSIP SDK中,也有一篇文章“Walkthrough: Adding a command to an Editor Generated by the Package Wizard”,它更为细致地介绍了如何把其它命令添加到你的菜单上并且影响编辑器本身中的文本内容。但是,你可以自行深入研究。有关如何改进本文中所示编辑器的方面,请参考下面这些题目:
· 自动格式化
· 参数信息提示
· 语句完成
· 语法显亮
· 查找和替换
· 文本标记
· 智能感知
· 撤消支持
· 下拉列表框条
· 键盘绑定
· 上下文菜单
· 状态栏
· 文本层
要查看一个完整的复杂的定制编辑器(包括一个编译器、语言服务,甚至带有一个控制台窗口)的例子,可以参考IronPython.sln方案,它位于“<Installation Path>\VisualStudioIntegration\Samples\IronPythonIntegration”路径下。这个示例包括所有用于把Python集成到你的IDE中的源文件。进入讨论组讨论。
相关图文阅读
频道图文推荐
健 康 咨 询
时 尚 咨 询
相关专题
·VB.NET 入门教程 (14919次浏览)
·asp.net 实现购物车详细代码 (9911次浏览)
·从零开始学ASP.NET(基础篇) (7785次浏览)
·更改Windows系统默认字体的方法 (6341次浏览)
·ASP.NET 2.0中Gridview控件高级技巧 (6024次浏览)
·ASP.NET2.0连接SQL Server数据库详解 (3363次浏览)
·C#操作Excel(导入导出) (3215次浏览)
·利用VC#开发一个媒体播放器 (3066次浏览)
·C#向Excel报表中插入图片的2种方法 (1437次浏览)
·VB.NET中访问数据方法大全 (1211次浏览)
·asp.net 实现购物车详细代码 (9911次浏览)
·从零开始学ASP.NET(基础篇) (7785次浏览)
·更改Windows系统默认字体的方法 (6341次浏览)
·ASP.NET 2.0中Gridview控件高级技巧 (6024次浏览)
·ASP.NET2.0连接SQL Server数据库详解 (3363次浏览)
·C#操作Excel(导入导出) (3215次浏览)
·利用VC#开发一个媒体播放器 (3066次浏览)
·C#向Excel报表中插入图片的2种方法 (1437次浏览)
·VB.NET中访问数据方法大全 (1211次浏览)
·ASP.net中使用C++和J# 10-31
·Asp.net中实现单点登陆 10-31
·ASP.NET中的蝴蝶效应 10-31
·ASP.NET中的MVC模式应用 10-31
·Asp.net中操作EXCEL文件(C#) 10-31
·Asp.net中Treeview解决方案 10-31
·ASP.NET中NHibernate的最佳实践 10-31
·ASP.NET在VS2008与.NET FX 3.5中增强的功能 10-31
·ASP.NET应用程序性能优化 10-31
·ASP.NET应用程序的成员管理与安全 10-31
·Asp.net中实现单点登陆 10-31
·ASP.NET中的蝴蝶效应 10-31
·ASP.NET中的MVC模式应用 10-31
·Asp.net中操作EXCEL文件(C#) 10-31
·Asp.net中Treeview解决方案 10-31
·ASP.NET中NHibernate的最佳实践 10-31
·ASP.NET在VS2008与.NET FX 3.5中增强的功能 10-31
·ASP.NET应用程序性能优化 10-31
·ASP.NET应用程序的成员管理与安全 10-31
最新论坛文章
站内各频道最新更新文档
站内最新制作专题
热门关键字导读
站内频道文章精选
百度推荐,商机无限
搜索您感兴趣的内容





