Visual Studio 2005 有一个开源的Subversion插件,Ankhsvn  (http://ankhsvn.tigris.org/),安装后,VS 2005中将内置Subversion的支持,可以直接在VS里面提交修改。我经常用它和TortoiseSVN 配合来使用Subversion,十分方便。

可是升级到Visual Studio 2008后,发现Ankhsvn没有集成进来,因为目前的Ankhsvn还不支持VS2008,据说下个版本才会支持VS 2008。

不过这不影响我们在Visual Studio 2008中使用Ankhsvn,我们可以自己动手修改注册表,将Ankhsvn集成进VS 2008。方法很简单。

  1. 运行 regedit
  2. 找到 HKLM\SOFTWARE\Microsoft\VisualStudio\8.0\Addins\Ankh
  3. 右键点击它,选择导出,并指定一个文件保存。
  4. 用记事本或者其他文本编辑器打开这个文件,将其中的VisualStudio\8.0替换为VisualStudio\9.0
  5. 最后,双击这个修改后的注册表文件,提示是否导入进系统注册表,选择是。
再次打开Visual Studio 2008后,就会发现Ankhsvn已经集成进系统了。

为了方便操作,我写了一个vbscript脚本来进行上述操作。使用很简单,将下面的脚本保存到一个文本文件,命名为ankh.vbs,然后双击该文件即可运行。运行后,重新打开Visual Studio 2008,就会发现Ankhsv已经集成进来了。

顺便再推荐几个常用的免费的插件:

[FREE VISUAL STUDIO ADD-INS]
http://searchwindevelopment.techtarget.com/originalContent/0,289142,sid8_gci1262570,00.html


需要提醒的是,注册表操作不慎可能会导致系统崩溃,因此请谨慎修改注册表。

Dim shell, filename, fso, file, content
Set shell = CreateObject("wscript.shell")
Set fso = CreateObject("Scripting.FileSystemObject")
filename 
= "ankh.reg"

shell.run 
"reg export HKLM\SOFTWARE\Microsoft\VisualStudio\8.0\Addins\Ankh " & filename, 1True

Set file = fso.OpenTextFile(filename, 1FalseTrue)
content 
= file.ReadAll
content 
= Replace(content, "VisualStudio\8.0""VisualStudio\9.0")
content 
= Replace(content, ".NET 2005"".NET 2008")
file.Close()

Set file = fso.OpenTextFile(filename, 2True)
file.Write content
file.Close()

shell.run 
"reg import " & filename, 1true

fso.DeleteFile filename