2013-02-13 3 views
0

Я создаю клон Merge Wizard из TFS, чтобы добавить новые функции.Как я могу манипулировать ожидающими изменениями окно программно?

Я уже слился с workspakce.Merge api. Теперь мне нужен способ программно отобразить окно ожидающих изменений - конфликт.

У меня уже есть IVsWindowFrame от PendingChangesExt как:

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

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

Когда я звоню шоу(), ожидающие изменения Окно с обновлением кассовых файлов, но мне нужно, чтобы выбрать последнюю пуговицу на этом экране (Конфликты), чтобы показать конфликты слияния.

Как я могу программно нажать кнопку «Конфликт» на этом экране через IVsWindowFrame?

+0

Я нашел частичное решение, но я не могу заставить окно конфликта появляться на экране! Появляются только ожидающие изменения источники ... m_applicationObject.ExecuteCommand ("View.TfsPendingChanges", ""); // Обновить m_applicationObject.Commands.Raise ("{FFE1131C-8EA1-4D05-9728-34AD4611BDA9}", 4808, ref customIn, ref customOut); // Get Conflicts customOut = null; m_applicationObject.Commands.Raise ("{FFE1131C-8EA1-4D05-9728-34AD4611BDA9}", 4832, ref customIn, ref customOut); – Denny

ответ

1

Я нашел решение с помощью Чад Boles:

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

Спасибо за Чад Boles, что сказал мне о File.TfsResumeConflictResolution!