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
.apex
file after save. - auto save to sfdc server
- deploy to any sfdc organization
- pretty code: pretty
.cmp
,.page
,.component
,.trigger
,.cls
file
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:metadata
force: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
.apex
file after save it - auto_save_to_sfdc: auto deploy to
.trigger
,.cls
,.component
,.page
file to sfdc - pretty_vf_page: pretty
.cmp
,.page
,.component
file - pretty_apex_anonymous: pretty
.apex
file - pretty_apex: pretty
.trigger
,.cls
file
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
,.component
file - pretty_vf_page: pretty
.trigger
,.cls
file - pretty_apex_anonymous : pretty
.apex
file
you need to install
java
and 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:login
orforce:auth:web:login:setdefaultusername
- use
xy:auth:username:login
to 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!