如何从c#调用visual studio命令

时间:2014-05-09 06:06:45

标签: c# visual-studio-2013

我可以从C#代码执行像'File.AddExistingProject'这样的Visual Studio命令吗? 如果是这样的话?

其他示例命令..

  

Debug.Print varA   File.CheckOutforEdit等。

1 个答案:

答案 0 :(得分:4)

你可以使用DTE一样,我在过去做过类似的事情,这是我的代码做同样的事情

DTE dte = null;

try
{
    dte = (DTE)Marshal.GetActiveObject("VisualStudio.DTE.11.0");
}
catch
{    
    System.Diagnostics.Process.Start("devenv");
    System.Threading.Thread.Sleep(2000);
    try
    {
        dte = (DTE)Marshal.GetActiveObject("VisualStudio.DTE.11.0");
    }
    catch
    {
        //cant do much nw, notify
    }
}

SearchResult result = (SearchResult)listFiles.SelectedItem;

dte.ExecuteCommand("File.OpenFile", result.FileName);
System.Threading.Thread.Sleep(200);
dte.ExecuteCommand("Edit.GoTo", labelLineNo.Text);
dte.MainWindow.Activate();
dte.ActiveDocument.Activate();

我希望这有助于你

所以你可以打电话

dte.ExecuteCommand("File.AddExistingProject", parameters as needed);