VSIX 插件右键菜单(2)
编译项目然后发布
// 获取当前右击的活动项目
EnvDTE.Project activeProj = ProjectHelpers.GetActiveProject();
// 获取 编译选项 Release / Debug
string buildCfg = activeProj.ConfigurationManager.ActiveConfiguration.ConfigurationName;
// 编译项目 true
EnvDTE80.DTE2 dte2=ProjectHelpers._dte;
dte2.Solution.SolutionBuild.BuildProject(buildCfg, activeProj.UniqueName, true);
// 获取编译之后的BIN目录地址 (bin/debug/)
string outDir = activeProj.ConfigurationManager.ActiveConfiguration.Properties.Item("OutputPath").Value.ToString();
// 复制BIN目录下的文件到发布目录
ProjectHelpers.OutPutBin(outDir);
显示操作信息在VS的"输出"窗口
// vs"输出"窗口标题
string winCaption = "输出";
// 输出窗口中的一个自定义项的标题
string outTitle = "发布插件-消息";
// 激活输出窗口
if (_dte.ActiveWindow.Caption != winCaption)
{
_dte.Windows.Item(winCaption).Activate();
}
// 输出窗口添加一个自定义输出项 激活并输出信息
EnvDTE.OutputWindowPane webPane = null;
foreach (EnvDTE.OutputWindowPane item in _dte.ToolWindows.OutputWindow.OutputWindowPanes)
{
if (item.Name == outTitle)
{
webPane = item;
break;
}
}
// 如果该窗口已有,则继续使用之,否则增加
if (webPane == null)
{
webPane = _dte.ToolWindows.OutputWindow.OutputWindowPanes.Add(outTitle);
}
// 清空消息 清空以前
// if (clear)
// webPane.Clear();
// 激活
webPane.Activate();
// 输出消息 msg
webPane.OutputString(msg);