With the continuous delivery model of the Orion cloud IDE you may have already tried many of the awesome new features in the latest release. The official release of Orion 9.0 provides an excellent time to review and promote what the project has been up to.
Try them now at Orionhub.org!
JavaScript front and center
JavaScript tooling was the focus throughout the release. The plugin back-end was restructured to load faster and run in a web worker. The engine powering content assist and hover information was replaced with Tern, a code analysis tool running on our existing Esprima based parser. The front end client got expanded capabilities in tool-tips, context menus, split editors and commands to provide access to all the great new functionality.
Tern in Orion
The single largest change made this release was adding a Tern server for code analysis. As soon as you start editing code we are feeding Tern information about what you are working on. Beyond the file you are editing we follow dependencies and add their information to Tern as well. This includes Node libraries linked through require() calls, AMD modules linked via define() calls and embedded scripts in HTML files. Further to that, Orion includes Tern readable indexes containing type information for common libraries including ECMAScript, Node.js, Redis, MySQL and others.
Tern performs code analysis on all of the scripts available and returns highly accurate and context specific content assist proposals (Ctrl+Space to activate). We have a large library of code templates as well to help you code faster.
Tern also returns us in-depth descriptions for the types and functions you use. We deliver this information in the form of tool-tips (hover with the mouse or press F2). Use tool-tips to help understand the arguments in your API calls. In many cases we provide a link to the MDN spec where you can continue to learn more.
Take your IDE a step further by navigating the tree of dependencies. You can already hover over require/define dependencies to navigate to those files. Now you can Jump to Declaration (F3 or the Tools menu) from anywhere in your code to immediately navigate to the declaraction of a function or variable. This includes jumping to other scripts.
Find yourself constantly navigating between files? Use the split editor view (drop down menu at the top right) to display multiple files on the same page in whatever layout works for you.
Use the information Tern has collected to perform some refactoring. The Rename Element command (Shift+Alt+R or the Tools menu) will let you choose a new name and have Tern figure out all the places needing changes.
More to discover
Of course many more enhancements and bug fixes have gone into the release. New versions of our third party libraries (ESLint 0.15.1, ESTraverse 1.9.0, Esprima 2.0) are included. New validation rules no-shadow-global, no-proto, no-undef-init, no-with and missing-nls along with new quickfixes have been added. The editor tool-tips have much smarter placement and sizing logic while allowing scrolling and resizing for large JSDoc entries. The JavaScript Validation settings are now split up into categories for easier browsing. You can see what Tern libraries are installed on a settings page as well. Nearly 200 bug reports were fixed relating to the language tooling.
Don’t wait, use Orion to code, deploy and run in the cloud.