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);

posted @ 2018-07-08 20:51  mirrorspace  阅读(559)  评论(0编辑  收藏  举报