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