如何在Eclipse工具栏中添加撤销/重做按钮?

26

我有点不好意思问这个问题,但是我该如何在Eclipse的工具栏中获得常规的撤销/重做按钮呢?

我经常需要切换德语和英语键盘布局。这些布局中的YZ被交换了,因此我经常会触发错误的撤销/重做操作。我已经尝试过谷歌等方式,并在“自定义透视图”对话框中进行了查找,但没有找到我要找的东西。

我注意到自己在其他编辑器中是如何解决这个问题的:只需使用工具栏执行这些操作。


我会将标题改为“如何在Eclipse中向工具栏添加撤销/重做按钮?” - Mahtar
完成。我在编程编辑器、操作系统等方面经常看到这种标签,发现它已经足够了。 - mark
5个回答

44

一种方法是使用自定义插件。实际上,这样的自定义插件不需要做任何事情,只需使用现有的撤销/重做命令声明新的工具栏贡献即可。

我已经为您构建了这样的插件:http://www.foglyn.com/misc/undoredo_1.0.0.jar。没有代码,只有插件.xml文件:

<?xml version="1.0" encoding="UTF-8"?>
<?eclipse version="3.4"?>
<plugin>
   <extension
         point="org.eclipse.ui.menus">
      <menuContribution
          locationURI="toolbar:org.eclipse.ui.main.toolbar?after=additions">
            <toolbar
                  id="undoredo.toolbar"
                  label="Undo/Redo">
            <command
                  commandId="org.eclipse.ui.edit.undo"
                  id="undoredo.undo"
                  style="push">
            </command>
            <command
                  commandId="org.eclipse.ui.edit.redo"
                  id="undoredo.redo"
                  style="push">
            </command>
         </toolbar>
      </menuContribution>
   </extension>

</plugin>

还有 MANIFEST.MF 文件:

Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: Undoredo
Bundle-SymbolicName: undoredo;singleton:=true
Bundle-Version: 1.0.0
Bundle-RequiredExecutionEnvironment: J2SE-1.5
Require-Bundle: org.eclipse.ui
你可以下载它,并将其放入Eclipse的“dropins”目录中,然后重新启动,你会在工具栏上看到撤销/重做按钮。 对我来说,在Eclipse 3.4和Eclipse 3.5M7中可用。

你能否创建一个带有.zip扩展名的undoredo.jar副本吗?我的公司防火墙会阻止带有.jar扩展名的文件 :( - Bulletmagnet
1
@Bulletmagnet: 当然,没问题。这是链接:http://www.foglyn.com/misc/undoredo_1.0.0.zip - Peter Štibraný
使用 Eclipse 4.7.0 Oxygen 版本,撤销后重做按钮未能启用,但编辑菜单项已经启用 :( 切换到另一个选项卡然后返回即可启用重做。 - Bulletmagnet
有关如何安装这个的任何说明? - ioaniatr
@ioaniatr:我已经有一段时间没有使用Eclipse了,所以可能会有所改变,但是以前在Eclipse安装目录下有一个“dropins”目录。您需要将下载的文件放入此目录中。 - Peter Štibraný

7
也许如果无法使撤销工具栏正常工作,您可以更改撤销/重做键组合的映射,以便您更加舒适地使用。
在Eclipse中,转到“窗口”>“首选项”,然后在左侧树中转到“常规”>“键”。
在“类型筛选文本”框中输入“Undo”,然后您将看到“撤消”命令出现在底部列表中。 您可以自由更改此映射,从默认的Ctrl + Z更改为其他映射。 您也可以对Redo和任何其他操作执行相同的操作,例如删除尾随空格等。

6

编辑: 这个已经包含在Peter Štibraný的答案中了。

虽然是旧帖子,但仍然有用... 我对Peter Štibraný优秀的答案做了一点小修改。将开头的工具栏标签更改为:

<toolbar
    id="undoredo.toolbar"
    label="Undo/Redo">

这可以使新工具栏在“自定义透视图”对话框中显示为带有标签撤消/重做,而不是显示为空白条目。(没有足够的声望将其添加到评论中!)

4
工具栏和菜单取决于当前的视图模式。 要更改它们,请转到 窗口 > 自定义视图...

1

2021更新

在Eclipse 2020-12中有一个快速修复方法:Window --> Perspective --> Customize Perspective --> 点击Edit复选框 --> 应用并关闭。

这将在工具栏上放置撤销/重做按钮,但在左侧。要移动它们,点击撤销按钮左侧的三个点,并将其拖动到编辑器窗口上方更方便的位置。


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