Share on FacebookShare on Google+Tweet about this on TwitterShare on LinkedIn
Brian Fernandes
Director of Customer Engagement - Loves technology and almost everything related to computing. Wants to help you write better software. Follow at @brianfernandes.
Posted on Apr 15th 2019

Welcome to CodeMix 2019.4.11—bringing dozens of coding enhancements and fixes to make your everyday life as a developer smoother. With an easier and more intuitive way to configure your IDE, updated extensions and Code engine for added functionality, as well as a sexy CodeMix view for easier access to tutorials and learning material, this release will “spark joy” from the get-go!

TypeScript and JavaScript

With the new locality bonus setting, content assist suggests are sorted based on their distance to the cursor, making it more likely that the suggestion you want to use is at or near the top of your list. To enable the Locality Bonus setting, go to Preferences > CodeMix > Text Editor > Suggestions.

Locality Bonus Disabled
Locality Bonus Enabled

Callbacks are everywhere these days, and while anonymous callbacks would previously be displayed with a <function> label in the Outline view, and symbol lists, more context will now be shown:

CodeMix now supports development with TypeScript 3.3.3.

HTML & CSS

The HTML editor will now show descriptions and content assist for ARIA attributes and events.

If you hover over CSS selectors, you will now see the Specificity of a selector—specificity being the means by which browsers will decide which CSS property values will be applied.

Vue

We recently released two updates to the Vetur extension, bringing you the following key enhancements.

Most important is the IntelliSense support within Vue interpolations, within {{ }} blocks, for instance. Take a look at the GIF below to see the difference in the suggestions provided.

There’s added support for frameworks like Quasar, Buefy and Gridsome, as well as syntax highlighting for Pug and GraphQL custom blocks.


Templates with Pug syntax

Settings

We’ve moved away from the settings table, to a number of structured Eclipse-style preference pages. It’s now much easier to find the setting you need, by navigating the preference tree, or using the filter. With this new format, we’re also able to display documentation corresponding to the settings right on the page.

Settings that are specific to Code Extensions can be found under the CodeMix > Extensions node.

Use File > Import / Export > CodeMix Settings and Extensions to share your settings and extensions with others in your team.

Tutorials

Haven’t tried our tutorials yet? No problem. We’re sure you’ll enjoy perusing them through the new CodeMix view, which gives you easy access to tutorials covering both frontend and backend technologies, like Angular, Vue, React, Spring Boot and Node.js. Use this view to access our learning center as well.

Key Fixes

Editing

We fixed a number of editing annoyances:

  • Save-all will no longer change the focused editor or editor order. If you’re someone who likes to compulsively save all open editors every 15 seconds, you can now go back to doing this.
  • The Go to Definition command will now take you to the right location when jumping across files.
  • When you use the automatic import capability, either via quick-fix or during content assist, your view will no longer jump to the insertion point, and you can continue coding uninterrupted.
  • On a similar note, invoking the quick-fix action will no longer result in unnecessary text selection.
  • After extensive analysis, we determined CodeMining was negatively impacting performance. Though this release includes performance fixes for CodeMining, we have chosen to keep it off by default to avoid future risk. CodeMining can be turned back on the Preferences > CodeMix > TypeScript > TypeScript/JavaScript Common pages. Please look for the References/Implementations Code Lens settings.
  • The encoding mentioned on the file’s Resource property page will be respected by the editor.
  • The Close all Editors keybinding is now restored, the conflicting Emmet keybinding which inserted a paragraph in HTML files instead has been changed to Ctrl + Alt + W.
  • If you’re editing a large file which has errors in it, it could take several seconds to open—this is no longer the case, the file should open immediately.
  • Content assist would fail if you happened to have a more recent version of the com.google.guava plugin installed. We’re now compatible with all versions of guava.
  • Repeated notifications about linting PHP files will no longer show every session.
  • Code folding support couldn’t make this release but is coming soon.

Debug

There were a number of issues that affected the ability to launch working debugging sessions for Angular, React and Python—these issues have been fixed.

When debugging in Chrome, if the port configured is already bound, we will now notify you instead of failing silently. In fact, we’ve gone a step further and randomized the port for each session so that chances of conflicts are reduced.

Java 12

CodeMix would fail to function if you were running Eclipse with a Java 12 VM, but this latest release works just fine.

Note: If you are running Java 12, your installation of CodeMix will not automatically update. Simply use Help > Check for Updates to get this update—future updates will continue to be automatic.

Key Bindings

In rare cases, the Run and Debug keybindings failed to work when CodeMix was installed, we’ve made changes that should fix this issue.

Sticking with keybindings, it is no longer necessary to use Shift in addition to the regular Cut / Copy / Paste keybindings when in Terminal+. Simply use the regular Ctrl + X / C / V key combos. When there is text selected in the terminal, Ctrl + C is overloaded to copy instead of sending a break to the running program.

What would you like to see in the next CodeMix release? Let us know via Twitter or through the CodeMix forums. Happy Coding!