Easy Salesforce DX projects management, even if you don't know Salesforce DX or git
Salesforce DX is great, but there are so many base commands and so many useful plugins that it's easy to get lost.
VsCode SFDX-Hardis aims to simplify the use of Salesforce DX with an intuitive UI and ready to use pre-integrated commands.
You can also use it to setup and use a complete CI/CD pipeline for your Salesforce project.
Graciously provided by Cloudity, and based on sfdx plugin sfdx-hardis
- Installation
- Articles
- Panels
- Assisted UI
- Custom commands
- Custom plugins
- Open Source Dependencies
- Telemetry
- Who we are
To install VsCode sfdx-hardis and all its dependencies, just follow the instructions in the following video !
Here are some articles with examples of use of sfdx-hardis
- English
- French
The extension contains 3 panels
- Commands launcher
- Status
- Dependency management
This panel contain all the useful commands to process with clicks only.
It also has shortcut buttons
- Refresh commands panel
- Run debugger
- Decrypt an Outlook clickjack URL
- Open a configuration file (
.sfdx-hardis.yml
,package.xml
... )
This panel displays the selected org, dev hub org and git info (repo, branch)
It manage VsCode Theme colors depending on selected org
- Automated
- Production: red
- Sandbox of major org (where you are not supposed to deploy ^^): orange
- Sandbox or scratch org for dev/config: green
- Other (Dev Org, Trial org...): blue
- Notes
- If you don't want this feature, use
vsCodeSfdxHardis.disableVsCodeColors
VsCode setting - It also allows to associate a custom VsCode Theme color to the current default org, using a shortcut button
- If you don't want this feature, use
This panel checks all required dependencies, and if they are up to date.
If some a missing or with deprecated versions, a message is displayed to invite the user to click to install / upgrade sfdx dependencies
Integration between VsCode SFDX Hardis UI and sfdx-hardis CLI, so you don't need to know the commands or their arguments
Base commands allowing to a consultant profile to work on a SFDX project without knowledge about SFDX or Git
- Start a new task
- Open my org in browser
- Pull from Salesforce org to local files
- Save / Publish my current task
- Reset selected list of items to merge
Advanced commands allowing a technical profile to work on a sfdx project without knowing SFDX or Git
- Push from local files to Salesforce org
- Install a package
- Run Apex tests on Salesforce org
- Simulate SFDX Deployment
- Clean SFDX Project from defined references
- Clean SFDX Project from references not in target org
- Create scratch org (or resume creation)
- Create scratch org (force new)
- Generate new password
- Connect to a Salesforce org
- Clear local sfdx tracking files
- Clear local and remote sfdx tracking files
Manages data and files import / export using Salesforce Data Move Utility
- Export data from org with SFDMU
- Import data to org with SFDMU
- Create data import/export configuration
- Export files from org
- Create files export configuration
Ease sources execution debugging of any type of org
Handy operations on Salesforce org
- Freeze users
- Unfreeze users
- Purge obsolete flows versions
- Delete scratch org(s)
- Activate .invalid user emails in sandbox
Audit Tools for your orgs
Configuration helpers
- Shortcuts to configuration files
- Configure deployment for CI
- Configure DevHub for CI
Simplify creation and maintenance of packaging V2 packages (unlocked or managed)
- Create packaging V2 packages
- Manage package versions
Various commands for advanced sfdx nerds, try them :)
You can define your own custom commands that will appear at the beginning or the bottom of the menu.
- In
.sfdx-hardis.yml
file, and add property customCommands , that will contain other menus and commands under each of them. It can be defined:- Locally in you project, in
config/.sfdx-hardis.yml
file - In a
.sfdx-hardis.yml
file, in VsCode settingcustom commands
(ex:C:\myfolder\.sfdx-hardis.yml
) - In a remote
.sfdx-hardis.yml
file, in VsCode settingcustom commands
(ex:http://my.server.com/.sfdx-hardis.yml
)
- Locally in you project, in
- Icons can be any of the SVG files in this folder
- Once updated, please refresh the VsCode Sfdx Hardis Commands panel to see the changes.
Example in config/.sfdx-hardis.yml
:
customCommandsPosition: first # can be first or last
customCommands:
- id: custom-menu
label: Custom commands
commands:
- id: generate-manifest-xml
label: Generate manifest
icon: file.svg
tooltip: Generates a manifest package.xml using local sfdx source files
command: sfdx force:source:manifest:create --sourcepath force-app --manifestname myNewManifest
helpUrl: https://megalinter.github.io/
- id: list-all-orgs
label: List all orgs
icon: salesforce.svg
tooltip: List all orgs that has already been authenticated using sfdx
command: sfdx force:org:list --all
- id: custom-menu-2
label: Another custom menu
commands:
- id: echo
label: Echo something
icon: user.svg
tooltip: Useless commands just to show that we can use not sfdx commands too
command: echo "Something"
You can define your own custom plugins that will appear in dependencies panel
- In
.sfdx-hardis.yml
file, and add property customPlugins , that will contain other menus and commands under each of them. It can be defined:- Locally in you project, in
config/.sfdx-hardis.yml
file - In a
.sfdx-hardis.yml
file, in VsCode settingcustom plugins
(ex:C:\myfolder\.sfdx-hardis.yml
) - In a remote
.sfdx-hardis.yml
file, in VsCode settingcustom plugins
(ex:http://my.server.com/.sfdx-hardis.yml
)
- Locally in you project, in
- Once updated, please refresh the VsCode Sfdx Hardis Dependencies panel to see the changes.
Example in config/.sfdx-hardis.yml
:
plugins:
- name: mo-dx-plugin
helpUrl: https://github.com/msrivastav13/mo-dx-plugin
- name: shane-sfdx-plugins
helpUrl: https://github.com/mshanemc/shane-sfdx-plugins
sfdx-hardis partially relies on the following SFDX Open-Source packages
In order to know what commands are the more used, anonymous telemetry is sent to Azure Applications Insight
@vscode/extension-telemetry is used and strictly respects the VsCode Telemetry Guidelines
We collect the following custom events:
- VsCode SFDX Hardis startup time
- Commands run (only the 2 first portions of the command, for example
sfdx hardis:work:new
orsfdx plugins:install
)- We don't want to know anything about the arguments sent or the output, that's your business, not ours :)
If you don't want to send anonymous usage stats, you can disable Telemetry in Visual Studio Code
Powered by Cloudity and the Trailblazer Community