Skip to content

hardisgroupcom/vscode-sfdx-hardis

Repository files navigation

sfdx-hardis by Cloudity Banner

VsCode SFDX Hardis

Visual Studio Marketplace Version Visual Studio Marketplace Installs Mega-Linter License GitHub stars PRs Welcome

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

screenshot

Presented at Dreamforce !

Dreamforce presentation

Installation

To install VsCode sfdx-hardis and all its dependencies, just follow the instructions in the following video !

Installation tutorial

Articles

Here are some articles with examples of use of sfdx-hardis

  • English

sfdx-hardis: A release management tool for open-source Handle Salesforce API versions Deprecation like a pro How to mass download notes and attachments files from a Salesforce org How to freeze / unfreeze users during a Salesforce deployment How to detect bad words in Salesforce records using SFDX Data Loader and sfdx-hardis Reactivate all the sandbox users with .invalid emails in 3 clicks

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

Colors Video

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)

screenshot

Base commands allowing to a consultant profile to work on a SFDX project without knowledge about SFDX or Git

Work on a task (Expert)

screenshot

Advanced commands allowing a technical profile to work on a sfdx project without knowing SFDX or Git

Data Import & Export

screenshot

Manages data and files import / export using Salesforce Data Move Utility

Debugger

screenshot

Ease sources execution debugging of any type of org

Operations

screenshot

Handy operations on Salesforce org

Audit

screenshot

Audit Tools for your orgs

Configuration

screenshot

Configuration helpers

  • Shortcuts to configuration files
  • Configure deployment for CI
  • Configure DevHub for CI

Packaging

screenshot

Simplify creation and maintenance of packaging V2 packages (unlocked or managed)

  • Create packaging V2 packages
  • Manage package versions

Nerdy stuff

screenshot

Various commands for advanced sfdx nerds, try them :)

Custom commands

screenshot

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

screenshot

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