如何在失去焦点时自动保存我的 Visual Studio 2015 文件?
How can I AutoSave my Visual Studio 2015 files when it loses focus?
我在 类 中使用 CSS、HTML 和 JavaScript,我最近开始使用 Visual Studio 2015 . 在 Notepad++ 中,有一个插件可以让我在失去焦点时自动保存所有打开的文档。这节省了我很多时间,因为我经常在我正在处理的页面和它的编码之间来回切换。
我希望 Visual Studio 2015 有一个类似的插件,这样我就不会在其网页上检查我的作品之前忘记保存了!有人知道吗?
您可以使用 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;
}
上面的解决方案
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)
{
}
}
有一个扩展名为“自动保存文件”。它会在 Visual Studio 失去焦点、文件失去焦点或自上次编辑后经过一定时间后保存。默认为 5 秒。
https://marketplace.visualstudio.com/items?itemName=HRai.AutoSaveFile
我在 类 中使用 CSS、HTML 和 JavaScript,我最近开始使用 Visual Studio 2015 . 在 Notepad++ 中,有一个插件可以让我在失去焦点时自动保存所有打开的文档。这节省了我很多时间,因为我经常在我正在处理的页面和它的编码之间来回切换。
我希望 Visual Studio 2015 有一个类似的插件,这样我就不会在其网页上检查我的作品之前忘记保存了!有人知道吗?
您可以使用 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;
}
上面的解决方案
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)
{
}
}
有一个扩展名为“自动保存文件”。它会在 Visual Studio 失去焦点、文件失去焦点或自上次编辑后经过一定时间后保存。默认为 5 秒。
https://marketplace.visualstudio.com/items?itemName=HRai.AutoSaveFile