1

Visual Studio 2010を終了するたびにコミット画面が自動的に表示されるようにVisualHgを設定することはできますか?

これは、変更をコミットするのを忘れた場合に非常に役立ちます。

4

1 に答える 1

3

私は次の手順を使用してこれを行うことができました:

  1. VS2010IDEから「ツール」>「マクロ」>「マクロ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")。これにより、コミットを実行している間はソリューションが開いたままになりますが、ソリューションを閉じるたびにコミットするかどうかを尋ねられます。

そのソリューションをさらに進めるにはhg statusQueryCloseSolutionイベントから起動して、変更をコミットするかどうかをユーザーに尋ねる前に、未解決の変更があるかどうかを確認する必要があります。

于 2012-02-10T09:33:02.877 に答える