1

是否可以設置VisualHg,以便每次退出Visual Studio 2010時自動顯示提交屏幕?VisualHG中的自動提交

如果我忘記提交一些更改,這將非常有用。

回答

3

我已經成功使用以下步驟來做到這一點:

  1. 選擇工具>宏>宏IDE從VS 2010的IDE。
  2. 這應該與項目資源管理器的空IDE您呈現左側
  3. 展開MyMacros和EnvironmentEvents

這給了你所設置的是處理IDE事件雙擊文件。之前,文件中的最後End Module添加以下代碼:

Private Sub SolutionEvents_BeforeClosing() Handles SolutionEvents.BeforeClosing 
    DTE.ExecuteCommand("File.Commit") 
End Sub 

這將執行提交解決方案結束之前採取行動(Visual Studio中關閉之前將發生),但VS不會等待提交窗口關閉然後繼續。這並不理想,因爲它意味着如果您想在提交之前進行任何更改,則必須重新加載解決方案。

另一種解決方案是處理QueryCloseSolution事件,並詢問用戶是否想在關閉之前提交其更改。如果他們回答「是」,那麼您將取消關閉解決方案(通過將布爾值設置爲True)並致電DTE.ExecuteCommand("File.Commit")。然後,當您完成提交時,解決方案就會打開,但會在每次關閉解決方案時詢問您是否要提交。

進一步考慮該解決方案將涉及從QueryCloseSolution事件中啓動hg status以在詢問用戶是否要提交其更改之前檢查是否有未完成的更改。

+0

正如你所說,不是理想的解決方案,但仍然...非常有用。幾乎符合我的賬單。非常感謝你! – mankand007 2012-02-12 05:07:35

+0

我已經用更多的想法更新了我的答案。 – 2012-02-13 10:33:59

+0

@ mankand007:考慮接受答案,如果它解決了你的問題。 – Helgi 2012-05-20 12:41:23