2013-02-13 87 views
0

我正在創建TFS的合併嚮導的副本以添加新功能。如何以編程方式操作掛起的更改窗口?

我已經與workspakce.Merge api合併。現在我需要一種以編程方式顯示待處理更改 - 衝突窗口的方式。

我已經從PendingChangesExt像有IVsWindowFrame:

GetStatus status = sourceExplorer.Workspace.Merge(sourcePath, targetPath, versionFrom, versionTo, LockLevel.None, RecursionType.Full, MergeOptionsEx.None); 

    IVsWindowFrame frame = pendingChanges.VsWindowFrame; 
    frame.Show(); 

當我打電話展(),未決的改變窗口與結賬文件刷新,但我需要在此屏幕選擇最後一個按鈕(衝突),以顯示合併的衝突。

我該如何通過IVsWindowFrame在此屏幕上編程式地單擊Conflict按鈕?

+0

我找到了一個部分解決方案,但是我不能讓衝突窗口出現!僅顯示源未決更改... m_applicationObject.ExecuteCommand(「View.TfsPendingChanges」,「」); //刷新 m_applicationObject.Commands.Raise(「{FFE1131C-8EA1-4D05-9728-34AD4611BDA9}」,4808,ref customIn,ref customOut); //獲得衝突 customOut = null; m_applicationObject.Commands.Raise(「{FFE1131C-8EA1-4D05-9728-34AD4611BDA9}」,4832,ref customIn,ref customOut); – Denny 2013-02-13 14:06:08

回答

1

我找到了解決方案與乍得樹幹的幫助:

public void refreshPendingChanges() 
{ 
    Object customIn = null; 
    Object customOut = null; 

    //Show TfsPendingChanges 
    m_applicationObject.ExecuteCommand("View.TfsPendingChanges", ""); 

    //Refresh 
    m_applicationObject.Commands.Raise("{FFE1131C-8EA1-4D05-9728-34AD4611BDA9}", 4808, ref customIn, ref customOut); 

    //Activate Source Explorer 
    m_applicationObject.DTE.Windows.Item("{99B8FA2F-AB90-4F57-9C32-949F146F1914}").Activate(); //I get this GUID recording a Macro. 
    //Show Conflicts 
    m_applicationObject.DTE.ExecuteCommand("File.TfsResumeConflictResolution"); 
} 

感謝乍得樹幹,那我說關於File.TfsResumeConflictResolution!

相關問題