JavaScript in Eclipse: JSDT vs CodeMix
JavaScript in Eclipse with CodeMix
CodeMix is a plugin that brings VS Code smarts and Code OSS extensions to Eclipse. With CodeMix you get a superlative JavaScript development experience in Eclipse, with little to no configuration required.
- IntelliSense—content assist & parameter hints
- Validation and linting
- JSDoc support
- Formatting
- JSON support
- Debugging
JavaScript in Eclipse with JSDT
JavaScript support in Eclipse, via JSDT, has the same features as CodeMix; however, this support is dated. It tends to fail if the JavaScript source is using new technology, like imports or classes—and you can forget about support for ES6.
Some features allow you to add libraries for a better experience (for example, a JQuery library for better content assist), but it’s often difficult or even impossible to get desired results when working with recently released libraries.
I have tried and worked with all IDEs / Editors on the market and no one speeds up my work like Webclipse + CodeMix.
Get CodeMix now — it’s free to try!
Become an Insider to receive updates and provide feedback!
The Proof is in the Details
IntelliSense
IntelliSense uses type inference, JSDoc, or even intelligently downloaded typings files to provide content assist suggestions that are accurate, accompanied by documentation where available. Start keying in parameters to choose between signatures, and get documentation corresponding to the parameter being entered. The best part is that IntelliSense is intelligently handled for you, behind the scenes.
Learn more about the TypeScript based language service that powers IntelliSense.
Validation
Besides obvious JavaScript syntax validation, type checking uses the same intelligence used for IntelliSense to spot missing imports, incorrectly assigned variables or even missing fields. Even better—quick fixes can automatically correct a number of these errors.
Learn more about how the type checking works.
Linting
There’s no question about the importance of linting your code, especially JavaScript. Our built-in ESLint support catches a number of problems you’d typically only hit at runtime, and again, a number of these issues can be corrected using quick fixes.
The linter respects the rules configured in standard ESLint configuration files (.eslintrc.*
)—no need to reconfigure these settings in the IDE and you can easily share them with your team.
Formatting
CodeMix uses the Beautify extension to format JavaScript—this fantastic formatter for JavaScript offers a number of capabilities and settings that allow you to fine tune how your code is formatted. Beautify is able to parse and correctly format modern JavaScript, while the Eclipse formatter is … not so hot—in many cases it will not format code at all due to parsing issues. Here’s an example of the same piece of code formatted by CodeMix and by vanilla Eclipse.
JSON
It’s hard to develop anything today without having to deal with JSON. While Eclipse validates and formats JSON, CodeMix goes the extra mile by supporting JSON schemas – this means you get content assist as well as documentation when editing common JSON files, and you can specify schemas for custom formats too.
Our package.json
support is at another level, content assist provides Node modules names, descriptions, and their latest versions.
A quick outline allows you to efficiently navigate through large JSON files, and snippets will reduce the amount of typing required by providing custom completion proposals.
Debugging
Whether you’re debugging small bits of JavaScript in an old-school website, a site built with Webpack, or a full-blown Node backend, the JavaScript debugging capabilities in CodeMix have you covered.
The debugger is sourcemap aware, and sports a very handy debug console which you can use to inspect and change values at runtime. For some frameworks, you can even change your code and have these changes made live without having to restart your app, or debug session.
Learn more about debugging with CodeMix.
Give it a Try
CodeMix is free to try for 45 days—download it now!