VsCode SFDX Hardis
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
Presented at Dreamforce !
Installation
To install VsCode sfdx-hardis and all its dependencies, just follow the instructions in the following video !
Articles
Here are some articles with examples of use of sfdx-hardis
Panels
The extension contains 3 panels
- Commands launcher
- Status
- Dependency management
Commands
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
... )
Status
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
Dependencies
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
Assisted UI
Integration between VsCode SFDX Hardis UI and sfdx-hardis CLI, so you don't need to know the commands or their arguments
Work on a task (simple)
Base commands allowing to a consultant profile to work on a SFDX project without knowledge about SFDX or Git
Work on a task (Expert)
Advanced commands allowing a technical profile to work on a sfdx project without knowing SFDX or Git
Data Import & Export
Manages data and files import / export using Salesforce Data Move Utility
Debugger
Ease sources execution debugging of any type of org
Operations
Handy operations on Salesforce org
Audit
Audit Tools for your orgs
Configuration
Configuration helpers
- Shortcuts to configuration files
- Configure deployment for CI
- Configure DevHub for CI
Packaging
Simplify creation and maintenance of packaging V2 packages (unlocked or managed)
- Create packaging V2 packages
- Manage package versions
Nerdy stuff
Various commands for advanced sfdx nerds, try them :)
Custom commands
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 setting custom commands
(ex: C:\myfolder\.sfdx-hardis.yml
)
- In a remote
.sfdx-hardis.yml
file, in VsCode setting custom commands
(ex: http://my.server.com/.sfdx-hardis.yml
)
- 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"
Custom plugins
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 setting custom plugins
(ex: C:\myfolder\.sfdx-hardis.yml
)
- In a remote
.sfdx-hardis.yml
file, in VsCode setting custom plugins
(ex: http://my.server.com/.sfdx-hardis.yml
)
- 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
Open Source Dependencies
sfdx-hardis partially relies on the following SFDX Open-Source packages
Telemetry
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
or sfdx 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
Who we are
Powered by Cloudity and the Trailblazer Community