# Tips and Tricks

The following tips and tricks give some helpful ideas for increasing your productivity. They are divided into the following sections:

- Workbench
- Editing
- Ant
- Help
- Version Control (Team)

### Workbench

Find Actions can open files from file system | The Find Actions command, usually accessible with Ctrl+3, now allows to open a file if the query is the path of an existing file on the filesystem.

Process ID in Debugger

Eclipse Debug framework can now show process ID (pid) of the started processes. The pid is shown (if supported by the concrete debugger implementation) in the Console view description and Properties page for the process.

This should work out of the box for all processes using or extending `org.eclipse.debug.core.model.RuntimeProcess`, and can be easily added to other processes by specifying `IProcess.ATTR_PROCESS_ID` process attribute.

Additionally, the Java debugger now shows process id for the process element in the Debug view.

Using the dark theme | You can use Eclipse with the default dark theme. You can select the dark theme on the General > Appearance preferences page. After a theme switch it is recommended to restart Eclipse via File > Restart
Now, where was I? | Workbench editors keep a navigation history. If you open a second editor while you're editing, you can press Navigate > Backward (Alt+Left Arrow, or the back arrow on the workbench toolbar) to go back to the last editor. This makes working with several open editors a whole lot easier.

Find Actions

You can quickly find all manner of user interface elements with the Find Actions search button at the top of the workbench window. Click the button or use the Ctrl+3 binding to switch focus to it. Matching elements include (but are not limited to) open editors, available perspectives, views, preferences, wizards, commands, and launch configurations. Simply start typing the name of the item you wish to invoke and we will attempt to find something in the Workbench that matches the provided string.

Full Screen mode | You can toggle the Eclipse full screen mode via shortcut (Alt+F11) or menu (Window > Appearance > Toggle Full Screen).
Ctrl+E editor list | You can quickly switch editors using the Ctrl+E keybinding which opens a list of all open editors. The list supports type-ahead to find the editor as well as allows you to close editors using a popup menu or the Delete key.
Like to start afresh each session? | A setting on the General > Editors preference page closes all open editors automatically whenever you exit. This makes start-up cleaner and a bit faster.
Automatic Save of editors with unsaved changes | You can configure the automatic save of editors with unsaved changes in Eclipse via the General > Editors > Autosave preference page which allows you to enable/disable the autosave and change the interval of autosave.
Prevent in-place OLE editors | By default, on Windows, OLE applications like Microsoft Word or Excel open as in-place editors inside of Eclipse. You can force OLE applications to open as stand-alone applications by unchecking the "Allow in-place system editors" option on the General > Editors preference page.
Opening editors using drag and drop | You can open an editor on an item by dragging the item from a view like the Project Explorer or Package Explorer and dropping it over the editor area.
Tiling the editor work area | You can use drag and drop to modify the layout of your editor work area. Grab an editor or view tab and drag it to the edge of the editor work area. The green drop rectangles indicate which way the editor work area will split.

Splitting an editor

To view or edit multiple sections of an editor at once, you can split / unsplit the currently active editor via:

- Window > Editor > Toggle Split Editor (Horizontal)
- Window > Editor > Toggle Split Editor (Vertical)

Or just use one of the key bindings:

