演练:调试外接程序项目
本演练阐释如何创建一个简单的 Visual Studio 外接程序项目以及如何使用断点调试项目。有关更多信息,请参见 Breakpoints and Tracepoints。
外接程序是经过编译的应用程序,它们使用 Visual Studio 自动化对象模型来操作或自动操作集成开发环境 (IDE)。有关更多信息,请参见创建外接程序和向导。
说明 |
---|
显示的对话框和菜单命令可能会与“帮助”中的描述不同,具体取决于您现用的设置或版本。这些过程是在“常规开发设置”处于活动状态时开发的。若要更改设置,请在“工具”菜单上选择“导入和导出设置”。有关更多信息,请参见 Visual Studio 设置。 |
创建简单的 Visual Studio 外接程序项目
从**“文件”菜单上,指向“新建”,然后单击“项目”**。
在**“项目类型”窗格中,展开“其他项目类型”,然后选择“扩展性”**。
在“模板”窗格中,选择**“Visual Studio 外接程序”**。
在**“名称”字段中,键入“SimpleAddIn”作为外接程序项目的名称。单击“确定”**。
Add-in Wizard 启动。
在**“欢迎使用外接程序向导”页中,单击“下一步”**。
在**“选择编程语言”页中,单击“使用 Visual C# 创建外接程序”,然后单击“下一步”**。
在**“选择应用程序主机”页中,接受默认选项,然后单击“下一步”**。
在**“输入名称和说明”页中,键入“简单的外接程序”作为外接程序的名称,然后键入“用于阐释如何调试简单的外接程序。”作为外接程序的说明。单击“下一步”**。
在**“选择外接程序选项”页上,选中“是的,创建‘工具’菜单项。”选项。接受剩余的默认选项。单击“下一步”**。
在**“选择‘帮助’中的‘关于’信息”页中,选择“是的,我希望我的外接程序提供‘关于’对话框信息。”选项,然后单击“下一步”**。
在**“摘要”页中,单击“完成”**。
**“外接程序向导”**将生成新的外接程序项目,并且打开 IDE,焦点位于文件 Connect.cs 上。这是包含外接程序的代码的主类。
在**“解决方案资源管理器”中,右击“引用”节点,然后选择“添加引用”**以将引用添加到程序集。
这允许在 System.Windows.Forms 命名空间中使用类型。
在**“.NET”**选项卡上,双击组件 System.Windows.Forms.dll。
在**“解决方案资源管理器”中,在“引用”**节点下将显示对 System.Windows.Forms 命名空间的引用。
此命名空间包含显示消息框所必需的代码,下面的代码示例中使用了消息框。
在 Connect.cs 中,在 SimpleAddIn 范围的顶部附近添加下面的语句以允许更轻松地使用 MessageBox 对象:
using System.Windows.Forms;
通过以下方法将 MessageBox 对象添加到外接程序中:将 MessageBox.Show("Debugging a Simple Add-in"); 添加到 Connect.cs 中的 Exec 方法中:
public void Exec(string commandName, vsCommandExecOption executeOption, ref object varIn, ref object varOut, ref bool handled) { handled = false; if(executeOption == vsCommandExecOption.vsCommandExecOptionDoDefault) { if(commandName == "MyAddin1.Connect.MyAddin1") { handled = true; MessageBox.Show("Debugging a Simple Add-in"); return; } } }
单击**“全部保存”**按钮以保存您的工作。
调试 Visual Studio 外接程序项目
在 Connect.cs 中,在语句左侧的空白处单击:
MessageBox.Show("Debugging a Simple Add-in")
出现一个红点(或称断点),此行上的文本以红色突出显示。
从**“调试”菜单中,单击“开始调试”**。
当前的 Visual Studio 会话(即调试器会话)将失去焦点,而正在调试的程序将在 Visual Studio 的另一个实例中打开。
从正在调试的 Visual Studio IDE 中,单击**“工具”**菜单。
**“SimpleAddIn”**列在菜单项的顶部。
选择**“SimpleAddIn”**命令以执行外接程序。
这使您转到在 Visual Studio 调试器会话中设置断点的行,此行以黄色突出显示。
从调试器会话中的**“调试”菜单中,选择“逐语句”**。
焦点切换回调试的程序。消息框打开,指示您的外接程序已经执行。
单击**“确定”**以关闭消息框。
在调试器会话中,从**“调试”菜单中选择“继续”**。
调试的 Visual Studio 会话重新获得焦点。
退出调试的 Visual Studio 会话。
在 Connect.cs 中,单击在 MessageBox 语句旁设置的断点以将其从源代码中移除。
正如您所看到的,当调试外接程序时,Visual Studio IDE 的另一个实例将打开以承载正在运行的外接程序。第一个实例显示其代码并允许您进行调试,例如设置监视变量、断点等等。当您完成调试后,IDE 的第二个实例关闭并使您返回第一个实例中的外接程序的代码。