设置 Tortoise SVN Windows 7 热键

声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow 原文地址: http://stackoverflow.com/questions/5077805/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me): StackOverFlow

提示:将鼠标放在中文语句上可以显示对应的英文。显示中英文
时间:2020-09-15 16:14:08  来源:igfitidea点击:

Setting up Tortoise SVN Windows 7 hotkeys

windowssvnwindows-7tortoisesvnhotkeys

提问by Sint

How would one go about setting up some hotkeys for commonly used SVN actions such as diff?

如何为常用的 SVN 操作(例如 diff)设置一些热键?

Currently to view diff, I have to select file(s), then right click, navigate to TortoiseSVN and then select Diff action. Quite a few steps for something used often.

目前要查看差异,我必须选择文件,然后右键单击,导航到 TortoiseSVN,然后选择差异操作。对于经常使用的东西,相当多的步骤。

Instead, I would like to select file and use hotkey(for example Ctrl-Alt-F) to do the same Diff action.

相反,我想选择文件并使用热键(例如 Ctrl-Alt-F)来执行相同的 Diff 操作。

Searching for solutions, I have found some people running AutoHotKey scripts to do similar things, but it seems like an overkill.

寻找解决方案,我发现有些人运行 AutoHotKey 脚本来做类似的事情,但这似乎有点矫枉过正。

I made a hotkey shortcut(using standard Win 7 method of creating a shortcut then adjusting its properties) to run TortoiseMerge, which is the tool that displays the diff, but such a shortcut ignores current file selection and brings up a blank TortoiseMerge.

我创建了一个热键快捷方式(使用标准的 Win 7 方法创建快捷方式然后调整其属性)来运行 TortoiseMerge,这是显示差异的工具,但这样的快捷方式会忽略当前文件选择并显示一个空白的 TortoiseMerge。

Any ideas to try?

有什么想法可以尝试吗?

回答by splash

You can modify the TortoiseSVN context menu and place your favorite commands at the root of the context menu. This way you have only to click twice for a diff. Not that much, I think.

您可以修改 TortoiseSVN 上下文菜单并将您喜欢的命令放在上下文菜单的根部。这样,您只需单击两次即可查看差异。没那么多,我想。

TortoiseSVN Settings - Context Menu

TortoiseSVN 设置 - 上下文菜单

Another option would be to use an advanced file manager (like Total Commander or FreeCommander) which enables you to define custom menu commands with custom hot keys.

另一种选择是使用高级文件管理器(如 Total Commander 或 FreeCommander),它使您能够使用自定义热键定义自定义菜单命令。

In Total Commander this would be "Change Start Menu":

在 Total Commander 中,这将是“更改开始菜单”:

  • Command: C:\Program Files (x86)\TortoiseSVN\bin\TortoiseProc.exe
  • Parameters: /command:diff /path:%P\%N
  • Shortcut Key: CRTL+ALT+F1
  • 命令: C:\Program Files (x86)\TortoiseSVN\bin\TortoiseProc.exe
  • 参数: /command:diff /path:%P\%N
  • 快捷键: CRTL+ALT+F1

Whether shell context menu or hotkey, you need at least 2 steps to run a TortoiseSVN command:

无论是 shell 上下文菜单还是热键,您至少需要 2 个步骤来运行 TortoiseSVN 命令:

  1. Select the file (selecting and right clicking to open the context menu is a single action)
  2. Run the command (click on the context menu item or press the shortcut key)
  1. 选择文件(选择并右键单击打开上下文菜单是一个操作)
  2. 运行命令(单击上下文菜单项或按快捷键)

From this point of view it's just a question of your personal preference: should I click twice or should I click once and leave the mouse for pressing a key? ;-)

从这个角度来看,这只是您个人喜好的问题:我应该单击两次还是应该单击一次并离开鼠标以按下某个键? ;-)

回答by user117529

Autohotkey is overkill for a single key, but you can collect the hotkeys for actions you might perform in any window type all in a single script. As a result, you can have hotkeys perform fairly complex actions in one class of windows, and the same hotkeys perform different actions in another window type using the '#IfWinActive' directive.

