我发现了this个问题,但引用的选项没有说明支持“责备”。我正在寻找的是一种综合方式来询问“谁在光标下编辑了最后一行?”。
我知道大多数/所有SVN客户都会以某种形式表达这一点,但我想要的东西让我很容易就可以随心所欲地做到这一点:“哼哼,是谁写的?[点击水龙头]哦他。”
答案 0 :(得分:16)
AnkhSVN 2.0的每日版本都有一个全新的注释(责备)实现,受TFS注释功能的启发。
(来源:qqn.nl)
在这些屏幕截图中不是真的可见,但它使用Visual Studio编辑器进行语法着色等。(您可以看到下一个图像右下角的sizeof()为蓝色)。正如您在第二张图片中看到的那样,它还允许左栏中修订区域上的几个命令。
它目前没有实现跳转到活动行。但您可以在其中使用Visual Studio转到行(Ctrl + G)命令。 (您可以在宏中编写脚本)
开始注释的最简单方法是右键单击编辑器 - > Subversion-> Annotate。
(来源:qqn.nl)
[更新2009-02-03:此功能现在通常在新的稳定版本中提供]
答案 1 :(得分:8)
我编写了一个Visual Studio宏来获取行号信息并将其传递给tortoiseproc.exe(这是TortoiseSVN的一部分)
看一下参数信息: http://tortoisesvn.net/docs/release/TortoiseSVN_en/tsvn-automation.html
这是我的宏:
Sub Blame()
sCurrFileFull = DTE.ActiveDocument.FullName
Dim activeDoc As Document
activeDoc = DTE.ActiveDocument
Dim nLine As Integer
nLine = activeDoc.Selection.CurrentLine
sShellCommand = sTorEXE & " /command:blame /startrev:1 /endrev:-1 /path:""" &
sCurrFileFull & """ /notempfile /line:" & nLine.ToString()
Shell(sShellCommand, AppWinStyle.MaximizedFocus, False)
End Sub
答案 2 :(得分:6)
我使用一组连接到TortoiseProc.exe的外部工具来执行SVN操作,如log,diff,blame,revert,commit,update等。然后我创建这些外部工具的工具栏快捷方式,以便我拥有所有基本工具可以在IDE中访问SVN操作。
以下是创建按钮以对当前文件进行指责的步骤:
c:\Program Files\TortoiseSVN\bin\TortoiseProc.exe
/command:blame /path:"$(ItemPath)" /notempfile
$(ItemDir)
现在,无论何时打开文件,只需转到工具 - >责备它应该在弹出窗口中生成Blame。您还可以自定义工具栏并为此外部工具创建快捷方式,以使其更加轻松。
答案 3 :(得分:3)
在VisualSVN中,在某种程度上支持责备 - 您可以右键单击文件并选择“责备”。但是,它会弹出一个新窗口,可能没有按照您的需要进行集成。
答案 4 :(得分:1)
以下是crashmstr和Derek Dahmer macro code的工作版本:
Sub Blame()
Dim sCurrFileFull = DTE.ActiveDocument.FullName
Dim activeDoc = DTE.ActiveDocument
Dim nLine = activeDoc.Selection.CurrentLine
Dim sTorEXE = "TortoiseProc.exe"
' Add path if you don't have TortoiseSVN on your PATH
Dim sShellCommand = sTorEXE & " /command:blame /startrev:1 /endrev:-1 /path:""" & sCurrFileFull & """ /notempfile /line:" & nLine.ToString()
Shell(sShellCommand, AppWinStyle.MaximizedFocus, False)
End Sub
根据Derek Dahmer的说明,使用Tools > Macros > Macro IDE
将其添加到新的或现有的宏模块中。
为方便访问,我将宏添加到我的代码窗口上下文菜单中:
Customize > Commands > Context menu > Editor Context Menus | Code Window
Add Command > Macros > Find your macro
Modify Selection > Name: Bla&me
在上下文菜单中使用它可以轻松访问键盘,但您当然也可以为其添加键盘快捷键。我在Ctrl-Shift-M上使用它,默认情况下没有任何有用的东西:)。