- Ctrl+_ to split horizontally
- Ctrl+{ to split vertically

You can also open a second editor instance via Window > Editor > Clone.

Open editors with a single click | Use the Open mode setting on the General preference page to activate single click opening for editors. In single click mode, a single click on a file in the Project Explorer view (and similar views) selects and immediately opens it.
Collapsing all open items | Use the Collapse All button on the toolbar of the Project Explorer view (and similar views) to collapse all expanded project and folder items.
Global find/replace | Use Search > File from the main menu to specify the text that you want to replace and the scope in which you want to replace it. Then press Replace....
Replace from Search view | You can replace the matches in the files by using Replace... or Replace Selected... from the context menu in the Search view.
Overlay for find/replace | You can use the find/replace dialog or an integrated overlay for performing search and replace operations within an open editor by selecting the preference under General > Editors > Text Editors.
Show In System Explorer | If you select a resource and right click, there is a Show In > System Explorer context menu entry that will open the folder containing that resource in your system's file explorer. The command for launching the system explorer can be configured on the General > Workspace preference page.
Linking view to current open editor | The resource Project Explorer view (and similar views) is not tightly linked to the currently open editor by default. This means that closing or switching editors does not change the selection in the Project Explorer view. Toggling the Link with Editor button in the Project Explorer view toolbar ties the view to always show the current file being edited.

Manual editor / view synchronization

The Navigate > Show In command provides a uniform way to navigate from an open editor to a view showing the corresponding file (e.g., in the Project Explorer view), or from a file selected in one view to the same file in a different view (e.g., from the resource Project Explorer view to the Package Explorer view).

Typing Alt+Shift+W opens a shortcut menu with the available view targets.

Quick navigation between views, editors and perspectives

A look at the Window > Navigation menu reveals a number of ways to quickly navigate between the various views, editors, perspectives, and menus in the workbench. These commands have keyword accelerators such as Ctrl+F6 for switching between editors, Ctrl+F7 for switching between views, Ctrl+F8 for switching between perspectives, and F12 for activating the editor.

To directly navigate to a particular view you can define a keyboard shortcut to a view via the General > Keys preference page.

Switch editors and multi-page editors | You can use Ctrl+PageDown and Ctrl+PageUp to activate the next or previous editor tab, even in multi-page editors. To switch between pages of a multi-page editor, use Alt+PageDown and Alt+PageUp.
Pinning editors | When the Close editors automatically preference is active (found on the General > Editors preference page), you can stop an editor from being closed by using the Pin Editor button which appears in the workbench toolbar.
Square versus round tabs | Square tabs are used by default in the IDE: In order to switch back to using round tabs, you can use the preference option Use round tabs on the General > Appearance preferences page.
Reordering editor tabs | You can rearrange the order of open editors by using drag and drop. Grab the editor tab and drag it to the position you want the editor to appear. When positioning editors, the stack icon indicates a valid spot to drop.
Middle mouse button closes tabs | You can click on a view or editor tab with your middle mouse button to close it. If you do not have a middle mouse button, try clicking on the scroll wheel if you have one.
Close Tabs to the Left/Right | The context menu of editor and view tabs offers Close Tabs to the Left and Close Tabs to the Right menu to close the corresponding tabs.
Minimizing views and editors | Running out of space? Try minimizing your unused views to reclaim screen real-estate. Each view stack contains a minimize icon along side the maximize icon.
Maximizing views and editors | You can maximize a view or editor by double-clicking on the view's title bar or the editor's tab. Double-click again to restore it to its usual size.

Detached views and editors

It's possible to detach a view or editor so that it can be placed wherever desired, including over another Eclipse window.

Simply drag the view by its tab to a location outside the workbench window to detach it. You can also drag and drop other views into the same window.

To return the view to the workbench window, simply drag the view by its tab back into the workbench window.

Restoring a perspective's layout | Rearranging and closing the views in a perspective can sometimes render it unrecognizable and hard to work with. To return it to a familiar state, use Reset Perspective on the Window > Perspective preference page.
User customizable key bindings | If you find yourself repeatedly doing some command, you might be able to streamline things by assigning a key sequence to trigger that command. Assigning new key bindings, and viewing existing bindings, is done from the General > Keys preference page.
View all keyboard shortcuts | While working with your favorite editors and views in Eclipse, just press Ctrl+Shift+L to see a full list of the currently available key bindings. This is a great way to learn what is available in the UI and to speed up your productivity by learning more key bindings. This information is also available in the improved General > Keys preference page.

Key binding assistance

Eclipse supports key bindings that contain more than one key stroke. Examples of such key bindings are Ctrl+X S (Save in the Emacs key configuration) or Alt+Shift+Q Y (Show View (View: Synchronize) in the Default key configuration). It is hard to learn these keys, and it can also be hard to remember them if you don't use them very often. If you initiate such a key sequence and wait a second, a little pop-up showing you the possible completions will appear.

Customizing toolbar and menu bar | You can customize which items appear on the main toolbar and menu bar using the Window > Perspective > Customize Perspective command.
Restoring deleted resources | Select a container resource and use Restore from Local History to restore deleted files. You can restore more than one file at one time.
Faster workspace navigation | Navigate > Open Resource... (Ctrl+Shift+R) brings up a dialog that allows you to quickly locate and open an editor on any file in the workspace.
Quickly find a resource | Use the Navigate > Go To > Resource command to quickly find a resource. If the Go To > Resource command does not appear in your perspective, you can add it by selecting Window > Perspective > Customize Perspective, then Other > Resource Navigation.
Copying and moving resources | You can drag and drop files and folders within the Project Explorer view to move them around. Hold down the Ctrl key to make copies.
Importing files | You can quickly import files and folders into your workspace by dragging them from the file system (e.g., from a Windows Explorer window) and dropping them into the Project Explorer view. The files and folder are always copied into the project; the originals are not affected. Copy and paste also work.
Exporting files | Dragging files and folder from the Project Explorer view to the file system (e.g., to a Windows Explorer window) exports the files and folders. The files and folder are always copied; workspace resources are not affected. Copy and paste also work.

Transfer preferences

The preferences can be transferred from one workspace to another by exporting and importing them. In addition, it is possible to only do this for selected categories:

Easily accessible buttons for opening the Import/Export preferences wizard are available in the lower left corner of the Preferences dialog. The wizards are also accessible via File > Import.../Export... > General > Preferences.

Copy preferences during workspace switch | You can copy preferences during a switch to a new or existing workspace.
Workspace project management | Use the Project > Close Project command to manage projects within your workspace. When a project is closed, its resources are temporarily "offline" and no longer appear in the Workbench (they are still sitting in the local file system). Closed projects require less memory. Also, since they are not examined during builds, closing a project can improve build times.

Describing your configuration

When reporting a problem, it's often important to be able to capture details about your particular setup. The Installation Details button on the Help > About Product dialog opens a dialog containing pages that describe different aspects of your installation. The Configuration page displays a file containing various pieces of information about your setup, including plug-in versions, preference settings, and the contents of the internal log file. You can copy and save this information, and attach the saved file to your problem report.

Deleting completed tasks | Use the Delete Completed Tasks command in the Task view context menu to remove all completed tasks from the Tasks view. This is more convenient than individually selecting and deleting completed tasks.
Viewing resource properties | Use the Properties view ( Window > Perspective > Show View > Properties) when viewing the properties for many resources. Using this view is faster than opening the Properties dialog for each resource.
Extra resource information | Label decorations are a general mechanism for showing extra information about a resource. Use the General > Appearance > Label Decorations preference page to select which of the available kinds of decorations you want to see.
Filtering resources | Most views that show resources support filtering of their items. You control which items are visible by applying filters or working sets. The commands to filter are found in the view menu.
Quick fix in Tasks view | You can use the Quick Fix command in the Tasks view to suggest an automatic fix for the selected item. The Quick Fix command is only enabled when there is a suggested fix.

Creating path variables

When creating a linked folder or file, you can specify the target location relative to a path variable. By using path variables, you can share projects containing linked resources without requiring team members to have exactly the same path in the file system. You can define a path variable at the time you create a linked resource, or via the General > Workspace > Linked Resources preference page.

Comparing zip archives with each other or with a folder

Select two zip archives or one archive and a folder in the resource Project Explorer view and choose Compare With > Each Other from the view's popup menu. Any differences between the two inputs are opened in a Compare editor. The top pane shows all the archive entries that differ. Double clicking on an item performs a content compare in the bottom pane.

This works in any context where a file comparison is involved. So if a Synchronize operation lists an archive in the resource tree, you can double click on it in order to drill down into changes within the archive.

Switch workspace

Instead of shutting down eclipse and restarting with a different workspace you can instead use File > Switch Workspace. From here you can either open previous workspaces directly from the menu or you can open the workspace chooser dialog to choose a new one.

When you change certain preferences that require a restart to take effect (such as the General > Appearance preferences), use File > Restart.

Show workspace path | The General > Workspace preference page shows the current workspace path. In addition, you can show the path in window title by checking the option "Show current workspace path in window title". The `-showLocation` command line argument can also be used to show the path in window title and it overrides the preference.

Disabling unused capabilities

If there are parts of the Eclipse Platform that you never use (for instance, you don't develop Plug-ins) it's possible that you can disable them from the UI entirely. Segments of the Workbench that may be filtered can be found in the General > Capabilities preference page. By disabling capabilities you are able to hide views, perspectives, preference pages and other assorted contributions.

Storing the encoding of derived resources separately

Usually the encodings for all files in a project are stored in one preferences file. If you are using a version control system and the preferences file is shared, the encodings for all resources, including derived, are shared along with it. To store the encodings of derived resources in a separate preferences file and avoid sharing it, go to Project > Properties > Resource and select the Store the encoding of derived resources separately option.

Debug option for resource change notifications

In order to help troubleshooting problems with resource change listeners and to print information about which event triggers which listener, you can use the given debug option. To get a better picture of the flow of all workspace change events and how other plug-ins react to those changes, you can enable this debug option by adding

          org.eclipse.core.resources/debug=true
          org.eclipse.core.resources/notifications=true

in your .options file or using the General > Tracing preference page.

Terminate and Relaunch from history

You can use the Terminate and Relaunch while launching from history option on the Run/Debug > Launching preference page to configure automatic termination of previous launches while launching from history.

The behavior not selected on the preference page can also be activated on-demand by holding the Shift key while launching the configuration from history.

Hint: You can still open the dialog to edit a launch configuration by holding the Ctrl key while selecting the configuration from history.

Launch multiple launch configurations sequentially

You can create a Launch Group via the Run > Run Configurations... or Run > Debug Configurations... dialog to launch multiple launch configurations sequentially, with configurable actions after launching each group member:

- None: Continue launching the next member right away
- Wait until terminated: Continue launching the next member only after this member has terminated
- Delay: Delay launching the next member for a given amount of seconds.
- Wait for console output (regexp): Allows to delay further processing of launch group elements until a certain output (matching a regular expression) appears on the console of the given group element.
- Adopt launch if already running: Allows to control the behaviour of the group when the launch configuration referenced by the launch group element is already running (no matter who launched it). If checked, the launch configuration will not be launched again if it is running already. The existing launch will be adopted by the group (i.e. terminating the group will also terminate this launch). Any configured post launch action will still be executed!

Export Launch Configurations | The Export Launch Configurations wizard can be easily accessed via the context menu on Launch Configurations. This wizard is also available with File > Export > Run/Debug > Launch Configurations.
Sort breakpoints by creation time | You can use the Sort By > Creation Time option in Breakpoints view's view menu to show the newly created breakpoints on top.

### Editing

Finding a string incrementally

Use Edit > Incremental Find Next (Ctrl+J) or Edit > Incremental Find Previous (Ctrl+Shift+J) to enter the incremental find mode, and start typing the string to match. Matches are found incrementally as you type. The search string is shown in the status line. Press Ctrl+J or Ctrl+Shift+J to go to the next or previous match. Press Enter or Esc to exit incremental find mode.

Go to last edit location | Navigate > Previous Edit Location (Ctrl+Q) takes you back to the place where you last made a change. A corresponding button marked is shown in the toolbar. If this toolbar button does not appear in your perspective, you can add it by selecting Window > Perspective > Customize Perspective, then Other > Editor Navigation.
Go to multiple edit locations | Navigate > Previous Edit Location and Navigate > Next Edit Location take you back and forward respectively in the edit locations history.

Shortcuts for manipulating lines

All text editors based on the Eclipse editor framework support editing functions, including moving lines up or down (Alt+Arrow Up and Alt+Arrow Down), copying lines (Ctrl+Alt+Arrow Up and Ctrl+Alt+Arrow Down), inserting a new line above or below the current line (Ctrl+Shift+Enter and Shift+Enter), and converting to lowercase or uppercase (Ctrl+Shift+Y and Ctrl+Shift+X).

Quick Diff: seeing what has changed as you edit

Quick Diff provides color-coded change indication while you are typing. It can be turned on for text editors using either the ruler context menu, Ctrl+Shift+Q or for all new editors on the General > Editors > Text Editors > Quick Diff preference page. The colors show additions, deletions, and changes to the editor buffer as compared to a reference, for example, the contents of the file on disk or its latest remote revision.

When the mouse cursor is placed over a change in the vertical ruler, a hover displays the original content, which can be restored using the ruler's context menu. The context menu also allows you to enable/disable Quick Diff.

Customizing the presentation of annotations | You can customize the presentation of annotations in editors on the General > Editors > Text Editors > Annotations preference page:
Next / previous navigation | You can use Ctrl+. and Ctrl+, to navigate to the next or previous search match, editor error, or compare difference. These are the shortcut keys for Navigate > Next and Navigate > Previous.
Line delimiter support | You can set the line delimiter that is used when creating new text files. You can provide a single setting for the entire workspace, using the General > Workspace preferences, or for a given project. Note: Changing those settings does not convert existing files. To convert the line delimiters in a project, folder or file use File > Convert Line Delimiters To >.
Word completion | In any text editor you can complete a prefix to a word occurring in all currently open editors or buffers. The default key binding for word completion is Alt+/. (Ctrl+. on the Mac).
Open untitled files | A text editor can be opened without creating a file first: select File > New > Untitled Text File.

Commands to zoom in text editors

In text editors, you can use Zoom In (Ctrl++ or Ctrl+=) and Zoom Out (Ctrl+-) commands to increase and decrease the font size.

Like a change in the General > Appearance > Colors and Fonts preference page, the commands persistently change the font size in all editors of the same type. If the editor type's font is configured to use a default font, then that default font will be zoomed.

Pinch to zoom in text editors

To temporarily zoom the editor font in text editors, use a "pinch" gesture on a touchpad. Put two fingers on the touchpad and move them apart or together.

To reset the original font size, rotate two fingers by at least 45o, or close and reopen the editor (Navigate > Back).

Those gestures only affect the current editor. Changes are neither propagated to other editors nor persisted.

Note: SWT currently only supports these gestures on OS X and on Windows systems that use the native multi-touch support. Touchpads that emulate mouse move/scroll events don't support gestures. Gesture support on GTK is not implemented yet.

Browser Editor can toggle auto-refresh | The Browser Editor contains a drop down option for enabling auto-refresh for local pages. When enabled, the Browser Editor will automatically refresh if the opened file is edited and saved.
Show problem markers inline | You can see error, warning, and info problem markers inline in text editors supporting code minings by setting the Show Code Minings for Annotations option on General > Editors > Text Editors preference page.

### Ant

Launching from the Context menu | You can launch an Ant build from the context menu. Select an Ant buildfile and then choose Run > Ant Build from the context menu. To configure options before running the build, use Run > Ant Build... which will open the launch configuration dialog. A build can also be started from the Ant editor outline context menu.
Specification of JRE | You can specify the JRE that an Ant build occurs in using the JRE tab of the launch configuration dialog for an Ant launch configuration. The build can be set to run in a separate JRE (the default setting) or the same JRE as the Eclipse workspace. Note that some Eclipse specific tasks require that the build occurs in the same JRE as Eclipse.
Running Ant targets in the Ant view | You can double click on a target in the Ant view to run it (equivalent to selecting the target and choosing the Run command from the context menu).
Terminating Ant builds | The Terminate command in the console (or Debug view) can be used to terminate an Ant build running in the background.

Ant output and hyperlinks

The output from Ant builds is written to the Console view in the same hierarchical format seen when running Ant from the command line. Ant tasks (for example `[mkdir]`) are hyper-linked to the associated Ant buildfile, and `javac` error reports are hyper-linked to the associated Java source file and line number.

The Console supports hyperlinks for `javac` and `jikes` as well as the Eclipse Java compiler. All such error reports are hyper-linked to the associated Java source file and line number.

Ant can find it | When the Run > External Tools > Run As > Ant Build launch shortcut is used, it searches for the buildfile to execute starting in the folder of the selected resource and working its way upwards (some will recognize this as Ant's "-find" feature). The names of buildfiles to search for are specified in the Ant preference page.

### Help

Show in external window | Having trouble reading help topics from the Help view/tray? Use the Show in external window button from the toolbar to view the document in the full help window.
Find that topic | While browsing a searched topic, you can find out where that topic is in the table of contents by using the Show in table of contents button in the toolbar.
Bookmarks | You can keep your own list of bookmarks to pages in help books. Create a bookmark with the Bookmark Document button on the toolbar of the Help browser. The bookmarks show up in the Bookmarks tab.
Infopops | If you prefer the yellow pop-ups (infopops) used in previous releases for context-sensitive help, you can configure Help to use these instead of the Help view/tray from the Help preference page.
Cheat Sheets | Cheat sheets provide step by step guidance on how to perform common tasks. To see what cheat sheets exist use the Help > Cheat Sheets... menu item. This menu item may not appear in all perspectives.
Cheat Sheet State | A cheat sheet will remember which steps you have performed even if you close the cheat sheet view, open another cheat sheet or exit Eclipse.

### Team

Determining who last modified a line with the Show Revision Information command

The Show Revision Information command allows you to pick any file and get a listing of who changed what line and when. The Team > Show Revision Information action is available from the Project and Package Explorers, and the text editor context menus. The action works in a Quick Diff flavor and displays the annotations in the vertical ruler at the left of the editor. It can also be applied to a previous version file opened from the History view to get the annotations on that revision. To turn off the annotations, select Revisions > Hide Revision Information from the ruler context menu.

Working set for imported team projects | There is an option to create a working set for projects imported into the workspace via Import > Team Project Set. This works for all types of repositories.
Comparing different versions | Select any folder or file in the project explorer and choose Compare With from context menu to compare it against another version, branch, or date.

Show ancestor pane in 3-way compares

Whenever a team operatoin results in a conflict, it is helpful to view the common ancestor on which the two conflicting versions are based.

You can view the common ancestor by toggling the Show Ancestor Pane button in the compare viewer's local toolbar.

If you always want to have the ancestor pane open automatically for conflicts, you can check the option Initially show ancestor pane on the Text Compare tab of the Compare/Patch preference page.

Merge in Compare editor

You can merge conflicting changes in the compare editor with one click. Hover over the small square in the middle of the line connecting two ranges of an incoming or conflicting change. A button appears that allows you to accept the change.

Note that for this the option Connect ranges with single line on the General > Compare/Patch > Text Compare preference page has to be enabled.