New Editors and Framework Support
The core of an IDE is its editors, and this release has updates, as well as brand new editors for a whole slew of web dev file types:
- HTML/XHTML
- JavaScript/JSX
- TypeScript/TSX
- CSS, SCSS, SASS, LESS
- JSON
- YAML/RAML
- XML, XSL, XSD, DTD
Several of these editors like JSON, YAML and XML have built-in schemas to provide technology specific features like content assist and validation where appropriate.
Language Server Tech
The editors are based on Language Server technology, and will provide the most capable, up-to-date, efficient, and standardized coding experience going forward. Capabilities like validation, content assist, hover info, outlines, refactoring, navigation and even code analysis are all serviced by the language server protocol, so we’re talking about rich support for each of the types mentioned above.
These editors have been added to MyEclipse through the continued development and refinement of the preliminary integration of Eclipse’s WWD project in the MyEclipse 2020.9 release last year. We’ve been paying attention to performance as well, and have ensured that our integration doesn’t come at the cost of IDE performance, with changes in how the language servers are initialized as you work on different files types across your workspace.
Accessing the New Editors
We’ve set up IDE defaults so that your files will automatically open in the correct editors, no additional steps required. Some editors like the MyEclipse visual HTML/JSP designers are now no longer the default for their corresponding file types, but they can be accessed through the Open With context menu. Conversely, while newer editors are available for file types like XML, XSD, XSL, etc., we’ve retained the older MyEclipse editors as default in these cases for now.
JavaScript
The new JavaScript editor is based on the language server tech we mentioned above, replacing our dated Tern based support. The editor now supports ECMAScript 2020 out of the box, and the support extends to JavaScript in JSP files too. This is a huge jump from ECMAScript 2015 that we natively supported in MyEclipse until now. So everything from async and yield, to the new nullish operators and optional chaining, are now fair game for the JavaScript editor.
TypeScript
The new TypeScript editor supports TypeScript 4.1, again, a huge jump from version 2.5 natively supported in MyEclipse.
Note: For JavaScript and TypeScript, ESLint and TSLint are both supported and enabled based on the configuration files present in the project. Because TSLint is deprecated, we’ve added special intelligence to continue to respect TSLint configuration files when required, but we would recommend moving to an ESLint based configuration. Please see this document for more details.
Angular
Angular support in MyEclipse has been given a major refresh. We now support the most recent versions of this framework, including Angular 12. The new project wizard has been enhanced, and several new wizards have been added. Content assist, validation and navigation in Angular templates has been significantly improved. Of course, you can still start and stop Angular projects from the Servers view, and we’ve fixed a bug that prevented CodeLive from working with Ivy built components.
React
There’s a new React project wizard that makes it easy to create a blank React project, or one with the Next.js framework. And you can choose whether you’d like to use JavaScript or TypeScript too.