Eclipse 比较/差异视图的键盘快捷键?

32

当我在Eclipse中比较两个文件时(例如使用“与本地历史比较”),有哪些键盘快捷方式可用?

我希望能够在不必点击小按钮的情况下,跳转到下一个/上一个差异并将所选差异向左复制。

谢谢!

5个回答

26

为了完成Artemanswer,在偏好设置->通用->编辑器->键盘快捷键后,搜索以下内容:

  • 选择下一个更改
  • 选择上一个更改
  • 从左到右复制
  • 从右到左复制

所有这些在"比较"部分的键都没有默认的快捷方式,所以您可以添加自己选择的快捷方式。

http://rubenlaguna.com/wp/wp-content/uploads/2007/08/comparebefore.png


2
您还可以使用“下一个/上一个”命令:https://dev59.com/f2kw5IYBdhLWcg3wDWIk - Sam Hasler
3
Eclipse 4.2发生了什么变化吗?我在3.7(Indigo)中正常工作的所有下一个/上一个差异/更改的绑定现在都停止工作了。我将"When"设置为"在编辑器中比较",没有冲突。 - Piotr Dobrogost
@PiotrDobrogost 不确定(我现在无法访问4.2)。不过您的回答加一。 - VonC
2
Text Compare 窗口中的键绑定在 Eclipse 4.2 中无法正常工作 - 请参见 https://bugs.eclipse.org/bugs/show_bug.cgi?id=376491。他们总是在 Eclipse 中破坏一些东西。现在是时候转向竞争对手了。 - Piotr Dobrogost
@PiotrDobrogost,我使用的是4.3.1版本,这些快捷键对我有效,只有在使用热键中的字母时才有效;具体来说,箭头(非字母?)无法正常工作。(我已经编辑了Jeremy的答案,因为他特别建议使用箭头。) - CrazyPyro
显示剩余2条评论

15

根据@Artem和@VonC的指示,您可以设置自己的键。

然而,在Eclipse Galileo中,路径为Window > Preferences > General > Keys

对于每个要设置的命令:

  1. 单击命令名称
    TIP:按“类别”进行排序以组合所有“比较”命令。

  2. 单击“Binding”文本框
    然后,选择要使用的键,Eclipse将为您记录它们。
    TIP:除了组合键之外,您还可以输入一系列键。

  3. 将“When”下拉框设置为“在编辑器中进行比较”。
    TIP:此设置将限制热键仅在所选上下文中激活。


直观的快捷键设置:(我的推荐,不是标准)

  • 从左到右全部复制 Ctrl+Shift+Left, Ctrl+Shift+Right
  • 从右到左全部复制 Ctrl+Shift+Right, Ctrl+Shift+Left
  • 从左到右复制 Ctrl+Left, Ctrl+Right
  • 从右到左复制 Ctrl+Right, Ctrl+Left
  • 选择下一个更改 Ctrl+Down
  • 选择前一个更改 Ctrl+Up

5
你不一定需要将“选择下一个/上一个更改”绑定到自定义热键,你可以通过按Ctrl + .和Ctrl +,跳转到下一个/上一个差异...实际上,这些快捷键可以跳转到当前编辑器中的下一个/上一个注释,因此在标准Java编辑器中适用于错误标记和警告,但由于差异编辑器仅显示差异,因此它在这里起到了预期的作用。 - arne.jans
3
顺便问一下:在差异编辑器处于活动状态时,是否有可用的热键可以将光标切换到其他差异侧对应的行? - arne.jans
@arne.jans,“选择下一个更改”将在一行中移动多个更改,因此将其绑定也很有用。奇怪的是,“上一个”不起同样的作用。 - Sam Hasler
1
@arne.jans Ctrl+.Ctrl+, 是用于选择下一个/上一个差异(difference)的标准键绑定,而不是用于选择下一个/上一个更改(change)的。请查看我的回答获取更多细节。 - Piotr Dobrogost
1
Ctrl+DownCtrl+Up 可以激活滚动(对我来说),如果不进行进一步的调整,就无法覆盖“选择[上一个|下一个]更改”的功能。 - Bowi
1
@Bowi 他们为我移动了光标,Ctrl+左Shift+Ctrl+左(和+右)也是如此,即使绑定了快捷键。我们需要不同的按键。 - Charles

9

使用Eclipse时,如果您在一个窗口中有一个按钮执行某个操作,但是该按钮没有提示工具来显示其快捷键,请转到Navigate菜单。大多数情况下,快捷键会在那里显示。

enter image description here


所以基于这些,我将Ctrl+Shift+.映射为“从左到右复制”,将Ctrl+Shift+,映射为“从右到左复制”,以保持一致性。 - Daniel Sokolowski

7

实际上,您可以定义任何您想要的内容作为此快捷方式。 首选项 -> 通用 -> 编辑器 -> 键。 编辑: 由于某种原因,我在那里没有看到该选项出现。 O_o


2
啊,是的 - 诀窍在于你必须检查“包括未绑定命令”。谢谢! - David Wolever

3

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接