One of our most popular blog posts was about the The IDE War is Great for Salesforce Developers. A year and a half later, little has changed. Though MavensMate is now no longer supported, there are still so many more great options for Salesforce IDEs than there were a few years ago. You have your pick of options: open source IDEs (Sublime, Atom), commercial IDEs (The Welkin Suite, Illuminated Cloud), IDEs that are sponsored by large corporate giants (VS Code) and IDEs that are run by smaller Salesforce-centric teams (TWS and IC). And with Salesforce DX coming out, we expect there to be more focus and attention in this space than there has been in previous years.

Salesforce IDE options

Often, people want to know how Salesforce IDEs work with Blue Canvas. Will my IDE work with Blue Canvas? Do we have any special integrations or recommendations for any particular IDEs? What steps do I need to take to make Blue Canvas work with my IDE of choice?

Fortunately, the answer is simple: Blue Canvas works out of the box with all IDEs! We know that choosing an IDE is a very personal choice (In fact, one of our founders worked on the Cloud9 IDE integration for Salesforce in his previous job). So from the start it was important for us to support all Salesforce IDEs. Because we are based on open standards we seamlessly integrate with all Salesforce IDEs.

Here’s how it works:

Automatic Sync

The primary way we work with Salesforce IDEs is through our automatic sync mechanism. With, Blue Canvas you get real-time, automated backups of all of your Salesforce metadata for both declarative and code changes. Every minute we poll your orgs and look for changes. If a change has been made, we grab the Salesforce username of the person who made the change and commit it into a Git log.

Salesforce Git commit

This happens for declarative changes made on Salesforce’s UI or the Developer Console. And it happens in the exact same way with any other IDE. Whatever ends up on the org ends up in Blue Canvas.

Almost every Salesforce IDE has some sort of sync mechanism. MavensMate, The Welkin Suite, VS Code, Illuminated Cloud and The IDE for Eclipse all have a way to save changes and push them to an org just like the Dev Console.

To get your changes into your Blue Canvas repo, all you have to do is connect your orgs as a branches on Blue Canvas. Anytime you save a change using your IDE of choice to your connected org, Blue Canvas will automatically pick it up. We can even grab the username of the person who made the change.

This allows you to use source control and have metadata backups with your favorite IDE without adding a step to your process. You no longer have to manually commit to Git each time using your IDE. Everything is automatic and therefore more likely to happen.

Deploying Between Orgs

Once you’ve saved your changes from your IDE and Blue Canvas has picked up the change, you can now use Blue Canvas to migrate your changes between environments. A typical flow might look like this:

Do some work in a developer branch, push that work to UAT when it’s ready. Test that change in UAT and the push it on to production.

Doing this with an IDE can work, but it’s quite manual and it doesn’t provide you with audit logs and history in Git. Nor does it give you code clobbering protection in all cases (though Illuminated Cloud does have some nice code clobbering protections). Blue Canvas provides these features through more automation and the ability to deploy with Pull Requests (which we call Deployment Requests).

When you create a Deployment Request in Blue Canvas, the system does an automatic scan for changes in the target org. This prevents code clobbering because we’ll surface any merge conflicts. If there is a merge conflict or a change on the target org and you deploy via an IDE you won’t know and you’ll wipe out all changes (incidentally, Blue Canvas helps if you ever do this because even if you do clobber changes, you have a nice history trail of how your files have changed so you can revert back). Deploying with Blue Canvas is also safer because each change is part of a continuous Git history. This history tells you how your app has changed over time. And this is great in case you need to debug or rollback.

Deploying between orgs with Blue Canvas is also much faster because it automates many of the processes that you have to do manually. We surface and highlight differences between your orgs. And you can use a simple checklist of changed files that you can select and deselect. This prevents manual errors and allows you to deploy with confidence.

Salesforce cherry pick deploy

Blue Canvas allows you to use any IDE you want to get your changes into Git in a simple and automated way. It also works well with your admin and declarative changes and allows you to deploy them between orgs. For a great example of how Blue Canvas works with a great Salesforce IDE, check out our webinars with The Welkin Suite.