在重建之前有什么方法可以让Visual Studio提示,或者是否有任何其他方法可以让它更容易避免命中“Rebuild”而不是“Build”?
当我右键点击一个项目并在意外点击“Build”时选择“Rebuild”时,我浪费了无数个小时。
这适用于本机C ++解决方案。
答案 0 :(得分:33)
Visual Studio 2010允许自定义菜单。您可以从“项目”上下文菜单中删除“重建”项。或者您可能只想将“重建”命令从“构建”命令移开,这样您就不会意外地碰到错误的项目。
来自VS 2010,
答案 1 :(得分:9)
据我所知,无法为执行项目或解决方案重建启用确认。
您最好的选择是移动或删除上下文菜单中的“重建”菜单项。
要将菜单重置为默认状态,请单击“全部重置”按钮。
答案 2 :(得分:3)
添加一个名为“Rebuild”的新子菜单
将真实的Rebuild命令移动(删除然后添加)到这个新菜单。如果你愿意,可以将它改名为“Sure”。
答案 3 :(得分:0)
您可以为我的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。