如何在Visual Studio中包含新文件后自动保存项目文件?

Tho*_*s H 32 .net visual-studio

使用Visual Studio 2010在这里工作,但行为已经因为黎明的时间相同 - 有没有办法迫使IDE自动保存做一个后的项目文件"项目包括"上的新文件?乡亲们新VS不迅速得到按Ctrl + Shift + S这些操作中的每一个经过的习惯,当我们发现资产从我们捆绑的webapps缺失导致多回购承诺.

The*_*Sky 21

我曾经一直遇到这种情况,这非常烦人.我使用的解决方案是重新映射CTRL+S到,File.SaveAll因为我已经在使用源代码控制.但是,这对没有设置此功能的新VS安装没有帮助.


Sam*_*Sam 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();
    }
}
Run Code Online (Sandbox Code Playgroud)


Gre*_*egC 1

我认为这是“按设计”的,这样您就可以在不保存到磁盘的情况下对某些东西进行原型设计。我同意这应该是一个选择。

事实上,如果您正在处理由存储库支持的项目,则默认情况下应该保存它。如果没有关联的存储库,则默认情况下它应该保留在内存中。