如何为常用的SVN操作设置一些热键,例如diff?
目前要查看差异,我必须选择文件,然后右键单击,导航到TortoiseSVN,然后选择Diff动作。经常使用的东西有很多步骤。
相反,我想选择文件并使用热键(例如Ctrl-Alt-F)来执行相同的Diff操作。
在搜索解决方案时,我发现有些人在运行AutoHotKey脚本来做类似的事情,但这似乎有些过分。
我制作了一个热键快捷键(使用标准的Win 7方法创建快捷方式,然后调整其属性)来运行TortoiseMerge,这是显示差异的工具,但这样的快捷方式忽略当前文件选择并显示空白TortoiseMerge
要尝试的任何想法吗?
答案 0 :(得分:16)
您可以修改TortoiseSVN上下文菜单,并将您喜欢的命令放在上下文菜单的根目录中。这样你只需要两次点击差异。我想,并没有那么多。
另一个选择是使用高级文件管理器(如Total Commander或FreeCommander),它允许您使用自定义热键定义自定义菜单命令。
在Total Commander中,这将是“Change Start Menu”:
C:\Program Files (x86)\TortoiseSVN\bin\TortoiseProc.exe
/command:diff /path:%P\%N
CRTL+ALT+F1
无论是shell上下文菜单还是热键,运行TortoiseSVN命令至少需要2个步骤:
从这个角度来看,这只是一个个人偏好的问题:我应该点击两次还是应该点击一次然后让鼠标按下键? ;-)
答案 1 :(得分:4)
您可以尝试使用正确的参数直接调用该过程,而不必担心右键单击上下文菜单。
例如,我可以直接设置以下项目的快捷方式:
"C:\Program Files\TortoiseSVN\bin\TortoiseProc.exe" /command:update /path:"c:\Source"
从那里,您可以从热键程序中调用此快捷方式,或者如果您更喜欢开箱即用的解决方案,请将文件夹直接映射到任务栏(我将其标记为“o”以获得美观)并坚持使用该文件夹中的快捷方式。
理论上,每个存储库每个操作可以有一个快捷方式。
答案 2 :(得分:3)
更普遍地看待问题,我会说这是一个工作流程问题。大概是你想找到一种更快捷的方法来寻找差异的原因是因为你想要为许多文件做这件事。在这种情况下,请转到工作副本的根目录,然后选择TortoiseSVN -> Check for modifications
。这将显示已更改文件的列表。得到差异,只需双击每个差异。
答案 3 :(得分:3)
Autohotkey对于单个键来说是过度的,但您可以在单个脚本中收集可能在任何窗口类型中执行的操作的热键。因此,您可以让热键在一类窗口中执行相当复杂的操作,并且相同的热键使用'#IfWinActive'指令在另一种窗口类型中执行不同的操作。
例如,this URL提到为提交和更新添加热键;你可以为你的差异需要添加一个键,也许你可以为日志或其他经常执行的svn选项添加一个键。
出于某种原因,在Windows 7中调出资源管理器上下文菜单对我来说很慢。添加这些热键确实改善了我的工作流程。
注意:您还可以使用以下内容为该URL的示例代码添加前缀:
GroupAdd explorers, ahk_class ExploreWClass
GroupAdd explorers, ahk_class CabinetWClass
#IfWinActive ahk_group explorers
后缀为:
#IfWinActive
当Windows资源管理器具有焦点时,这些特定的热键将执行特定于TortoiseSVN的命令,并在所有其他情况下通过。
答案 4 :(得分:1)
安装StExBar,然后添加diff / update / commit / ...命令并指定相应的TortoiseProc.exe命令。 当然,为命令分配一个热键。
答案 5 :(得分:0)
您可以使用上下文菜单快捷方式。 只需在资源管理器中打开代码文件夹并使用以下内容:
Commit: alt + F + C
update: alt + F + U
Check for updates: alt + F + T + F
因此,您可以按上面的键盘快捷键进行提交,而不必右键单击目录,然后单击“提交”。