如何:创建外接程序
外接程序是在 Visual Studio 集成开发环境 (IDE) 中运行的已编译的 DLL。 编译可以保护知识产权和提高性能。 虽然可以手动创建外接程序,但您可能会发现使用“外接程序向导”更为简便。 此向导创建一个功能全面但却很基本的外接程序,创建完该程序后可立即运行它。 “外接程序向导”生成基本的空程序后,可向其添加代码并对其进行自定义。
“外接程序向导”让您可以为外接程序提供显示名称和说明。 这两项内容都将出现在**“外接程序管理器”中。 还可以选择让向导生成代码,用于向“工具”菜单中添加可打开外接程序的命令。 您也可以选择为外接程序显示一个自定义“关于”**对话框。 向导完成时,将生成只有一个类的新项目(名为 Connect),该项目实现外接程序。
提示
以下说明中的某些 Visual Studio 用户界面元素在计算机上出现的名称或位置可能会不同。 您安装的 Visual Studio 版本以及使用的设置决定了这些元素。 有关更多信息,请参见 使用设置。
使用“外接程序向导”创建外接程序
创建一个 Visual Studio 外接程序项目。 在**“文件”菜单上指向“新建”,然后单击“项目”。 定位到“其他项目类型”节点中的“扩展性”。 当您创建项目时,“外接程序向导”**将启动。
在**“选择编程语言”**页上,选择要用于编写外接程序的编程语言。
在**“选择应用程序主机”**页上选择一个或多个应用程序,例如 Visual Studio。
这样,您将能够选择需要的应用程序以便创建外接程序后可在其中运行该外接程序;例如,Visual Studio 或 Visual Studio**“宏 IDE”**。
在**“输入名称和说明”**页中键入外接程序的名称和说明。
提示
由于句点字符(“.”)在 Visual Studio 命令中具有特殊含义,因此,如果外接程序名称包含句点,Visual Studio 将不会创建默认的“工具”菜单命令。
创建了外接程序后,其名称和说明将显示在**“外接程序管理器”的“可用外接程序”**列表中。 向外接程序的说明中添加足够的详细信息,以便用户能够了解外接程序的功能、工作方式等信息。
在**“选择外接程序选项”**页可以指定:
是否希望外接程序显示在**“工具”**菜单上。
希望启动外接程序的时间。
外接程序是否使用模式用户界面 (UI)。 如果不使用,则可以将外接程序安全地用于命令行生成。
在**“选择‘帮助’中的‘关于’信息”页上,指定是否将有关外接程序的信息显示在 Visual Studio 的“关于”**对话框中。 如果要显示,请添加想要显示的信息。
可以添加到 Visual Studio 的**“关于”**对话框中的信息包括版本号、支持详细信息和授权数据等类似信息。
完成步骤 1 - 6 后,选定的选项会显示在**“摘要”页中以供查看。 如果感到满意,请单击“完成”以创建外接程序。 如果要更改某些内容,请单击“上一步”**按钮。
现在即生成了一个功能全面的基本外接程序。 若要使外接程序能够执行所需的操作,则必须添加相应代码。 有关更多信息,请参见扩展 Visual Studio 环境。
若要了解“外接程序向导”的后台操作,可以检查它所创建的代码。
安全性
托管外接程序是以用 XML 编写的 .addin 文件的形式注册的。 Visual Studio .NET 2002 和 Visual Studio .NET 2003 中的“外接程序向导”有一个复选框,使您可以为所有用户注册外接程序。 Visual Studio 2005 及更高版本中的“外接程序向导”没有该复选框。 若要在 Visual Studio 2005 及更高版本中为所有用户注册托管外接程序,请将 .addin 文件复制到 \Documents and Settings\All Users\ 文件夹。 若要在 Visual Studio 2005 及更高版本中为所有用户注册非托管外接程序,请在 .reg 文件中将相关注册表项中的 HKEY_CURRENT_USER 更改为 HKEY_CLASSES_ROOT,然后将 .reg 文件应用到注册表。 有关更多信息,请参见自动化安全的最佳做法和外接程序安全性。 Visual Studio 的学习版中不提供“外接程序向导”和自动化程序集。
提示
若要在不创建外接程序的情况下访问自动化功能,您可以使用宏。 利用宏可以访问 Visual Studio 中的各种自动化模型。 有关更多信息,请参见 Visual Studio 自动化的范围和使用宏自动执行重复性操作。
不必使用外接程序、向导或宏就可以访问自动化功能。 相反,您可以将对所需自动化程序集的引用添加到任何 Visual Studio 项目,然后获取对其类型和成员的访问权。 但是,通过使用宏或外接程序中的自动化功能,您可以在 IDE 中公开所创建的任何外接程序工具。