Autohotkey 对于单个键来说有点过分,但是您可以在单个脚本中收集可能在任何窗口类型中执行的操作的热键。因此,您可以让热键在一类窗口中执行相当复杂的操作,而相同的热键使用“#IfWinActive”指令在另一种窗口类型中执行不同的操作。

For example, this URLmentions adding hotkeys for commit and update; you could add a key for your diff need, and perhaps one for log or some other svn option you perform frequently.

例如,这个 URL提到添加用于提交和更新的热键;您可以为您的 diff 需求添加一个密钥,也可以为您经常执行的日志或其他一些 svn 选项添加一个密钥。

For some reason, bringing up the explorer context menu is slow for me in Windows 7. Adding these hotkeys really improved my workflow.

出于某种原因,在 Windows 7 中打开资源管理器上下文菜单对我来说很慢。添加这些热键确实改善了我的工作流程。

Note: you can also prefix that URL's example code with the following:

注意:您还可以使用以下内容作为 URL 示例代码的前缀:

GroupAdd explorers, ahk_class ExploreWClass
GroupAdd explorers, ahk_class CabinetWClass

#IfWinActive ahk_group explorers

And suffix it with:

并加上后缀:

#IfWinActive

And those specific hotkeys will execute the TortoiseSVN-specific commands when Windows Explorer has focus, and be passed through in all other cases.

当 Windows 资源管理器获得焦点时,这些特定的热键将执行 TortoiseSVN 特定的命令,并在所有其他情况下传递。

回答by Michael Vickers

You could try directly calling the process with the correct parameters instead of worrying about right-click context menus.

您可以尝试使用正确的参数直接调用进程,而不必担心右键单击上下文菜单。

For example, I was able to set up a shortcut directly to the following item:

例如,我能够直接设置以下项目的快捷方式:

"C:\Program Files\TortoiseSVN\bin\TortoiseProc.exe" /command:update /path:"c:\Source"

From there, you can call this shortcut from your hotkey program, or if you prefer a out-of-the-box solution, map a folder directly to the task bar (I labeled mine "o" for aesthetics) and stick that shortcut in this folder.

从那里,您可以从热键程序中调用此快捷方式,或者如果您更喜欢开箱即用的解决方案,则将文件夹直接映射到任务栏(为了美观,我将我的文件夹标记为“o”)并将该快捷方式插入这个文件夹。

Theoretically, you could have one shortcut per operation, per repository.

从理论上讲,您可以为每个操作、每个存储库设置一个快捷方式。

回答by the_mandrill

Looking at the problem more generally, I'd say that this is a workflow issue. Presumably the reason you want to find a quicker way of finding diffs is because you want to do it for a number of files. In that case, go to the root of your working copy and choose TortoiseSVN -> Check for modifications. That will show you a list of changed files. Do get the diffs, just double click on each.

更一般地看待这个问题,我会说这是一个工作流程问题。大概您想找到一种更快的方法来查找差异的原因是因为您想为多个文件执行此操作。在这种情况下,转到工作副本的根目录并选择TortoiseSVN -> Check for modifications. 这将向您显示已更改文件的列表。获取差异,只需双击每个差异。

回答by Stefan

Install the StExBar, then add commands for diff/update/commit/... and specify the corresponding TortoiseProc.exe command. And of course assign a hotkey for the command.

安装StExBar,然后为 diff/update/commit/... 添加命令并指定相应的 TortoiseProc.exe 命令。当然,为命令分配一个热键。

回答by ashish

You can use context menu shortcuts. Just open code folder in explorer and use below:

您可以使用上下文菜单快捷方式。只需在资源管理器中打开代码文件夹并在下面使用:

Commit: alt + F + C
update: alt + F + U
Check for updates: alt + F + T + F

So you can press above keyboard shortcuts to commit instead of having to right click directory then click commit.

因此,您可以按上面的键盘快捷键进行提交,而不必右键单击目录然后单击提交。