Search code examples
eclipsetoolbarundo-redo

How to add undo / redo buttons to toolbar in Eclipse?


I feel a bit embarrassed asking this questions, but how the heck can I get regular undo/redo buttons into the toolbar of eclipse?

I've often to switch between German and English keyboard layout. Y and Z on those layouts is interchanged and thus I constantly trigger the wrong action for undo / redo. I've observed myself how I figure this without other editors: I just use the toolbars for this operations.

I've already tried Google and such, as well as going through the Customize Perspective dialog, but wasn't able to find what I'm looking for :-(


Solution

  • One way is to use custom plugin. In fact, such custom plugin doesn't need to do anything, only declare new toolbar contribution using existing undo/redo commands.

    I've built such plugin for you: http://www.foglyn.com/misc/undoredo_1.0.0.jar. There is absolutely no code, only plugin.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>
    

    And 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
    

    You can download it, and drop into your 'dropins' directory of Eclipse, restart, and you'll see Undo/Redo buttons on your toolbar.

    Works for me in Eclipse 3.4 and Eclipse 3.5M7.