MyEclipse 2017 CI 1 is our first release based on Eclipse Neon; with refreshed software integrations across the product, we bring you a number of new features from Angular 2 and improved TypeScript, to a more intelligent, capable Terminal and Gradle integration. Read on below for the details!
Included in this release:
- Eclipse Neon
- Angular 2 Support
- Improved TypeScript Support
- Enhanced Local Terminal
- Embedded Tomcat Server
- UI Reorganization
- Gradle Integration
- REST Inspect and Gerrit Workflow Features Removed
- Misc Key Fixes
This release is based on Eclipse Neon 1 (4.6.1), and benefits from new Neon capabilities like improved startup performance, visual enhancements which include a full screen mode and better support for High DPI displays, and editors with word-wrap (Alt + Shift + Y) and the ability to auto-save your files!
As usual with every major, we’ve also refreshed integrations and updated to newer versions of third party tooling on which MyEclipse is built, like m2e, BIRT, Webtools, eGit, STS, etc.
Angular 2 Support
Angular 2 Quickstart—A key capability of our Angular support, especially for beginners, is that there are virtually no prerequisites — we’ll download everything from Node to the Angular CLI for you, automatically. So if you were concerned about getting your environment set up right and downloading dependencies in advance, don’t bother! While our wizards will suggest recommended defaults, you are free to choose other versions of Node, NPM, or the Angular CLI. You can start with a basic project or a template based on the popular SB Admin theme.
Angular 2 HTML Template Intelligence—When you’re developing Angular 2 applications, you need an IDE that can support you when you’re developing templates. Our tooling provides Angular 2 validation, so that you’ll know if you’ve mistyped an Angular element or attribute, or called a non-existent method. Our auto-complete support will provide suggestions for Angular tags, attributes and even expressions. Within expressions, we support the Angular Template syntax, so expect to see content assist for variables, methods, fields, functions, etc., from your referenced components.
Angular CLI Integration—Our tooling is built on top of the Angular CLI, for servicing Angular 2 applications, and includes best-practices compliant generation of services, components and more. An enhanced terminal ensures paths and environment are ready for rapid development.
- Seamless launching of ng serve from the IDE
- Display of server build problems alongside the code
- Automatic detection of external ng serve invocations
- Generate services and components from wizards
Angular 2 Deployment & Debugging—To deploy your application for testing, simply bring up the context menu on the project and choose Run As > Server for Angular CLI Project. Alternatively, you can open the Servers view and find your project under the Angular CLI node, from where you can easily start and stop deployment, or even start a debugging session. Not only is your application being served for local testing in a browser, a LiveReload server is also started. With LiveReload, any time you change a source file and save it, the application is rebuilt, the deployment is updated and the browser page, if you have it opened, is automatically refreshed as well.
Improved TypeScript Support
Import Support for TypeScript Symbols—One of the biggest pain points when working with TypeScript, is having to manually import classes, interfaces, namespaces, functions, … in short, any type of TypeScript symbol into your source file. Well, we have good news for you! Content assist suggestions will include symbol suggestions too, and when selected, not only will we complete the name for you, but we’ll also import it.
Beyond this, we also have quick fix support, so invoking a quick fix on an undefined identifier will result in the symbol being correctly imported into your source.
Content Assist Improvements—If you’ve gotten tired of typing this. for every field/method when coding, just initiate content assist. Not only are the proposals better sorted than before, it will also list fields and methods too (without you having to type this. first), and will insert the this. bit automatically on completion.
Since we write a fair bit of TypeScript internally, we’ve been “dogfooding” these features and our productivity has increased significantly – we’re sure your experience will be similar.
TSLint Integration—TSLint is an extensible linter for TypeScript. While our existing TypeScript validator will already find syntax errors in your code, TSLint checks your code for readability, maintainability, and functionality errors – allowing you to fix them before running into them in production, at runtime.
So, how does our integration work? For Angular projects, a tslint.json is created in your project’s root folder; we use the settings in this configuration file when linting your project. Issues noticed are marked as warnings in the editor’s ruler area and in the Problems view. This ensures your Angular project conforms to NG best practices.
A key feature is our quick fix support – you can fix the problem automatically, remove the linting rule if you don’t like it, or simply turn off linting for the entire project. The number of quick fixes available right now are limited, but we’re working on adding more to the tooling soon.
TSLint can catch a number of potential problems – from style issues like whitespace and indentation, to functionality issues like duplicate variables, unused expressions or variables used before they are declared. For a more complete list, please see: https://palantir.github.io/tslint/rules/.
We’re also working on adding better support for the tslint.json file, so it’s easy to get to the linting settings you really want for your team.
TypeScript 2.0—With this release, we fully support TypeScript 2.0, along with all the newer properties like types, typeRoots, lib, and the different ways in which TypeScript files can be added to your project’s source. We’ve also added in a few templates to making coding more efficient.
Our fundamental TypeScript support remains rock solid, with support for as-you-type validation, auto-completion, hyper-link navigation — even to Angular 2 templates, and full, bi-directional support for settings configured in the tsconfig.json file.
Enhanced Local Terminal
The Terminal+ gives you a bash based local shell, even on Windows! It has in-built support for NPM, Node and Git, along with special smarts when you’re working with the Angular CLI.
The terminal is project context aware, so when you switch projects, the view will automatically update its open tabs to match the state you were last in, when working with the selected project. It will also set up your shell environment to the use the versions of Node and NPM specified on the project’s CLI Tool Management property page – even downloading those versions if you don’t already have them. This ensures that you and your teammates can work in the same environment.
Embedded Tomcat Server
The embedded Tomcat server has been upgraded from version 7.0 to 8.5, finally giving you a server on which you can deploy Java EE 7 web applications out of the box. If your projects were using the 7.0 runtime, our migration wizard will help you move to the 8.5 runtime in 2017.
With 2017, long-time MyEclipse users will notice that MyEclipse provided preference and property pages, along with context menu items, Wizards and Views, are no longer under the “MyEclipse” node / category, as we’ve moved to a more logical grouping of these elements based on their functionality. We’re sure this will give our users a more intuitive experience with MyEclipse going forward.
See this doc for a rundown on the new locations for pages and menu-items that were relocated.
We’ve integrated the Gradle tooling from the Eclipse Buildship project. This gives you the ability to create Gradle projects, an editor for Gradle files, and the ability to execute and monitor Gradle tasks. MyEclipse currently makes no modifications to this tooling, but do let us know how we can enhance your Gradle experience, especially when dealing with Java EE development.
REST Inspect and Gerrit Workflow Features Removed
To make room for awesome new modern web tooling, we have removed REST Inspect and Gerrit tooling from MyEclipse— we don’t want you to feel unnecessary bloat and these features were very light on usage!
Misc Key Fixes
- Additional TypeScript 2.0 directives are now supported.
- Linking problems between the Outline and TypeScript source has been fixed, allowing for smooth code navigation.
- Editing the same TypeScript file in multiple editors now works correctly; this also fixes issues experienced when comparing a TypeScript file with prior revisions.
- Miscellaneous errors when hovering over TypeScript source have been resolved.
- When sharing TypeScript snippets with our Slack integration, the right MIME Type is now used.
- Added a new quick fix to remove unused TypeScript imports. You can remove several unused imports simultaneously from the Markers / Problems view.
- Files associated with MyEclipse at the OS level would not open in MyEclipse when double-clicked – this has now been fixed. If MyEclipse is already running, opening the file in an OS explorer will open it in the running instance of MyEclipse.