2009-10-15 33 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)

相關問題