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:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
{
"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
1
2
3
4
5
6
{
"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
1
2
3
4
{
"xysfdx.shellMode": "wsl",
"xysfdx.shellPath": "C:\\Windows\\System32\\bash.exe"
}
use msys2 bash
1
2
3
4
{
"xysfdx.shellMode": "bash",
"xysfdx.shellPath": "C:\\msys64\\usr\\bin\\bash.exe"
}
use git bash
1
2
3
4
{
"xysfdx.shellMode": "bash",
"xysfdx.shellPath": "C:\\Program Files\\Git\\usr\\bin\\bash.exe"
}
Enjoy it!