Aaron Lara
Developer Relations Lead at Genuitec. I like my software like I like my coffee: hot and delicious (ok, I suck at this...). Ah! I'm a gamer, so if you want to play something in steam just let me know :D
Posted on Nov 24th 2015
Update: Since this article was initially published, Genuitec has added advanced TypeScript support to their free Eclipse plugin, Webclipse. Give it a try!
TypeScript is an open source superset of JavaScript that adds class based objects that compile to JavaScript plain code. Currently there are two main options to support TypeScript in Eclipse. I’m going to discuss their features and pros and cons of each.
Palantir’s TypeScript (Version 1.6.0.v20151006)
This plugin offers minimal support for TypeScript and uses the official TypeScript compiler.
Example of Palantir’s TypeScript
Pros
Cons
- Outline view doesn’t display return type and arguments for methods
- “Open definition” doesn’t work for standard types and it doesn’t support definitions file
- Limited documentation
TypEcs (Version 4.0)
This plugin polishes some of the rough edges of the Palantir plugin and adds some interesting features like debug support for Node.js and web apps.
Example of TypEcs TypeScript
Pros
- Installation is simple
- Better highlighting support than Palantir plugin
- Adds New>TypeScript file menu item
- Open Declaration works as expected
- Debug support for Node.js and web projects
- More attractive TypeScript file icons
- Helpful documentation with screenshots and feature descriptions
- Continuous updates
Cons
- Outline view doesn’t display return type and arguments for methods
Comparison of Features
The following table shows the features for both of the plugins:
| Palantir | TypEcs |
Code completion | ✓ | ✓ |
Compile-on-save | ✓ | ✓ |
Cross-project compilation | ✓ | ✓ |
Error annotations/markers | ✓ | ✓ |
Find references | ✓ | ✓ |
Format code | ✓ | ✓ |
Highlight matching brace | ✓ | ✓ |
Hover for JSDoc | ✓ | ✓ |
Mark occurrences | ✓ | ✓ |
Open definition | ✓ | ✓ |
Outline view | ✓ | ✓ |
Quick outline | ✓ | ✓ |
Rename refactor | ✓ | ✓ |
Syntax highlighting | ✓ | ✓ |
Task tags | ✓ | ✕ |
Toggle comment | ✓ | ✓ |
Node.js and WebRemote debug support | ✕ | ✓ |
Conclusion
The current options for supporting TypeScript in Eclipse are limited. In my opinion, the best option is to use TypEcs for TypeScript support in Eclipse since it improves upon Palantir’s plugin by adding the debug support for Node.js and WebRemote.
Thanks to Sal Cabrera for his assistance in this article.