1

是否可以设置 VisualHg,以便每次退出 Visual Studio 2010 时都会自动显示提交屏幕?

如果我忘记提交一些更改,这将非常有用。

4

1 回答 1

3

我已经使用以下步骤成功地做到了这一点:

  1. 从 VS 2010 IDE 中选择工具 > 宏 > 宏 IDE。
  2. 这应该会为您提供一个空的 IDE,左侧是 Project Explorer
  3. 展开 MyMacros 并双击 EnvironmentEvents

这为您提供了一个设置为处理 IDE 事件的文件。在文件的最后一个之前End Module添加以下代码:

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

这将在解决方案关闭之前执行提交操作(这将在 Visual Studio 关闭之前发生),但 VS 在继续之前不会等待提交窗口关闭。这并不理想,因为这意味着如果您想在提交之前进行任何更改,则必须重新加载解决方案。

另一种解决方案是处理QueryCloseSolution事件并询问用户是否要在关闭之前提交更改。如果他们回答“是”,那么您将取消关闭解决方案(通过将传入的布尔值设置为 be True)并调用DTE.ExecuteCommand("File.Commit"). 这将使解决方案在您提交时保持打开状态,但会在每次关闭解决方案时询问您是否要提交。

进一步采用该解决方案将涉及hg statusQueryCloseSolution事件启动以检查是否存在未完成的更改,然后再询问用户是否要提交更改。

于 2012-02-10T09:33:02.877 回答