在这里使用Visual Studio 2010,但是自从时间开始以来,行为一直是相同的 - 有没有办法强制IDE在新文件中执行“包含在项目中”后自动保存项目文件? VS新手不会在每次操作之后快速养成Ctrl + Shift + S的习惯,当我们发现捆绑的webapps中缺少资产时,会导致多次repo提交。
答案 0 :(得分:20)
我曾经一直遇到这种情况,而且非常很烦人。我使用的解决方案是将CTRL+S
重新映射到File.SaveAll
,因为我已经在使用源代码管理。但是,这对于没有安装此设置的新VS安装没有帮助。
答案 1 :(得分:7)
您可以编写一个插件来实现此目的。我仍在努力解决这些问题。扩展VS很痛苦。
一些摘录:
public class Connect : IDTExtensibility2
{
private AddIn _addInInstance;
private DTE2 _applicationObject;
private Events2 events;
public void OnStartupComplete(ref Array custom)
{
events = _applicationObject.Events as Events2;
events.ProjectItemsEvents.ItemAdded += SolutionEvent;
events.ProjectItemsEvents.ItemRemoved += SolutionEvent;
events.ProjectItemsEvents.ItemRenamed +=
new _dispProjectItemsEvents_ItemRenamedEventHandler(
ProjectItemsEvents_ItemRenamed);
}
void ProjectItemsEvents_ItemRenamed(ProjectItem projectItem,
string OldName)
{
Save(projectItem);
}
private void SolutionEvent(ProjectItem projectItem)
{
Save(projectItem);
}
void Save(ProjectItem projectItem)
{
if (!projectItem.ContainingProject.Saved)
projectItem.ContainingProject.Save();
}
}
答案 2 :(得分:0)
我认为这是“按设计”,因此您可以在不保存到磁盘的情况下对原型进行原型设计。我同意这应该是一个选择。
实际上,如果您正在处理由存储库支持的项目,则默认情况下应该保存。如果没有关联的存储库,默认情况下它应该保留在内存中。