再構築する前にVisualStudioプロンプトを表示する方法、または「ビルド」ではなく「再構築」を押さないようにする他の方法はありますか?
プロジェクトを右クリックして、「ビルド」をクリックするつもりだったときに誤って「再構築」を選択すると、数え切れないほどの時間を無駄にしました。
これは、ネイティブC++ソリューション用です。
再構築する前にVisualStudioプロンプトを表示する方法、または「ビルド」ではなく「再構築」を押さないようにする他の方法はありますか?
プロジェクトを右クリックして、「ビルド」をクリックするつもりだったときに誤って「再構築」を選択すると、数え切れないほどの時間を無駄にしました。
これは、ネイティブC++ソリューション用です。
Visual Studio 2010では、メニューをカスタマイズできます。プロジェクトのコンテキストメニューから「再構築」項目を削除できます。または、「再構築」コマンドを「構築」コマンドから移動して、誤って間違ったアイテムをヒットする可能性を低くすることもできます。
VS 2010から、
私の知る限り、プロジェクトまたはソリューションの再構築を実行するための確認を有効にする方法はありません。
最善のオプションは、コンテキストメニューの[再構築]メニュー項目を移動または削除することです。
メニューをデフォルト状態にリセットするには、[すべてリセット]ボタンをクリックします。
「再構築」という新しいサブメニューを追加します
実際の再構築コマンドをこの新しいメニューに移動(削除してから追加)します。必要に応じて、名前を「Sure」に変更します。
Visual Commanderツールには次のC#拡張機能を使用できます。
public class E : VisualCommanderExt.IExtension
{
public void SetSite(EnvDTE80.DTE2 DTE, Microsoft.VisualStudio.Shell.Package package)
{
events = DTE.Events;
commandEvents = events.get_CommandEvents(null, 0);
commands = DTE.Commands as EnvDTE80.Commands2;
commandEvents.BeforeExecute += OnBeforeExecute;
}
public void Close()
{
commandEvents.BeforeExecute -= OnBeforeExecute;
}
private void OnBeforeExecute(string Guid, int ID, object CustomIn, object CustomOut, ref bool CancelDefault)
{
string name = GetCommandName(Guid, ID);
if (name.Contains("Rebuild"))
{
if (System.Windows.MessageBox.Show("Are you sure you want to Rebuild?", "Confirm",
System.Windows.MessageBoxButton.YesNo) != System.Windows.MessageBoxResult.Yes)
{
CancelDefault = true;
}
}
}
private string GetCommandName(string Guid, int ID)
{
if (Guid == null)
return "null";
try
{
return commands.Item(Guid, ID).Name;
}
catch (System.Exception)
{
}
return "";
}
private EnvDTE.Events events;
private EnvDTE.CommandEvents commandEvents;
private EnvDTE80.Commands2 commands;
}
Build.RebuildSolution、Build.RebuildSelection、Build.ProjectPickerRebuildなどのすべての再構築コマンドを確認するように求められます。