xysfdx¶
xysfdx is a Rapid development tool for Salesforce SFDX Development. Metadata diff with server, retrieve standard sobject.
Features¶
- Less than 100k
- Support Dataloader v40.0.0~v47.0.0 Export/ExportAll/Insert/Update/Upsert/Delete.
- Support Docker to develope sfdx . Use exiasfdc/sfdx docker image, no need to config, just run it.
- Support using WSL/git bash/Msys2/MingW64/MingW32 to develope sfdx .
- Authenticated with oauth2.
- Retrieve Metadata by select.
- Metadata diff with server(any sfdc organization).
- Retrieve standard sobject.
- Open sfdc link easily.
- Open console easily.
- Option Features
- support Username-Password OAuth Authentication .
- auto run
.apexfile after save. - auto save to sfdc server
- deploy to any sfdc organization
- pretty code: pretty
.cmp,.page,.component,.trigger,.clsfile
Shortkey¶
shortkey: ctrl+shift+j
Requirements¶
Usage¶
Create a project¶
force:project:create

Retrieve metadata¶
force:source:retrieve:metadata

Diff metadata¶
force:source:diff:metadata
You can diff with any sfdc organization.
diff source¶

diff profile¶

Authentication¶
force:auth:web:login
force:auth:web:login:setdefaultusername
Deploy metadata¶
force:source:deploy:metadataforce:source:deploy:current_file
Dataloader¶
- support v40.0.0~v47.0.0
- support CSV Export/ExportAll/Insert/Update/Upsert/Delete

If you use docker, you can only select csv/sdl file in current workspace.
TIPS: How to create sdl file ? I always use SalesforceXyTools For Chrome to create it.
Option Features¶
How to config option features¶
You can also open the Settings editor from the Command Palette (Ctrl+Shift+P) with Preferences: Open Settings or use the keyboard shortcut (Ctrl+,).
search xysfdx

Build-in Option Features¶
xysfdx.optionFeatures config:
- use_advanced_command: show advanced command
- auto_run_apex_anonymous: run
.apexfile after save it - auto_save_to_sfdc: auto deploy to
.trigger,.cls,.component,.pagefile to sfdc - pretty_vf_page: pretty
.cmp,.page,.componentfile - pretty_apex_anonymous: pretty
.apexfile - pretty_apex: pretty
.trigger,.clsfile
config:
{ "xysfdx.optionFeatures": [ // show advanced command //"use_advanced_command", // auto deploy to `.trigger`, `.cls`, `.component`, `.page` file to sfdc // "auto_save_to_sfdc", // pretty `.cmp`, `.page`, `.component` file // "pretty_vf_page", // pretty `.trigger`, `.cls` file // "pretty_apex", // run `.apex` file after save it, default active "auto_run_apex_anonymous", // pretty `.apex` file "pretty_apex_anonymous" ] }
show advanced command¶
Advanced:force:source:deploy:current_file: Select Authenticated server and deploy fileAdvanced:force:source:retrieve:current_file: Select Authenticated server and retrieve file
auto run apex anonymous code¶
auto_run_apex_anonymous

auto save to sfdc server¶
auto_save_to_sfdc

pretty code¶
- pretty_apex: pretty
.cmp,.page,.componentfile - pretty_vf_page: pretty
.trigger,.clsfile - pretty_apex_anonymous : pretty
.apexfile
you need to install
javaand prettier and prettier-plugin-apex npm install --global prettier prettier-plugin-apex sudo apt install openjdk-8-jdk read more about prettier-plugin-apex

For Docker user¶
vscode config¶
{ "xysfdx.shellMode": "docker", "xysfdx.shellPath": "", "xysfdx.dockerContainer": "${lowercaseWorkspaceName}_sfdx_1", "xysfdx.dockerAppRoot": "/app/sfdx" }
How to use docker ?¶
- pull images :
docker: pull image exiasfdc/sfdx

- create container :
docker: create sfdx container

- use docker shell :
docker: attach docker shell

then , use the xysfdx to develope sfdx.
attention¶
- can not use
force:auth:web:loginorforce:auth:web:login:setdefaultusername - use
xy:auth:username:loginto auth
For Windows user¶
use wsl/git bash/Msys2 bash to develope sfdx.
Open cmd/wsl/bash¶


use wsl¶
open wslmode
{ "xysfdx.shellMode": "wsl", "xysfdx.shellPath": "C:\\Windows\\System32\\bash.exe" }
use msys2 bash¶
{ "xysfdx.shellMode": "bash", "xysfdx.shellPath": "C:\\msys64\\usr\\bin\\bash.exe" }
use git bash¶
{ "xysfdx.shellMode": "bash", "xysfdx.shellPath": "C:\\Program Files\\Git\\usr\\bin\\bash.exe" }
Enjoy it!