1

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

これは、私がいくつかの変更をコミットするのを忘れた場合、非常に便利です。

答えて

3

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

  1. [ツール]> [VS 2010のIDEからマクロ>マクロIDEを。
  2. これは左
  3. にプロジェクトエクスプローラで、空のIDEを提示すべきである。これは、あなたにIDEイベントを処理するように設定されているファイルを与えるMyMacrosを展開し、EnvironmentEvents

をダブルクリックします。ファイルの最後の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

+0

私はいくつかのアイデアで私の答えを更新しました。 –

+0

@ mankand007:問題が解決した場合は、回答を受け入れることを検討してください。 – Helgi

関連する問題