如何:创建自定义选项页
Visual Studio 2013 中已弃用 Visual Studio 的外接程序。 你应该升级外接程序到 VS 的扩展包。 有关升级的更多信息,请参见 。常见问题:将外接程序转换为 VSPackage 扩展
**“选项”**对话框可显示各种针对 Visual Studio 的不同部分的页面。 您可以控制现有的选项页(如 控制选项设置 所示),也可以创建自己的自定义页。 您可以使用自定义页,使用户能够更改外接程序或其他程序的设置。
要创建自己的自定义**“选项”页,您不必一定要使用外接程序,因为页定义存储在 XML 文件中,而不是存储在注册表项中。 因此,您可以创建可在 Visual Studio 集成开发环境 (IDE) 以及宏 IDE 中访问的“选项”**页。
下列步骤演示如何创建将用作自定义**“选项”**页的自定义用户控件,以及之后如何将 .addin 文件改为引用该控件。
备注
显示的对话框和菜单命令可能会与“帮助”中的描述不同,具体取决于您现用的设置或版本。这些过程是在“常规开发设置”处于活动状态时开发的。若要更改设置,请在“工具”菜单上单击“导入和导出设置”。有关详细信息,请参阅在 Visual Studio 中自定义开发设置。
创建自定义“选项”页
创建一个 Windows 控件库项目。 将其命名为 ToolsOptionsLibrary.dll。
添加所需的控件和功能。
此用户控件将成为自定义**“选项”页。 调整该控件的大小,以填充“选项”**对话框的工作区。
生成项目。
Visual Studio 启动时会查找所有共享的 .addin 文件,并加载那些存在的 .addin 文件。 名为**“外接程序/宏的安全性”的“选项”**页为 .addin 文件的文件路径定义了一组标记。 包括以下标记:
%ALLUSERSPROFILE%
%APPDATA%
%USERPROFILE%
%VSAPPDATA%
%VSCOMMONAPPDATA%
Visual Studio 在开始搜索 .addin 文件时,会用以下路径字符串替换这些标记:
标记
路径
%ALLUSERSPROFILE%
..\Documents and Settings\All Users\Application Data\Microsoft\MSEnvShared\Addins\(路径)
%APPDATA%
..\Documents and Settings\username\Microsoft\MSEnvShared\Addins\(路径)
%USERPROFILE%
..\Documents and Settings\username\My Documents\Visual Studio 2010\Addins\(路径)
%VSAPPDATA%
..\Documents and Settings\username\Addins\(路径)
%VSCOMMONAPPDATA%
..\Documents and Settings\All Users\Addins
有关如何注册外接程序的更多信息,请参见外接程序安全性。
在先前列出的某个目录中,创建一个 .addin 文件以引用新的**“选项”**页。
可以将以下代码用作模板:
<?xml version="1.0" encoding="UTF-16" standalone="no"?> <Extensibility xmlns="https://schemas.microsoft.com/AutomationExtensibility"> <HostApplication> <Name>Microsoft Visual Studio Macros</Name> <Version>10.0</Version> </HostApplication> <HostApplication> <Name>Microsoft Visual Studio</Name> <Version>10.0</Version> </HostApplication> <ToolsOptionsPage> <Category Name="Environment"> <SubCategory Name="My Tools Options Page"> <Assembly><dll location></Assembly> <FullClassName>ToolsOptionsLibrary.UserControl1 </FullClassName> </SubCategory> </Category> </ToolsOptionsPage> </Extensibility>
在 <Assembly></Assembly> 标记中,使用 ToolsOptionsLibrary.dll 的路径替换 <dll location>。
更改 <ToolsOptionsPage> 设置以反映用户控件的具体信息,例如更改 Category Name(类别名称)、SubCategory Name(子类别名称)等。
例如,如果用户控件名为“NewPage”,并且其对象为“MyTOLib”,则 FullClassName 标记应为 MyTOLib.NewPage。 Assembly(程序集)是“选项”页对应的 DLL 所在的位置。 Category Name(类别名称)是**“选项”**对话框中要放置自定义页的节点,例如 Environment(环境)、Debugging(调试)或 Projects(项目)。
如果指定一个不存在的名称,则会创建一个具有该名称的节点。 SubCategory(子类别)是出现在该节点下方的名称。 请注意,最多只能有两个级别。 不能添加第三级节点。
将该文件作为文件扩展名为 .addin 的文本文件,保存到先前描述的外接程序文件的文件夹之一。 默认路径是 ..\Documents and Settings\username\Application Data\Microsoft\MSEnvShared\Addins\.
在 Visual Studio 启动时,它会在该目录中查找自定义**“选项”页定义,并加载找到的此类页定义。 可以通过使用“选项”对话框中的“环境”节点下的“外接程序/宏的安全性”**页来更改或添加外接程序目录。
启动 Visual Studio,并单击**“工具”菜单上的“选项”**。
将显示新的**“选项”**页。