我在我的课程中使用CSS,HTML和JavaScript,并且我最近开始使用Visual Studio 2015.在Notepad ++中,有一个附加组件允许我一旦失去焦点,我会自动保存所有打开的文档。这节省了我很多时间,因为我经常在我正在处理的页面和编码之间来回走动。
我希望Visual Studio 2015有一个类似的插件,所以我可以在检查我的网页上的工作之前不要忘记保存!有人知道吗?
答案 0 :(得分:35)
您可以使用以下扩展名Visual Commander在远离Visual Studio时自动保存文件:
public class E : VisualCommanderExt.IExtension
{
public void SetSite(EnvDTE80.DTE2 DTE_, Microsoft.VisualStudio.Shell.Package package)
{
DTE = DTE_;
System.Windows.Application.Current.Deactivated += OnDeactivated;
}
public void Close()
{
System.Windows.Application.Current.Deactivated -= OnDeactivated;
}
private void OnDeactivated(object sender, System.EventArgs e)
{
try
{
DTE.ExecuteCommand("File.SaveAll");
}
catch (System.Exception ex)
{
}
}
private EnvDTE80.DTE2 DTE;
}
答案 1 :(得分:0)
上述解决方案
DTE.ExecuteCommand("File.SaveAll");
在解决方案中有1000多个项目的情况下,速度太慢,即使没有未保存的更改,MSVS UI也会在每次丢失焦点事件时挂起几秒钟,并且会非常消耗CPU。
我已经编辑了OnDeactivated()方法,在我的情况下,它的工作速度更快:
private void OnDeactivated(object sender, System.EventArgs e)
{
try
{
EnvDTE.Documents docs = DTE.Documents;
for (int i = 1; i <= docs.Count; i++) {
EnvDTE.Document doc = docs.Item(i);
if (!doc.Saved) {
doc.Save();
}
}
}
catch (System.Exception ex)
{
}
}
答案 2 :(得分:0)
执行此操作的扩展名为“自动保存文件”。当Visual Studio失去焦点,文件失去焦点或自上次编辑以来经过了一段指定的时间时,它会保存。默认值为5秒。
https://marketplace.visualstudio.com/items?itemName=HRai.AutoSaveFile