B.1. Changes in Eclipse

Red Hat Developer Toolset 3.0 is distributed with Eclipse 4.4 and other plugins from the Luna release train, which provides a number of bug fixes and feature enhancements over the version included in Red Hat Enterprise Linux and the previous version of Red Hat Developer Toolset.
This section contains a comprehensive list of new features and compatibility changes in this release. For details on how to use these new features, refer to the built-in Eclipse documentation.

B.1.1. Changes Since Red Hat Enterprise Linux 6.6

The following features have been added since the release of Eclipse in Red Hat Enterprise Linux 6.6:
  • The Eclipse C/C++ Development Toolkit (CDT) has been updated. This update includes:
    • a greatly enhanced indexer, both in terms of capabilities and speed;
    • improved GNU Debugger integration;
    • support for GNU Debugger's pretty-printing;
    • multi-process debugging;
    • project-less debugging;
    • enhanced refactoring;
    • code-checking capabilities;
    • an improved and more polished user interface;
    • fixes related to the organization of include statements.
  • Mylyn, a set of task and application life cycle management plug-ins, has been updated. This update includes:
    • an enhanced task-focused interface and task editing;
    • a new Jenkins/Hudson connector;
    • enhanced Bugzilla and Trac connectors;
    • EPUB authoring tools;
    • various improvements to the Bugzilla connector.
  • A new EGit plug-in has been added. This plug-in includes an Eclipse Team provider based on JGit, a Git implementation written entirely in Java, and adds support for the Git revision control system to the Eclipse user interface by introducing the History and Synchronize views, Compare and Quick Diff menu items, and various wizards to make it easier for developers to use this plug-in.
    Further updates of the EGit plug-in have introduced the following improvements:
    • support for Mylin links in the History view, Git Staging view, and Commit dialog window;
    • improved Gerrit integration;
    • a significantly enhanced Git Staging view;
    • an enhanced command line tool (jgit);
    • several performance improvements.
  • New GCov integration has been added to allow the user to visualize GCov output in both summarized form and in file editors. As well, graphing capabilities for the data have been added.
  • New GProf integration has been added to allow the user to view profiling information such as execution time and call graphs. As well, graphing capabilities for the data have been added.
  • A new SystemTap integration plug-in has been added. This plug-in includes:
    • an editor for the .stp files with the autocomplete feature;
    • the Probe view with a list of probes that are available on the system;
    • the Function view with a list of functions that are available on the system and can be used in .stp scripts.
    As well, this plug-in includes integration for running SystemTap scripts and viewing the results in a textual, tabular, and graphical manner. Note that the result sets are updated in a near-runtime way, which allows the user to use this plug-in for longer-running monitoring tasks.
  • New kernel perf tool integration has been added. This plug-in uses the performance counters subsystem of the Linux kernel to profile applications, makes it easier to analyze the results by hyperlinking to the sources in the workspace projects, simplifies the perf tool configuration by selecting the counters to be used, and allows the user to run this tool remotely.
  • A unified profiling launcher has been added to provide a single method to launch profiling. It allows the user to select a profiling category (Memory, Timing, or Coverage) and back ends for this category (such as OProfile, perf, or GProf for Timing).
  • The C/C++ documentation plug-in has been enhanced to recognize and use gtk-doc generated documentation and to display it in the Eclipse Help Center.
  • The OProfile plug-in has been enhanced to support root privilege authentication through polkit. This feature is configured automatically.
  • The Valgrind plug-in now supports the Helgrind tool, which can be used to detect synchronization problems such as race conditions, deadlocks caused by incorrect locking order, or misuse of the POSIX pthreads API. When a problem is detected, the plug-in displays error markers on the corresponding lines in the source code.
  • The Eclipse Linux Tools plug-in collection has been updated. This update includes:
    • support for the operf command line tool in the OProfile plug-in; the operf command is now used by default to make generic setup easier;
    • an enhanced RPM Stubby plug-in, which is now able to generate RPM spec files from Perl makefiles, Ruby gamespec files, and Python setup.py files;
    • an enhanced Spec File Editor plug-in, which is now able to download source files, prepare a buildroot, and also provides a Build menu, a corresponding toolbar, and improved support for hyperlinks in the editor;
    • an enhanced SystemTap .stp files editor, which now has improved formatting capabilities;
    • improved SystemTap graphing, which has been streamlined to be easier to launch and configure.

B.1.2. Changes Since Red Hat Developer Toolset 2.1

  • The Eclipse Platform has been updated from version 4.3.1 to 4.4.0. As this is a feature release, it contains a number of new features, bug fixes, and optimizations, including the following:
    • SWT (Standard Widget Toolkit) gained a GTK+3 backend, which provides for a cohesive look and feel with the default desktop user environment on Red Hat Enterprise Linux 7, thus streamlining the user experience. There is also a preliminary support for WebKit 2.x for an enhanced stability of the Browser component.
    • Split-editor mode is now supported. Pressing the Ctrl+_ keyboard shortcut splits the editor horizontally, and Ctrl+{ splits the editor vertically.
    • A dark user-interface theme is now available as a technology preview. Access it by selecting the Appearance preference page in the General settings.
    • Java 8 is now supported both for compiling and in generic IDE features, such as for quick fixes to make use of Java 8 features (for example, converting anonymous class creations to lambda expressions).
  • Eclipse CDT (C/C++ Development Tooling) has been updated from version 8.2 to 8.5. The three feature releases include a number of enhancements, including the following:
    • Toolchain and Language definitions have been improved to allow for a better support for switching between language-standard versions (for example, C++11).
    • Multi-process debugging has been enhanced.
    • Dynamic printf is now supported as provided by GDB 7.7.
    • The Standalone Debugger application has been added that provides a graphical user interface for the C/C++ debugging subset of Eclipse plug-ins.
    • C++ attributes as defined by C++11 are now supported.
    • The auto completion and content assist features have been improved.
  • The Mylyn task-management subsystem has been updated from version 3.9.1 to 3.12. This new release includes the following changes:
    • Task integration has been enhanced and now features better search and filtering options.
    • The saving and restoring of breakpoints in the task context is now supported.
  • The Eclipse Linux Tools plug-in collection has been updated from version 2.2 to 3.1. This new major release includes:
    • The GCov plugin has been considerably improved by making it use and annotate standard CDT editors instead of GCov-specific ones.
    • The GCov and GProf plugins now support an automatic changing of compiler and linker options for projects which simplifies the initial setup.
    • The Systemtap plugin went through a major overhaul of its user interface, making it easier, faster, and more reliable for generating, editing, and displaying graphics, filtering gathered datasets, and manipulating the probe and function inventories.
    • The speed of indexing the Devhelp (GTK+ and GNOME) documentation has been improved significantly.
  • EGit, a Git integration plug-in for Eclipse, and JGit, a Java library implementing Git, have been updated from version 3.1 to 3.4.1. This update includes:
    • The command line interface has been greatly enhanced. Commands now support more parameters and new commands have been added.
    • Speed has been improved by making use of the Java 7 API.
    • Support has been added for performing interactive rebasing in the user interface.
    • Blame annotations now expose more information and provide a cross-reference capability.