I've just posted a third test build of Illuminated Cloud with support for Salesforce DX here:
This build includes all updates required to work with the open beta of Salesforce DX and also integrates the push/pull capabilities of the SFDX CLI for metadata deployment/retrieval respectively when working with SFDX projects in Illuminated Cloud.
The linked issue's pinned comment details how to install the test build, and as always it's simple to revert to an official build if needed.
I've also recorded the following video with more information about this build:
In the video I talk about some of the known issues in this release. I'll include a few additional considerations here:
- In SFDX projects you will no longer have the ability to perform selective pushes and pulls, push or pull to alternative connections, or diff/merge pull results. As a result, no intermediate deploy/retrieve/delete dialog is ever displayed. I've spoken with the team at Salesforce about these limitations and it's possible that the CLI will support some of this in the future. If/when it does, I'll integrate that into Illuminated Cloud and restore this functionality. Even if it doesn't, I may investigate other ways to provide this behavior for SFDX projects.
- NOTE: Traditional (non-SFDX) projects still work exactly as before.
- The Metadata API is always used to push changes. As a result, deployment in general may be a bit slower, especially saves of single Apex/Visualforce/Lightning/static resource files which would have occurred via the Tooling API. Again, I know that the team at Salesforce is actively working on ways to improve this, and those improvements will be encapsulated by the SFDX CLI and server queuing mechanisms so that they're available for all clients, not just IDE clients.
- Because SFDX is currently in beta, there will almost certainly be breaking changes in the calling interface which cause the integration between Illuminated Cloud and SFDX to stop working. If/when this happens, I'll update the integration as quickly as possible to restore functionality. The CLI itself should continue to work fine, though, as it's generally just the JSON-based calling interface that would change in a backward-incompatible manner.
As always, I welcome any feedback you may have as you work with this early stage functionality. You can comment on the linked issue, post on the discussion forums, or email me directly.
Best regards,
Scott Wells