With Orion 13.0 released (just in time for the holidays), it is time again to share with you the new & noteworthy items developed during this release. There are lots of changes across all of Orion, so lets dive in to each area and see whats new.
We have been striving to make Orion as accessible as possible to all developers. In Orion 13.0 we have improved accessibility across the board – from standard labels to the code edit widget and everything in-between. We still have a ways to go, but plan to be fully accessible in Orion 14.0.
Code Edit Widget
The code edit widget just keeps getting better and better. In Orion 13.0 two great things happened: (1) You can finally see the keybinding dialog, and, (2) you can now add your own custom code folding!
To jump right in and start enhancing your use of the widget with some cool folding, check out the docs.
We have created an experimental version of Orion that runs as an Electron app!
The experimental Orion Electron app
Currently, to use the app, you have to build and run it locally (we are working on providing regular builds of the app).
Language Server Protocol
A lot of work has gone into investigating and supporting the language server protocol since its announcement last summer.
In Orion 13.0 we have experimental support for the LSP and for Java that can be used on your local machine. For full details on how to get up and running, see this great readme.
Lots of cool new stuff is available in the language tools in 13.0.
We have provided 13 new linting rules (a coincidence, I promise), such as, no-extra-bind and no-implicit-coercion. The complete list of rules added in 13.0 can be found on our rules wiki.
no-implicit-coercion (with fix)
To accompany the new linting rules, many new quickfixes have been added as well, allowing problems to be quickly and easily resolved.
quotes rule quickfix
To keep all of the rules running smoothly, we also updated to ESLint 3.0.1
Orion 13.0 ships with complete support for ECMA 2016. To start developing using the new language features, you have to make sure to set the ecmaVersion entry in your .tern-project file to 7.
ECMA 2016 example
One of the most sought-after features of an IDE is the ability to quickly fix the shape of code. One of the easiest ways to do that is code formatting. In Orion 13.0 we provided a platform API (orion.edit.format) to add formatting to any language, editor hooks to format-on-save, support to format selections of code and support for .jsbeautifyrc files (for project-level formatting options).
Formatting can be used in one of three ways:
- Format-on-save: head into the editor options to enable this feature, then, as you save your work, it will also be formatted
- The Edit menu item: look for Format Code under the Edit main menu
- The pop-up menu: look for Format Code in the pop-up menu in the editor
Format code in editor
Not happy with the way the formatted code looks for JS/HTML/CSS/JSON? Simply head over to the formatting preference pages for each language and change the settings as desired.
CSS formatting options
In addition to updating our HTML parser in Orion 13.0, we also provided a pluggable HTML validator to help you keep your page source in tip top shape.
Like all our other validation, you can configure the HTML rules severities. The settings are found on the HTML Validation settings page.
All of the linting messages coming from the CSS tooling can now appear in other languages than English.
As we do each release, we have updated many of the libraries we use in our language tools. This time around we updated the following:
- ESLint to 3.0.1
- Doctrine to 1.2.2
- ESTraverse to 4.2.0
- Acorn to 3.3.0
Orion 13.0 has improved syntax styling support for many of our existing languages (like PHP and SQL) and also adds support for .sh files
Any callers of the search API (via the file client) can now specify an array of names to be ignored by the search engine. This allows callers to ignore all kinds of things they don’t care about while speeding up the search for things they do.
The new property is named ‘exclude’ and is an array of strings. See the API doc for more information.
Sometimes there are things you just don’t want to see in your workspace (or that you shouldn’t see). In Orion 13.0 we provided the ability to filter / hide resources from appearing in the UI.
The preference for this is on the General settings preference page and is a simple comma-separated list of names of things to not show.
Resource names to hide
Orion now sports a shiny new light theme!
But don’t worry if you really really liked the old theme, in Orion 14 we are bringing back the theme preferences to allow this to be customized.