Welcome to CodeMix—It’s Different!
Achieve More in Less Time
Your Eclipse IDE is now open to a whole world of possibilities! CodeMix brings core tech from Visual Studio Code, plus all the best languages, frameworks and technologies, via Code OSS extensions. For the optimal experience, learn about some changes to the usage model and UI.
See CodeMix in Action!
Smart projects, no Natures/Facets
Unlike typical Eclipse feature support, CodeMix features function in just about any project/folder with the corresponding source files in it. In Eclipse-speak, you don’t need to enable natures, builders or facets for IntelliSense, advanced navigation, or validation to start working. This is quite liberating once you get used to the idea. Most projects with conventional layouts are immediately usable out of the box.
CodeMix features will also configure themselves based on industry-standard configuration files that may be found in the project. For example, if your project has a tslint.json file, that file will affect how TSLint issues are reported in the CodeMix TypeScript editor. Similarly, the angular.json file will affect how Angular features function.
Extensions not Plugins
For additional CodeMix features, like support for a new language or framework, advanced editing capabilities, formatting, refactoring, etc., install Code OSS extensions, instead of Eclipse plugins. Select Help > CodeMix Extensions to install extensions via the Extension Manager. Most extensions can be activated with a simple refresh of the engine, without restarting the IDE.
Some actions result in extensions being automatically installed. For instance, when creating a new Vue project, we’ll recommend the installation of the Vue pack. Additionally, on first use, CodeMix scans your workspace and automatically installs extensions that improve your experience.
Note: If a Code OSS extension defines its own custom views, these views will not appear in Eclipse. Only a small percentage of extensions do this, so the vast majority of extensions work correctly in Eclipse.
While Eclipse plugins can still be installed, those designed for standard Eclipse editors will not affect CodeMix editors; for example, a plugin to show you an indentation guide in the editor, or change your keybindings.
Commands speed coding
You may not be aware of Eclipse’s Quick Access feature, but you’ll want to be familiar with the Command Palette in CodeMix. The palette can be used to open files, types, or achieve more complex tasks, like refactoring code. Efficiency is vastly improved with the ability to quickly access commands via the keyboard instead of navigating through options with the mouse.
Quick Open (Ctrl+P / Cmd+P)
Use this to access the Quick Open palette, allowing you to quickly open any file in your workspace.
Command Palette (Ctrl+Shift+P / Cmd+Shift+P)
Use the Command Palette to do everything from running npm builds, to launching debug sessions. Use it to format your current document, or apply quick fixes en masse; you can even use it to refactor code. The palette includes Eclipse commands as well—start typing to find a command for the job you need.
Open Types (Ctrl+Shift+T / Cmd+Shift+T )
This action can be used to jump to symbols across files, across languages.
Debugging gets a new flow
To initiate a CodeMix debugging session, the easiest way is to right-click the project, and select Debug As > CodeMix Launch. A .vscode/launch.json file is created in the project, if one doesn’t already exist. Content assist in this file allows you to choose the type of launch, and specify advanced debugging settings. A project may have multiple debug configurations—these configurations and their settings are present only in this file.
To launch a debugging session, you click the icon in the launch.json editor, or select the launch from the drop down of the Debug toolbar button.
For more information, see Debugging in CodeMix.
Building & Validation improved
CodeMix supports two validation modes: in-editor validation that affects all files open in editors, and project level validation that is used for all other files in your project. Project level validation can use generic built-in validation tech, or be configured to use external tasks, which are often used to build and serve your application as well. With build pipeline support in CodeMix, the validation and build experience is seamless.
To configure your project’s build and validation settings, please see the Project Properties > CodeMix > Linting & Validation page. Note that the Project > Build Automatically setting accessible from the top level Eclipse menu has no effect on CodeMix build and validation behavior.
For further details, see Build Pipelines and Validation in CodeMix and Tasks in CodeMix with tasks.json.