I has been a long journey for the MyEclipse team since Stable 1.0, and we hope the new features and fixes that this 2017 Stable 2.0 release brings, sets the right tone for this holiday season. There have been several versions of Angular and TypeScript released since Stable 1.0 – and this release supports them all, including the most recent Angular 5 release. We’ve improved usability with the addition of DevStyle, as well as made several core fixes across the product. A few new server connectors have been added as well. Read on for the details!
Included in this release:
- Angular & TypeScript
- DevStyle
- Servers
- macOS Fixes
- Miscellaneous Core Fixes
Angular & TypeScript
Angular 5
This release supports Angular 5 out of the box, and the very latest CLIs as well. Whatever version you choose, you will continue to get the entire range of our Angular support, from content assist and validation, to being able to serve and debug applications with ease.
The Angular 5 release has brought with it dozens of changes, several in the performance space. For example, the build optimer is on by default for production builds, resulting in smaller bundles. The Angular compiler has improved support for incremental compilation, along with an integration of a new version of Webpack, which has performance improvements too – don’t miss the ahead-of-time (AOT) compiler too.
If you are just jumping to this version, please read this article for further details.
TypeScript 2.5
We’ve added support for this version of TypeScript – you have access to a few new quick fixes and a compiler which will do a better job with handling multiple resolutions of the same file. For more details, please read this article. If you missed features in earlier versions, like Async Generators, or the new for..await..of statements in TypeScript 2.3, this release has you covered, of course.
We have also added validation for the tsconfig.json file – invalid configurations will now be detected as errors and will show up in the editor and Problems view.
TSLint 5
We’ve got you covered with support for TSLint 5 (with our internal default being set to 5.6.0) – including support for severity levels on linting rules. As always, we respect the version of TSLint you’re using in your project.
Refactoring
We’ve always had refactoring for TypeScript variables, fields, methods and functions – but you were required to go through a dialog. Now you can now refactor these elements inline! You can rename files and folders, and imports will be correctly adjusted.
A refactoring preview will help you review your changes before you commit them to your project.
Renaming or moving an HTML or CSS file that’s associated with an Angular component will result in references to these files being correctly updated too.
Usability
We’ve toned down the “busyness” of the Angular perspective, for a much cleaner and focused coding experience.
Also added the much awaited Open Type functionality to our tooling, which allows you to easily and quickly navigate to any symbol of interest, across your workspace or in specific projects. Use the toolbar button, or Ctrl + Shift + T, to bring up this dialog and tell us what you think!
Miscellaneous Fixes and Improvements:
- We’ve added a feature to provide custom arguments to the Chrome process when launching the Angular application.
- Stopping the Angular server will now ensure the Node process is terminated as well. This ensures you won’t have a port blocking problem when restarting the server – this was an issue on Windows.
- On a Mac Pro, or any other systems with multiple ethernet cards, much of our Angular server tooling was defunct, including status monitoring and debugging. This has now been fixed.
- We will provide you with content assist in import statements making it easy to find and import the file or library you need.
- When creating an Angular project, you can now elect to use pre-installed versions of Node and NPM that you may already have installed on your system.
- Importing projects which have their tsconfig.json file in the project root now works.
- References to properties via shorthand notation is now no longer marked as an error.
- The Pipe (|) in TypeScript 2.2 source will no longer be reported as an error when correctly used.
- In projects using Angular 2.x and TypeScript 2.2, the false negative, “Pipe signature not found”, has been fixed.
- An empty baseUrl property in tsconfig files is now correctly handled, fixing related validation issues.
- TSLint can now load custom rules.
- Attempting to use the quick fix functionality to implement an interface would sometimes result in the IDE hanging. This has now been fixed.
- In a TypeScript project, TSLint will now validate js, jsx and tsx files too.
- Performance issues around editing large TypeScript files have been fixed.
DevStyle
Several users have asked about DevStyle and the Darkest Dark theme – you don’t need to install these separately, they are part of your MyEclipse build.
Inline Search
Find the modal search dialog cumbersome? We’ve replaced this with a very capable inline search – we’re sure you’ll find it far more efficient, and unintrusive, it won’t interrupt your workflow.
Note: The enhanced Startup Experience, that is part of DevStyle for Eclipse, is not available in MyEclipse at this time.
Themes
Make your workbench a work of art. DevStyle allows you to define a theme that’s uniquely you! What is your idea of the perfect theme? Light and bright? Dark with pops of color? Fine tune your workbench, even down to specific hues and custom icons that speak to you.
If you didn’t catch it already – yes, we now have awesome looking light themes too!
Another interesting theme feature is the ability to choose between Icon color sets – the Simply White and Pastel tones allow you to decide how toolbars and icons look throughout your IDE. We also are making available over 750 more replacement icons thanks to a huge contribution by bettmaeyer, and efforts by Lukasz and others. Finally, a host of editor themes are also bundled!
Tip: Darkest Dark theme settings in the Preference dialog have been moved from General > Appearance > Darkest Dark to DevStyle > Color Themes.
Dozens of fixes have also been made for our Dark themes, a few are noted below:
- The last line of the Terminal view was sometimes hidden.
- Darkest Dark will now work correctly on 32-bit Windows.
- The JUnit view’s trace section now uses the right colors in the dark theme.
- Line numbers will now update when scrolling by dragging the editor scrollbar.
- Jittering rulers/editors in the BIRT Design perspective have been stilled.
- Pressing Ctrl + Shift + M in the PHP editor (if you’ve installed this into MyEclipse) could cause the IDE to hang on exit, this has been fixed.
- A rare issue, where an error dialog relating to the user of JNIWrapper would display on exiting the IDE, has been fixed.
- Syntax color preferences changes in the Java editor are respected.
- Exceptions will no longer be logged when opening the JavaDoc view
- HiDPI icons would only correctly work in our dark themes, and were N/A in the light themes.
- Configure contents dialog of the Problems / Markers view will now render correctly.
- The expand / collapse control for Tree controls will now be shown at the right position.
The following will be better colored in both our Dark and Light themes:
- JUnit view’s trace selection
- JUnit test coverage in Java classes
- Properties editor
- XSD editor
- Table headers in the Tasks view
- QuickDiff in the EGit history view
- Java Call Hierarchy view
- Comment text in Git Staging view
- Quickdiff popup
Servers
MyEclipse now includes a connector for WebSphere Portal Server 9, TomEE 7 and Glassfish 5. You can now manage these server from within MyEclipse, along with the usual deployment and debug support, of course!
We also support the deployment of Java EE 7 projects to Weblogic 12.2.1 and later versions.
macOS Fixes
- On High Sierra, an Issue where the IDE was sporadically crashing for some users has been fixed.
- The top level application menu is now enabled and works as expected on High Sierra.
- Command history functionality has been restored for Terminal+.
- Terminal+ will work, no matter what your local shell shell is. Previously there were failures if you had zsh or ksh for instance.
Miscellaneous Core Fixes
- Our Eclipse Buildship version has been updated to 2.1.2 to provide better support for building software with Gradle.
- Running Node / npm processes could sometimes prevent the IDE from gracefully shutting down. This has now been fixed.
- An issue where too many connections were opened in some network environments was fixed.
- The “dependencies only” Maven container now works as expected.
- The Run As > Maven Build action will now use the project relative path to the pom.xml as the base directory.
- When you import a standalone Maven project, a project migration process will not be triggered.
- Importing some older Spring / JPA projects into MyEclipse would result in a ADD_SPRING_JPA_SUPPORT error being shown. This is now fixed.
- If your perspective contained multiple Open TypeScript Symbol buttons in the toolbar, please switch to a new Window, using Window > New Window to get a perspective without these buttons. The problem will not recur.
- An IllegalArgumentException thrown during the initialization of some Spring projects has been fixed.