最简单的宏替代方案是创建“插件”。虽然我知道,我知道,一开始我也不感兴趣,但实际上它非常容易。它包含三个简单的部分:
- 创建宏项目,并通过向导 UI 进行操作。
- 编写代码。
- 将宏的 .addin 和 .dll 文件复制到您的 Visual Studio
Addins
目录中。
让我们以
我编写的一个简单宏为例,在关闭解决方案后显示“启动页”并将其转换为插件。
创建宏项目
- 运行 VS 2012 并创建新项目。
- 转到 Templates > Other Project Types > Extensibility 并选择Visual Studio 插件。
- 给它起一个名字,例如 ShowStartPage。
- 单击“确定”。这会打开插件向导。
- 按照向导的步骤进行操作,选择:
- 编程语言:我们将使用 C#
- 应用程序主机:应选择 VS 2012
- 为您的插件命名和描述
- 在插件选项页面上,仅选中第二个选项(“当主机应用程序启动时,我想加载我的插件”)
- 暂时跳过关于框的内容,然后单击“完成”。
现在您有一个插件项目。以下是您需要执行的操作:
编写代码
打开 Connect.cs 文件。(它可能已经打开了。某些“DTE”内容应该看起来很熟悉。)
在类级别添加以下代码:
SolutionEvents solutionEvents
将以下代码添加到
OnConnection
方法中,放在
_addInInstance = (AddIn)addInInst;
行之后:
solutionEvents = _applicationObject.Events.SolutionEvents;
solutionEvents.AfterClosing += () =>
{
_applicationObject.ExecuteCommand("View.StartPage");
};
点击“运行”按钮以测试您的代码。Visual Studio 2012的一个新实例将启动,并加载您的插件。现在测试该插件,确保它能够正常工作。(打开一个解决方案,然后关闭它;当您这样做时,"Start Page" 应该返回。)
部署
一旦插件能够正常工作,要想在 Visual Studio 2012 中经常使用它,您只需要部署两个文件:
ShowStartPage.AddIn
(来自您的主项目目录)
ShowStartPage.dll
(来自您项目的构建目录;例如 bin\Debug 或 bin\Release)
将这两个文件放入您的 VS 2012 插件目录中,可能位于此处:
C:\Users\[您的用户名]\Documents\Visual Studio 2012\Addins
然后退出并重新启动 Visual Studio,您应该能够看到您的插件在工作。当您转到“工具” > “插件管理器”时,您也应该能够看到它被列出。
虽然这比打开宏编辑器并将您的宏代码粘贴到其中还要麻烦一些,但它有一个优点,即您可以使用任何语言,而不是被限制在 Visual Studio 早期版本中相对不稳定的类似 VB 的编辑器中。