| ////////////////////////////////////////// |
| * Copyright (c) 2015 Eclipse Foundation and others. |
| * All rights reserved. This program and the accompanying materials |
| * are made available under the terms of the Eclipse Public License v1.0 |
| * which accompanies this distribution, and is available at |
| * http://www.eclipse.org/legal/epl-v10.html |
| * |
| * Contributors: |
| * Wayne Beaton (Eclipse Foundation)- initial API and implementation |
| ////////////////////////////////////////// |
| |
| :jeePackageUrl: https://www.eclipse.org/downloads/packages/eclipse-ide-java-ee-developers/marsr |
| :cdtPackageUrl: https://www.eclipse.org/downloads/packages/eclipse-ide-cc-developers/marsr |
| :pdtPackageUrl: https://www.eclipse.org/downloads/packages/eclipse-php-developers/marsr |
| |
| Mars New and Noteworthy |
| ----------------------- |
| |
| Here are some of the noteworthy features in Eclipse Mars. |
| |
| [[java]] |
| Java(TM) |
| ~~~~~~~~ |
| |
| Eclipse Mars includes numerous bug fixes and improvements in the Java 8 |
| support, along with a lot of other useful features. |
| |
| Add and Remove Parentheses Quick Assist |
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ |
| Use this *Quick Assist* (Ctrl+1) to add or remove optional |
| parentheses around lambda parameters. |
| |
| image::images/add-remove-parentheses-around-lambda-parameter.png[] |
| |
| Add Inferred Types Quick Assist |
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ |
| This Quick Assist (Ctrl+1) will make inferred types of the parameters explicit |
| in a lambda expression. |
| |
| image::images/infer-lambda-parameter-types.png[] |
| |
| Convert From Method Reference to Lambda expression Quick Assist |
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ |
| This Quick Assist (Ctrl+1) converts a method reference to a lambda expression. |
| |
| image::images/convert-to-lambda.png[] |
| |
| In cases where it is possible, it can be used to convert a lambda expression |
| into a method reference. |
| |
| image::images/convert-to-method-reference.png[] |
| |
| New Java editor templates |
| ^^^^^^^^^^^^^^^^^^^^^^^^^ |
| New templates (try_finally, finally, lock) have been added to insert |
| commonly occurring patters in concurrent programming: |
| |
| image::images/new-java-editor-templates.png[] |
| |
| Recommendations Engine Enabled by Default |
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ |
| The recommendations engine, which provides content assistance based on common |
| usage patterns is now turned on by default, and features new subtype aware |
| constructor and types completion. |
| |
| image::images/call-completion-narrow.png[] |
| |
| The code recommendations engine bases content assist recommendations on |
| common API usage patterns expressed in other code bases. |
| |
| Constructor Completion |
| ^^^^^^^^^^^^^^^^^^^^^^ |
| The Constructor Completion engine provides you with recommendations for |
| constructors that you are likely to use to instantiate objects of a |
| particular type. |
| |
| image::images/constructor-completion.png[] |
| |
| Override Completion |
| ^^^^^^^^^^^^^^^^^^^ |
| The Override Completion engine provides you with recommendations which |
| methods you are most likely to override when triggering code completion |
| in the body of class. |
| |
| image::images/overrides-completion.png[] |
| |
| More precise flow analysis |
| ^^^^^^^^^^^^^^^^^^^^^^^^^^ |
| Flow analysis, as performed by the compiler to warn the user about |
| potential programming problems, has been made smarter. Some examples are: |
| Leverage knowledge that auto-boxing always produces a non-+null+ value. |
| Leverage knowledge that certain compiler-generated methods--like |
| +valueOf()+ and +values()+ on enum types--provide non-+null+ values. |
| Various improvements in resource leak analysis. |
| |
| Improved flow analysis for loops |
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ |
| Flow analysis has been improved to more precisely capture the flow of |
| +null+ values in loops. This mainly achieves a reduction of false |
| positive reports from null analysis. |
| |
| image::images/loop-flows.png[] |
| |
| Previously, example method "test1" would raise a potential +null+ pointer |
| warning at point (3). To correct this issue the merging of information |
| leading towards point (3) has been improved to correctly see that the |
| +null+ value from point (1) can never reach point (3). |
| |
| In example method "test2" JDT previously reported a redundant +null+ check |
| at (3), because analysis didn't see that the assignment directly above |
| could indeed assign a non-+null+ value. |
| |
| In example method "test3" it was reported that "o can only be +null+" at |
| (3), because the information from the two +null+-assignments wrongly |
| overruled the one assignment from non-+null+. With improved analysis |
| this is now softened to saying "o may be +null+". |
| |
| The graph on the right hand side illustrates the new composition of |
| flow information: for each relevant point (3) inside a loop, the analysis |
| first merges the flows that lead into (1). This result is concatenated |
| with the partial flow (b.c), which leads from the loop start to point |
| (3). Improved precision has thus been achieved within the design limits |
| of a single AST traversal in order to minimize impact on compiler performance. |
| |
| Show skipped tests only in JUnit view |
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ |
| The JUnit view now has a filter to show only the skipped |
| (ignored or assumption failed) tests: |
| |
| image::images/junit-view-filter-to-show-skipped-tests-only.png[] |
| |
| Re-run parameterized JUnit tests |
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ |
| The JUnit view now allows you to re-run groups of parameterized |
| tests, or actually any kind of tests that are run by a specialized |
| runner and add another level of grouping in the *JUnit* view. |
| |
| image::images/junit-rerun-parameterized.png[] |
| |
| Shortcut for Skip All Breakpoints |
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ |
| A key binding (Ctrl+Alt+B) has been added as the shortcut for *Skip All Breakpoints*. |
| |
| image::images/skip-all-breakpoints.png[] |
| |
| Add Watchpoint for final variables |
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ |
| You can now add a watchpoint for non-constant final variables: |
| |
| image::images/final-watchpoint.png[] |
| |
| NOTE: This cannot be implemented for final variables with compile-time |
| constant values because Java compiles the constant value into class |
| files and leaves no trace of a field access at points where the |
| final field is read. |
| |
| Assigning stdin to a file |
| ^^^^^^^^^^^^^^^^^^^^^^^^^ |
| Stdin can now be assigned to a file in the *Common* tab of launch configuration dialogs. |
| |
| image::images/stdin-file.png[] |
| |
| Word wrap in the Console |
| ^^^^^^^^^^^^^^^^^^^^^^^^ |
| A new formatting option has been contributed to the Console view for all |
| I/O consoles: Word Wrap. |
| |
| The new option is available on the *Console* view toolbar and in the |
| content popup menu within the *Console* view. |
| |
| image::images/word-wrap.png[] |
| |
| Improved compiler performance |
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ |
| Significant performance improvements have been made to the Java |
| compiler on generics-heavy code. |
| |
| Unused exception parameters |
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^ |
| A new compiler option to report unused exception parameters in try-catch |
| statements has been added. The option is set to Ignore by default. |
| |
| image::images/unused-exception.png[] |
| |
| External annotations |
| ^^^^^^^^^^^^^^^^^^^^ |
| Annotation-based null analysis can now leverage externally defined |
| annotations that are attached to a library. |
| |
| Previously, annotation-based null analysis was significantly limited |
| by the fact that many 3rd party libraries have no +null+ annotations |
| in their API. This implied that any errors caused at this interface |
| could not be detected by the analysis, and even worse, implementors |
| of library-defined interfaces could not use any intended contracts, |
| because any +null+ annotations in overriding methods were flagged as |
| incompatible with the super version. |
| |
| JDT now supports the concept of "external annotations". A user can |
| specify +null+ annotations in separate files and attach these to a |
| given library. The compiler will take external +null+ annotations into |
| consideration for its null analysis. |
| |
| image::images/external-annotation-configuration.png[] |
| |
| External annotations can be provided as a directory tree of individual |
| text files or as a zip file. External annotations can be attached to a |
| JRE (per workspace) and to arbitrary libraries (per project). |
| |
| More https://wiki.eclipse.org/JDT_Core/Null_Analysis/External_Annotations[information]. |
| |
| Annotate Command |
| ^^^^^^^^^^^^^^^^ |
| A new command Annotate is provided when browsing attached source |
| code of a library using the class file editor. Two pre-requisites |
| must be met for using this command: |
| |
| * The project is configured to use annotation-based null analysis. |
| * An existing workspace folder has been specified as the external |
| annotation location for a given library. |
| |
| Users may select any type in the signature of a library method or |
| field, and invoke *Annotate*: either using the context menu, or by |
| pressing Ctrl+1. Proposals will be offered for marking the selected |
| type as +@NonNull+ or +@Nullable+. All method parameters, return types |
| and field types can be annotated. Additionally when Java 8 is |
| used, details like type arguments and type bounds etc. can be |
| annotated. |
| |
| image::images/annotate-map-return.png[] |
| |
| After selecting a proposal, the compiler will immediately leverage the new annotation for its null analysis. |
| |
| image::images/map-get-error.png[] |
| |
| Java 9 Beta |
| ^^^^^^^^^^^ |
| Java(TM) 9 support has not yet landed in our standard download packages. |
| But you can add an early access preview to your existing Eclipse Mars install. |
| |
| The Eclipse Java(TM) 9 Support (BETA) contains the following: |
| |
| * ability to add JRE and JDK 9 as installed JRE |
| * support for JavaSE-1.9 execution environment |
| * ability to create Java and Plug-in projects that use a JRE or JDK 9 |
| |
| NOTE: At the moment Eclipse must be run with Java(TM) 9 if you want |
| to use Java(TM) 9 in your workspace. You can download from from |
| http://www.oracle.com/technetwork/articles/java/ea-jsp-142245.html. |
| |
| This is an implementation of an early-draft specification developed under |
| the Java Community Process (JCP) and is made available for testing and |
| evaluation purposes only. The code is not compatible with any specification |
| of the JCP. |
| |
| Install the Java 9 Beta via the Eclipse Marketplace: |
| |
| pass:[<a href="http://marketplace.eclipse.org/marketplace-client-intro?mpc_install=2393593" class="drag" title="Drag to your running Eclipse workspace to install Eclipse Java™ 9 Support (BETA) for Mars"><img src="https://marketplace.eclipse.org/sites/all/themes/solstice/_themes/solstice_marketplace/public/images/btn-install.png" alt="Drag to your running Eclipse workspace to install Eclipse Java™ 9 Support (BETA) for Mars" /></a>] |
| |
| |
| Java(TM) EE |
| ~~~~~~~~~~~ |
| Java EE support is provided by the {jeePackageUrl}[Eclipse IDE for Java EE Developers]. |
| |
| Async support option in the New Servlet and Filter wizards |
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ |
| Selecting this option will generate an annotation with the asyncSupport |
| option enabled. |
| |
| image::images/Servlet_Generation.png[] |
| |
| EJB 3.x Support |
| ^^^^^^^^^^^^^^^ |
| An asynch support option has been added to the session bean wizard. |
| A non-persistent support option has been added to the timer callback wizard |
| |
| Apache Tomcat 8 support |
| ^^^^^^^^^^^^^^^^^^^^^^^ |
| In anticipation of Apache Tomcat 8.0 stable releases becoming available in |
| the near future, support has been added to create Apache Tomcat 8.0 runtimes |
| and servers. In addition, support for the Serve modules without publishing |
| feature is available for this version, but requires Apache Tomcat 8.0.5 or |
| later to work correctly. |
| |
| Generate Web Services targeting Tomcat 8 |
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ |
| Support for generating Web services targeting the Tomcat 8 Server. |
| |
| image::images/WebServicesTomcat8.png[] |
| |
| Validation Filters for HTML Attributes |
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ |
| HTML validation can now be configured to ignore specific attributes or |
| attribute patterns. This can be useful for attributes that are used throughout |
| a document but are not defined by the specification. A comma-separated |
| list of attribute patterns can be configured at the workspace level on the |
| *Web > HTML Files > Validation* preference page. |
| |
| image::images/attribute_patterns.png[] |
| |
| In addition, quick fixes have been added that will make it easy to add |
| attribute patterns to this list. |
| |
| image::images/attribute_quick_fix.png[] |
| |
| Import Declarations for Unresolved Java Types in JSP Editor |
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ |
| The JSP editor can now add import declarations for unresolved types in |
| scriptlet regions. Select the unresolved type in the editor and choose |
| *Add Import* (Ctrl+Shift+M/Cmd+Shift+M) from the *Source* menu. |
| |
| Pick Colors from Preview in CSS Editor |
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ |
| When hovering over a color value in the CSS editor, a preview of the color |
| is presented. The *Edit Property Color* toolbar action will open the system |
| color dialog to edit this color. |
| |
| image::images/color_picker.png[] |
| |
| C/pass:[C++] |
| ~~~~~~~~~~~~ |
| pass:[C/C++] support is provided by the {cdtPackageUrl}[Eclipse IDE for pass:[C/C++] Developers]. |
| |
| C/pass:[C++] Stand-alone Debugger as separate package |
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ |
| The C/pass:[C++] Stand-alone Debugger is now available in the form of a separate, |
| lightweight download in addition to being also part of the complete |
| *Eclipse IDE for C/pass:[C++] Developers* package. Once extracted, it can be |
| started by launching the *cdtdebug* executable. This new package can be |
| obtained from the https://www.eclipse.org/cdt/downloads.php[CDT downloads] page. |
| |
| Docker Support |
| ^^^^^^^^^^^^^^ |
| Use the *Run As > C/pass:[C++] Container Application* or *Debug As > C/pass:[C++] Container Application* |
| menu items to launch your C/pass:[C++] application in a Docker container. |
| |
| image::images/Containerdebug.png[] |
| |
| Options for Format with Empty Selection |
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ |
| The *Format* command (Ctrl+Shift+F) in C/pass:[C++] editor can now be configured to format either |
| the whole file or the current statement when no code is selected. |
| |
| image::images/C_Editor_Preference_Page.png[] |
| |
| Project-less Execution |
| ^^^^^^^^^^^^^^^^^^^^^^ |
| Specify any C/pass:[C++] program on the file system in a Run configuration and CDT will execute it. |
| |
| image::images/CDT_ProjectLessRun.png[] |
| |
| Import Existing Autotools Project |
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ |
| An import wizard has been added for importing an existing *Autotools* project into a |
| C/pass:[C++] Autotools project. |
| |
| Exited Processes Shown in the Debug View |
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ |
| The Debug view now keeps displaying exited processes, and displays the exit code. |
| |
| image::images/CDT_ExitedProcessRestart.png[] |
| |
| Menu to add Expression Group |
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ |
| With Mars, C/pass:[C++] Developers can create an Expression Group for all registers or one for all variables. |
| |
| image::images/CDT_ExpressionGroupMenu.png[] |
| |
| Alignment specifiers |
| ^^^^^^^^^^^^^^^^^^^^ |
| The parser now supports alignment specifiers ('alignas' in pass:[C++] and '_Alignas' in C): |
| |
| Arduino pass:[C++] Support |
| ^^^^^^^^^^^^^^^^^^^^^^^^^^ |
| The Arduino pass:[C++] support that will use the toolchains and SDKs and libraries from the |
| standard Arduino IDE and let developers create C\+\+ projects that use them. |
| |
| Add persistent information storage |
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ |
| The Multicore Visualizer was enhanced to permit easy persistence of information. |
| The information is saved in the workspace, and can be global for any instance of |
| the view or saved per view. |
| |
| PHP |
| ~~~ |
| PHP is provided by the {pdtPackageUrl}[Eclipse for PHP Developers] |
| package, or can be added to your Eclipse installation via the Eclipse Marketplace: |
| |
| pass:[<a href="http://marketplace.eclipse.org/marketplace-client-intro?mpc_install=1944539" class="drag" title="Drag to your running Eclipse workspace to install PHP Development Tools"><img src="https://marketplace.eclipse.org/sites/all/themes/solstice/_themes/solstice_marketplace/public/images/btn-install.png" alt="Drag to your running Eclipse workspace to install PHP Development Tools" /></a>] |
| |
| phpdoc Improvements |
| ^^^^^^^^^^^^^^^^^^^ |
| Added support for phpdoc +@method+ static. |
| |
| image::images/400px-Pdt35_method_static.png[] |
| |
| Improved Task-focused UI Support |
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ |
| The Task-focused UI (Mylyn) is able to track interest in methods and functions: |
| |
| image::images/500px-Pdt35_mylyn.png[] |
| |
| This integration is enabled by default in *Eclipse for PHP Developers* package. |
| |
| PHP Model in Project Explorer |
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ |
| The *Project Explorer* view now provides a drill-down into the structure of the |
| PHP source code: |
| |
| image::images/300px-Pdt35_project_explorer.png[] |
| |
| PHP Editor Improvements |
| ^^^^^^^^^^^^^^^^^^^^^^^ |
| Syntax coloring for visibility keywords: |
| |
| image::images/300px-Pdt35_colors.png[] |
| |
| PHP Debugging Improvements |
| ^^^^^^^^^^^^^^^^^^^^^^^^^^ |
| Highlighting for changed variables/objects: |
| |
| image::images/300px-Highlighting.png[] |
| |
| Improved look & feel while debugging: |
| |
| image::images/400px-Pdt35_debugging.png[] |
| |
| General |
| ~~~~~~~ |
| |
| Preference Recorder |
| ^^^^^^^^^^^^^^^^^^^ |
| The Preference Recorder enables the user to define preferences that |
| they want to have propagated to all of the the workspaces on their machine. |
| |
| image::images/preferences-recorder.png[] |
| |
| Preferences are recorded as they are set; every time a workspace is opened, |
| the recorded preferences are checked and updated where necessary. |
| |
| You can enable/disable the Preference Recorder via the *Oomph > Preference Recorder* |
| preference page. |
| |
| Automatic Updates by Default |
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ |
| With Eclipse Mars, the automatic updates option is turned on by default. |
| With this, Eclipse will periodically check with our servers to see if there |
| are any updates available and give users the option to download and install |
| them. |
| |
| image::images/automatic-updates.png[] |
| |
| By default, Eclipse will automatically look for updates every week. This |
| configuration can be changed on the *Install/Update > Automatic Updates* |
| page in the preferences dialog. |
| |
| Improved Performance for updates |
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ |
| Changes in the compression strategy used for software repositories |
| has greatly improved the performance and footprint of updates. |
| |
| Improvements in the Dark Theme |
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ |
| Significant work went into improving the fidelity of the the Dark Theme; |
| these improvements drove improved support for general styling via CSS, |
| and new icons that render much better against the dark background |
| (and other colours). |
| |
| image::images/dark_theme_new_pde.png[] |
| |
| Nested/Hierarchical view of projects |
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ |
| The *Project Explorer* now provides the ability to view the projects in a |
| hierarchical (a.k.a. nested) form. For modular projects, this allows to |
| have your project mapping more closely the organization of your |
| modules as they are on the file system. This hierarchical view of projects |
| often makes easier to navigate modular projects. |
| |
| Hierarchical view of projects can be triggered from the *Project Explorer* |
| view menu, under the *Projects Presentation* item. |
| |
| image::images/nested-projects-menu.png[] |
| |
| Then it makes the folders that are at the same location as a project |
| replaced by the project, and the projects that are nested under other |
| projects will not be shown as root elements. |
| |
| image::images/nested-projects.png[] |
| |
| Preference Customization |
| ^^^^^^^^^^^^^^^^^^^^^^^^ |
| The Perspective customization dialog, which |
| dropped out of the 4.x stream, is back, and a nested/hierarchical view of |
| projects is now supported by the *Project Explorer*. |
| |
| Launch Bar |
| ^^^^^^^^^^ |
| The Launch Bar provides convenient fine grained control over launch configurations. |
| It is a tool bar control that has drop-down selectors for the active *Launch Mode*, |
| *Launch Descriptor*, and *Launch Target* and buttons to build, launch, or stop |
| the launch configuration. |
| |
| image::images/launch-bar.png[] |
| |
| The Launch Bar is included the Eclipse IDE for C/pass:[C++] Developers package, and |
| can be added to other packages (e.g. to control Java, PHP, and other |
| launch configurations). |
| |
| You an activate or deactivate the Launch Bar via the |
| *Run/Debug > Launching > Launch Bar* page in the preferences dialog. |
| |
| Text search speedup |
| ^^^^^^^^^^^^^^^^^^^ |
| Text search has been sped up by a factor 3x-4x for full workspace searches |
| on multi-core machines. |
| |
| Print button hidden by default |
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ |
| The Print button on the main toolbar is now hidden by default. |
| The button can be added back to the toolbar via the *Customize Perspective* |
| dialog. To open this dialog, right-click on the current perspective button |
| and select the *Customize...* menu item. |
| |
| In the *Tool Bar Visibility* tab, expand *File*, select *Print*, and click *OK*. |
| |
| Error Reporting |
| ~~~~~~~~~~~~~~~ |
| |
| Automatic Error Reporter |
| ^^^^^^^^^^^^^^^^^^^^^^^^ |
| The Error Reporter sends information about errors that occur in the workbench |
| to the Eclipse Foundation. This information is relayed to the appropriate |
| Eclipse project development team. |
| |
| image::images/error-reporter.png[] |
| |
| Users don't need to create an account, or provide any identifying information. |
| Potentially personal information is obfuscated by default. Use the *Install/Update > Automatic |
| Updates* preferences page to tune the update behaviour. |
| |
| UI responsiveness monitoring |
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ |
| You can enable automatic detection of periods when the Eclipse user |
| interface is unresponsive: |
| |
| image::images/ui-responsiveness-monitoring.png[] |
| |
| UI freezes longer than the warning threshold are logged to the Eclipse |
| error log as warnings. The logged messages include one or more stack |
| traces of the display thread. Longer UI freezes are logged as errors |
| and include stack traces of all threads. Please keep in mind that |
| capturing stack traces of all threads involves extra overhead, so |
| setting the error threshold below 1 second is not recommended. |
| |
| A UI freeze is logged at the end of the freeze or after the deadlock |
| threshold has expired, whichever comes first. The latter condition |
| facilitates logging of indefinite UI freezes caused by deadlocks. |
| |
| Paired with the Error Reporter, the UI Responsiveness Monitor |
| this helps Eclipse open source software developers identify and |
| ultimately fix performance issues and improve the overall user experience. |
| |
| You can configure the UI Responsiveness Monitor via the *General > UI Responsiveness* |
| page in the preferences dialog. |
| |
| Platform |
| ~~~~~~~~ |
| |
| Default max heap size increased to 1024 MB |
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ |
| To improve the "out of the box" user experience on today's modern |
| hardware, the default maximum heap size (-Xmx VM argument) has been |
| increased from 512M to 1024M. And the initial heap size (-Xms) |
| has been increased from 40M to 256M. |
| |
| GTK3 Support |
| ^^^^^^^^^^^^ |
| For Linux users, GTK3 support is much improved. |
| |
| Mac OS X distribution now an Application Bundle |
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ |
| Eclipse packages for OS X are now distributed in a more |
| standard "Mac App" format, instead of the "directory format" we have |
| used in the past. |
| |
| CAUTION: Current Mac users cannot update to Mars from a previous |
| version; doing so will break the installation! Mac users must |
| start with a fresh download. |
| |
| In the event that you updated before reading this, and have ended |
| up with a broken installation, see |
| https://wiki.eclipse.org/Platform-releng/Issues_related_to_Mac_App_installations[Issues related to Mac App installations] |
| for the steps to recover your installation, after getting a fresh download. |
| |
| Team |
| ~~~~ |
| |
| Support git-flow |
| ^^^^^^^^^^^^^^^^ |
| The Git integration tools support http://jeffkreeftmeijer.com/2010/why-arent-you-using-git-flow/[git-flow] |
| to automate git branching workflow. |
| |
| Git Project Import Wizard |
| ^^^^^^^^^^^^^^^^^^^^^^^^^ |
| Import projects into the workspace directly from Git or Gerrit. |
| |
| image::images/git-import.png[] |
| |
| Git Configuration Java Variable |
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ |
| Use *git-config* values in your Java templates. |
| |
| image::images/git-template-var.png[] |
| |
| CVS Removed from Packages |
| ^^^^^^^^^^^^^^^^^^^^^^^^^ |
| CVS is no longer included with Eclipse packages by default. |
| |
| You can install CVS support into any Eclipse package via the Eclipse Marketplace: |
| |
| pass:[<a href="http://marketplace.eclipse.org/marketplace-client-intro?mpc_install=2408355" class="drag" title="Drag to your running Eclipse workspace to install CVS Integration"><img src="https://marketplace.eclipse.org/sites/all/themes/solstice/_themes/solstice_marketplace/public/images/btn-install.png" alt="Drag to your running Eclipse workspace to install CVS Integration" /></a>] |
| |
| [[build]] |
| Build |
| ~~~~~ |
| |
| Gradle Tools |
| ^^^^^^^^^^^^ |
| Tools for importing existing Gradle build scripts as Eclipse projects; |
| and building, maintaining, and running Gradle builds can be easily added |
| to any of the Eclipse Mars packages. |
| |
| Install Gradle Tools from the Eclipse Marketplace: |
| |
| pass:[<a href="http://marketplace.eclipse.org/marketplace-client-intro?mpc_install=2306961" class="drag" title="Drag to your running Eclipse workspace to install Buildship Gradle Integration"><img src="https://marketplace.eclipse.org/sites/all/themes/solstice/_themes/solstice_marketplace/public/images/btn-install.png" alt="Drag to your running Eclipse workspace to install Buildship Gradle Integration" /></a>] |
| |
| Maven Improvements |
| ^^^^^^^^^^^^^^^^^^ |
| Improved Maven support, including support for Maven 3.3.3, improved |
| pom editor support, and support for auto-update and auto build. |
| |
| Gerrit Connector Improvements |
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ |
| The Gerrit connector has improved handling for links to individual files on |
| a review. When a link is clicked, the corresponding patch set will be expanded |
| in the review editor and the patch set contents will be downloaded. If the |
| patch set has already been downloaded, the compare editor will open. |
| |
| Gerrit 2.10 and 2.11 are now supported. Support for versions earlier than 2.9 has been removed. |
| |
| Hide Succeeding Hudson/Jenkins Build Plans |
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ |
| The builds view allows you to hide suceeding build plans so you can focus on failures. |
| |
| image::images/builds.png[] |
| |
| New Features |
| ~~~~~~~~~~~~ |
| |
| Docker Tools |
| ^^^^^^^^^^^^ |
| Mars includes new tools for Docker that let the user manage and control |
| their Docker images and containers. |
| |
| image::images/Docker.png[] |
| |
| Cordova Tools |
| ^^^^^^^^^^^^^ |
| Through Apache Cordova integration, deploy to a variety of devices. You |
| can develop using only HTML, CSS, and JavaScript but get access to the native |
| device APIs. |
| |
| image::images/Cordova.png[] |
| |
| Install Cordova Tools via the Eclipse Marketplace: |
| |
| pass:[<a href="http://marketplace.eclipse.org/marketplace-client-intro?mpc_install=2168203" class="drag" title="Drag to your running Eclipse workspace to install Eclipse Thym"><img src="https://marketplace.eclipse.org/sites/all/themes/solstice/_themes/solstice_marketplace/public/images/btn-install.png" alt="Drag to your running Eclipse workspace to install Eclipse Thym" /></a>] |
| |
| Installer |
| ^^^^^^^^^ |
| For the Mars release, we are introducing a new Eclipse installer. This is |
| a new more efficient way to install Eclipse. It is a proper installer, so |
| no more zip files, with a self extracting download that will lead you through |
| the installation experience. For those not into installers, we still have the |
| packages and zip files available on our [download] pages. |
| |
| image::images/InstallerMain.png[] |
| |
| Please see link:/downloads/installer-instructions.php[6 Steps to Install Eclipse]. |
| |
| The installer's advanced mode is where the real power lies. With advanced |
| mode, a user can realize a complete development environment including all |
| the Eclipse plug-ins they need, and a fully provisioned workspace that |
| includes source code from Git repositories, tasks from issue trackers, |
| and a target environment for builds. With this, a developer can provision |
| a complete development environment and be ready to start compiling, running, |
| and testing in just a few minutes. |
| |
| The current implementation supports the |
| creation of environments that get developers started to work on building |
| contributions for Eclipse open source projects, as well as a handful of |
| other open source projects. Tools are provided by the |
| http://www.eclipse.org/oomph[Oomph project] to |
| assist with the creation of configurations for other environments. |
| |
| Remote Services Tooling Perspective |
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ |
| Remote Services Tooling supports development, debugging, and deployment of |
| http://www.eclipse.org/ecf[ECF] Remote Services. The new Remote Service perspective |
| shows the new Endpoint Discovery view dynamically updates to display Endpoints |
| that have been discovered via network discovery (i.e. using ECF-supported network |
| protocols like zeroconf, slp, zookeeper, dnssd, etcd, or custom). |
| |
| image::images/remoteserviceperspective2.png[] |
| |
| Discovered Endpoints can be Imported into Eclipse, locally registering a proxy |
| for the remote service that allows application code to actually use the remote |
| service (i.e. call its methods). |
| |
| More |
| ~~~~ |
| |
| GEF4 |
| ^^^^ |
| https://wiki.eclipse.org/GEF/GEF4[GEF4] is the next generation API of the Graphical |
| Editing Framework (GEF). The GEF project team has been working hard on it for 5 years |
| now (in parallel to maintaining the current production components Draw2d 3.x, |
| GEF (MVC) 3.x, and Zest 1.x), and with Mars has released a first snapshot (with still |
| provisional API), together with a minor release of the currently available |
| production components. |
| |
| OSGi R6 Remote Service and Remote Service Admin (1.1) Specifications |
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ |
| Eclipse Mars includes fully-compliant implementations of the *OSGi R6 |
| https://wiki.eclipse.org/ECF#OSGi_Remote_Services[Remote Service] and |
| https://wiki.eclipse.org/Remote_Services_Admin[Remote Service Admin] (1.1)* specifications. |
| |
| Sources |
| ~~~~~~~ |
| Content for this document were harvested from multiple sources, including: |
| |
| * https://www.eclipse.org/eclipse/news/4.5/[Eclipse Project New and Noteworthy]; |
| * https://www.eclipse.org/webtools/releases/3.6.0/NewAndNoteworthy/[Eclipse Web Tools New and Noteworthy]; |
| * https://wiki.eclipse.org/PDT/NewIn35[PHP Development Tools New and Noteworthy]; |
| * https://www.eclipse.org/mylyn/new/[Mylyn New and Noteworthy]; and |
| * https://www.eclipse.org/ecf/NewAndNoteworthy_3.10.0.html[ECF New and Noteworthy]. |