在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调用该命令。至关方便。
输出窗口也能够展现文件名,行号和最终版本号。