2009-10-15 62 views
10

我已经设置了一些外部工具来为我运行Doxygen,无论是在当前显示的文件,还是当前活动的项目。在运行外部工具之前,有什么方法让Visual Studio保存文件?

令人讨厌的是,在运行该工具之前似乎没有任何地方可以保存文件。

所以我会锤击一些Doxygen块,打热键来运行Doxygen,翻到Firefox检查输出,当然......这是以前的版本。

感叹。

任何线索如何让这个工作在一个很好的方式吗?

回答

2

习惯于打按Ctrl +小号尽可能经常地,甚至更好的VS:按Ctrl ++小号:)

(说真的,我已经习惯这样做,火狐定期弹出的“另存为”对话框中保存该网站,因为我打按Ctrl +小号输入我的回答到SO)。

+0

是的,我能做到这一点。这只是令人气愤的是,该功能支持构建等,而不是外部工具。叹。 – 2009-10-15 22:12:29

+1

是的,我可以看到这个。然而,正如我所说的,基本上我从来没有遇到过这种情况,因为我习惯于储蓄,所以当我们进行配对编程时,我的同事们在每次小改动后都会为我省钱。 ':)' – sbi 2009-10-16 07:19:50

5

您可以创建一个VS宏,首先保存所有文件,然后保存您的外部工具。

2

如果您使用Visual Studio 2012或更高版本,则不再有宏。

我用AutoHotKey脚本解决了这个问题,填补了这个空白。

这是我如何做的:

SetTitleMatchMode, 2  ; Title matches if it contains string 

#IfWinActive Visual Studio ; The shortcuts below this line are valid when Visual Studio is active 
!s::      ; Alt+s to activate the external tool 
    SendInput ^s   ; Sends Ctrl+s to Visual Studio to save the file 
    Sleep, 100 
    SendInput ^!+\   ; Actual shortcut that activates the desired external tool 
return 
#IfWinActive    ; Shortcuts below this line will be global 
2

我发现在VS2013解决这一使用Visual Commander。这可以让您恢复运行宏的能力。您现在可以创建一个保存所有文件并运行外部工具的宏,例如。

Imports EnvDTE 
Imports EnvDTE80 
Imports Microsoft.VisualBasic 

Public Class C 
    Implements VisualCommanderExt.ICommand 

    Sub Run(DTE As EnvDTE80.DTE2, package As Microsoft.VisualStudio.Shell.Package) Implements VisualCommanderExt.ICommand.Run 
     DTE.ExecuteCommand("File.SaveAll") 
     DTE.ExecuteCommand("Tools.ExternalCommand6") 
    End Sub 
End Class 

此宏现在可以添加到工具栏或键盘快捷方式,而不是直接运行外部工具。

0

使用Visual Studio 2005. 它会在运行外部工具之前自动保存所有文件。

(我知道,这不是一般将是有益的,但我同时使用2005年和2012年,这是我的主要烦恼之一,2012)

相关问题