VS 一鍵調用 SVN Blame

在Windows上作項目開發的時候,經常須要調用SVN Blame去追溯一個文件的編輯歷史,可是這個常見的需求每每須要很繁瑣的步驟。首先須要打開文件所在文件夾,而後右鍵,在一長排上下文菜單中準確地選中Blame命令,而後指定版本號,好不容易打開了Blame界面,還要手動Alt+G定位到某一行。實在是很麻煩。svn

其實VS有個外部工具菜單,能夠經過VS直接調用外部的可執行文件或者腳本,有了這個功能,咱們就能夠一鍵調用SVN Blame,而且準肯定位到你在VS中選中的那一行。工具

1、編寫外部腳本  tortoise_blame.bat spa

echo off & color 0A
for /f "usebackq delims=" %%i in (`"svn info %1 | findstr "Rev""`) do set Reversion=%%i
echo %Reversion%
set str="%Reversion%"
for /f "tokens=4,*" %%i in (%str%) do (
    set Reversion=%%i
)
echo %1 : %2
rem echo %Reversion%
rem /endrev:"-1" is also ok
TortoiseProc.exe /command:blame /path:%1 /line:%2 /startrev:1 /endrev:%Reversion%

這個腳本的做用就是調用 TortoiseProc.exe 可執行文件,執行blame命令,而後傳入參數。前提是SVN安裝路徑已經在你的環境變量中,這樣你才能夠直接調用TortoiseProc.exe程序,不然你須要使用絕對路徑。code

調用這個腳本須要傳入兩個參數 文件路徑(%1) 和 行號(%2)blog

最終的SVN版本號是經過你傳入的文件路徑提取出來的。token

固然,上面的腳本大部分代碼是在提取最終的SVN版本號,若是你不想知道最終版本號,直接使用 /endrev:"-1"也能夠開發

2、新建 SVN Blame 菜單rem

在VS界面點擊 工具->外部工具->添加io

標題:能夠自定義,在標題最後用英文括號包含一個 "&B",這樣可使用快捷鍵。class

命令:就是剛纔那個腳本的路徑

參數:點開後面的黑色三角,依次選擇 「項路徑」和「當前行」,用空格分開

初始目錄:無所謂

若是勾選了使用輸出窗口,那麼腳本的輸出將會在VS的輸出窗口展現。

點擊:應用->肯定

此時打開「工具」菜單,就會出現剛纔添加的SVN Blame命令,點擊該命令,就會打開Blame窗口,而且定位到你在VS中選定的行。

也能夠經過剛纔設置的快捷鍵 Alt + T , B調用該命令。至關方便。

輸出窗口也能夠展現文件名,行號和最終版本號。

相關文章
相關標籤/搜索