在重建之前有什么办法让Visual Studio 2010提示,或者其他任何方式来避免碰到“重建”而不是“构建”?重建之前Visual Studio 2010可以提示吗?
我已经浪费了无数个小时,当我右键点击一个项目并选择意外点击“Build”时的“Rebuild”。
这是针对本机C++解决方案的。
在重建之前有什么办法让Visual Studio 2010提示,或者其他任何方式来避免碰到“重建”而不是“构建”?重建之前Visual Studio 2010可以提示吗?
我已经浪费了无数个小时,当我右键点击一个项目并选择意外点击“Build”时的“Rebuild”。
这是针对本机C++解决方案的。
Visual Studio 2010允许自定义菜单。您可以从Project上下文菜单中删除“重建”项目。或者,您可能只想将“重建”命令从“构建”命令中移开,以免意外碰到错误的项目。
从2010年VS,
尽管我们以同样的方式回答,但我赞成你的,因为这是你的第一个答案。让他们继续来! :) – 2013-02-19 17:52:00
你确定你没有注册,因为他比你高吗? ;) – 2013-02-19 19:17:21
谢谢你们这个工作非常好。 – pauld 2013-02-19 21:40:24
据我所知,没有办法启用执行项目或解决方案重建的确认。
您最好的选择是移动或删除上下文菜单上的“重建”菜单项。
要将菜单重置为默认状态,请单击“全部重置”按钮。
添加一个新的子菜单名为“重建”
移动(删除然后添加)真正的重建命令到这个新的菜单。如果你喜欢,重新命名为“确定”。
您可以使用下面的C#扩展为我Visual Commander工具:
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命令。
我刚打F7时,我想建立。当然,它确实构建了整个解决方案,但这正是你想要的。另一种方法是设置项目构建的快捷方式,这样可以避免基于鼠标的混淆。 – 2013-02-19 17:32:34
是的,我想我必须养成使用F7构建整个解决方案的习惯。尽管我经常在我的情况下构建单个项目。 – pauld 2013-02-19 21:42:16