Extensions in CodeMix
Extensions add a whole range of functionality to your CodeMix installation—support for new languages and frameworks, productivity enhancements when coding, advanced validation, quick fixes, and even the ability to debug all sorts of applications. And this is just a small subset of what extensions can do—there are thousands of them on GitHub.
The CodeMix plugin is compatible with Eclipse-based IDEs and tools—like MyEclipse, Spring Tools Suite, and JBoss Tools—so you can continue working in the environment you are accustomed to.
CodeMix makes it easy to install the Code OSS-compatible extensions you need—from extension packs that bundle popular extensions to the ability to install individual extensions. And, if you are missing any dependencies, CodeMix lets you know.
We’ve done a fair amount of research to create a number of extension packs for you. These packs contain the most reliable, capable, and popular extensions for development in a given domain.
To manage your extensions, select Help>CodeMix Extensions to open the Extension Manager.
To install an extension or a pack, click the Explore Popular Extensions button, and then select the extension or pack. You can type in the Available Extensions box to filter the list. In addition, available packs are displayed in the CodeMix Extension Packs area. A check on the icon indicates that the pack is already installed. You can hover over an icon to view a description of the pack. If the icon is not checked, you can click the icon to download the pack and all associated extensions.
After installing a pack or an extension, it is added to the Installed Extensions list. A check mark indicates the pack or extension is enabled. You can click the check mark to disable a pack or extension.
Note: CodeMix extensions are stored in their own folder.
After all extensions are downloaded, you are prompted to restart the CodeMix Engine. The awesome thing about this is that your IDE and editors remain open, and the engine restart takes only a few seconds after which your new extensions are immediately available.
Note: Active debugging sessions and CodeMix terminals will reset during this restart.
When an installed extension has dependencies that are not installed, you will see these listed as Missing Dependencies in the Extension Manager.
Click the find… link to open your browser, and then locate and install the missing extension. When all dependencies are met, your extension will be activated.
Automatic Extension Pack Installation
CodeMix sometimes recommends installing extension packs, or even installs them automatically.Project Creation
If you use a CodeMix project wizard, the corresponding extension pack is automatically installed to ensure you have the best experience with your chosen language or framework. Please remember that based on the speed of your Internet connection, it may be awhile before the extensions are activated.Workspace Analysis
Based on the files you are working with, CodeMix might recommend the installation of an extension pack.
Working with Extensions
CodeMix supports a number of extension capabilities, including Language Smarts, Commands and Debuggers.
A large number of extensions add language smarts to the IDE, such as:
- Syntax highlighting
- Content assist
- Quick fixes
- Hover displays
While not an exhaustive list, these are some of the more common capabilities.
To access these capabilities, simply use the corresponding editor.
Note: While it will likely be the default, you can check whether a CodeMix editor is being used by bringing up the context menu on the file and confirming that the editor selected in the Open With menu has a :: CodeMix suffix.
Many extensions add useful commands to your IDE. For example, the npm extension adds the ability to manage dependencies, and the Docker extension allows you to build or deploy an image. You can even use some commands to refactor code or fix errors.
To access commands, open the command palette with
Ctrl/Cmd+Shift+P and start typing to find a command for the job you need.
Debugger extensions add the ability to efficiently debug a language, or even a framework. To use a debugger, you first need to create a launch configuration, after which you will be able to launch debug sessions from the launch.json editor as well as from the Debug toolbar item.
Refer to Debugging in CodeMix for more information.
If you need assistance with advanced extension configuration, want clarification on how a particular feature works, or just want to know what functionality the extension provides, it is best to first consult the extension’s documentation. For example, you can see how the npm extension can be configured here.
What Extensions Do Not Do
As a developer using Eclipse, you’re probably familiar with Eclipse plugins, which add wizards, perspectives, toolbar buttons, and preference or property pages to your IDE when installed. Most of these concepts do not yet exist in VS Code, and as a result, Code OSS extensions cannot make these contributions to your Eclipse IDE.
When you install an extension, you will find new editors and associated functionality, commands, and debugger capabilities as discussed above. To clarify, CodeMix does include project and file wizards, along with preference and property pages, but these are part of your base CodeMix install, and are not added by Code OSS extensions. Read our Getting Started document for additional information.
The following functionality available in some extensions is not supported:
- If an extension adds new panes or views to the IDE, these will not appear in CodeMix, but other functionality provided by the extension will still be available—we’re working on adding support for these views.
- VS Code themes will not work, nor will keymapping extensions.
To uninstall an extension (or pack), select Help>CodeMix Extensions to open the Extension Manager. Locate the extension in the Installed Extensions area, right-click on the Gear icon and click Uninstall.
When uninstalling an extension pack, you can decide whether you’d like to uninstall the extensions it contains as well – it is not mandatory to do so.
In some cases, you may not be able to uninstall an extension because another installed extension or extension pack depends on it. You will have to uninstall the dependent extension or extension pack before being able to uninstall the extension.