facebook
Tim Webb
Vice President of Operations and a passionate technologist who thrives on merging software and marketing. Follow @timrwebb for periodic musing. A developer by birth, an optimizer by necessity, a forever believer in the ability of software to improve what you do.
Posted on Aug 21st 2019

Our 8.21 CodeMix release includes a number of powerful features that give you more flexibility over your development. The two most important ones are control over coloring (yes, we know colors matter!) and formatting (now much easier to control how your source looks when you format it). Beyond control, this release also has a strong focus on making CodeMix significantly more performant, reducing unneeded CPU cycles and letting you focus on coding.

Colors matter!

Starting out with code coloring, we now allow control over colors on a per language basis, as well as share the colors with common editors you already may have had in Eclipse. Maybe you tailored your HTML editor in Web Tools—CodeMix defaults to using those same colors, but allows you to further tailor them. With respect to control over colors, by having language-specific constructs controlled in the CodeMix syntax colors area, you can now decide explicitly how you want PHP to work, separately from the look of JavaScript or other languages. In addition, the control over language extends into a CodeMix unique feature for Eclipse that allows you to specify the color of, say, embedded JavaScript in the middle of an HTML or PHP file. This gives additional flexibility, but more importantly, helps separate the code from a visual perspective—even things like the onload attribute where you have embedded JavaScript right inside an HTML tag.

Flexible formatting

Let’s talk about formatting. As you may recall, CodeMix is built on and uses Code OSS extensions. Beautify is one such extension that has nice flexibility in terms of how you manage and share formatting settings across a team. CodeMix now makes it much easier to switch between different formatters. When you go to format a file in CodeMix, CodeMix will visualize the current formatter, and allow you to configure it, as well as switch to a different formatter. So, if you prefer to use Beautify or a different formatter, it’s much easier to control. In addition, the formatting UI gives more transparency around what’s currently being used, with links to preference pages and other places to update it.

Keeps getting faster

As mentioned earlier, the final area of work in this release was performance. We’ll have a follow-on blog coming out shortly with more details. Briefly, we identified three different root causes for performance issues some of you were seeing. One had to do with the TypeScript Language Server version 3.4.3 having some issues with certain types of projects, resulting in excessive usage in the TypeScript Language Server, which would make it show up like the CodeMix engine using a lot of CPU. Another was due to an auto rename extension for tags in HTML and XML which could cause, again, the CodeMix engine process to spin while processing the tree for your source. The final area had to do with a bug in the CodeMix UI in terms of how it performed outline reconciliation, whereby events could get queued up and create a backlog to process that request, causing a load on the engine. All those fixes together have had a significant effect of reducing the CPU cycle being unnecessarily spun with this CodeMix release.

Get the Latest CodeMix

If you’re not already on the latest CodeMix, download it now to take advantage of all it has to offer!

Check out the delivery log for all the details.