MavensMateã®ãµããŒããçµäºããåŸãæå€ãšãã®ãŸãŸäœ¿ããŠããã®ã§å©çšããŠããã®ã§ãããå
æ¥ã®æåŸã®ã¢ããããŒãã§ãå©çšããããšãããããŸããã¡ãã»ãŒãžã衚瀺ãããããã«ãªããŸããã
![f:id:tyoshikawa1106:20190717204450p:plain f:id:tyoshikawa1106:20190717204450p:plain]()
ãšããããšã§ããããšæãã€ã€ã§ããŠããªãã£ãVS Codeãã€ãã£ãéçºç°å¢æ§ç¯ã詊ããŠã¿ãŸãããæ¬¡ã®å°çšãµã€ããçšæãããŠããã¿ããã§ãã
![f:id:tyoshikawa1106:20190717204816p:plain f:id:tyoshikawa1106:20190717204816p:plain]()
Salesforce Extensions for Visual Studio Code
ãªã³ã¯å
ããVisual Studio CodeãšSalesforce Extensionsãã€ã³ã¹ããŒã«ã§ããŸãã
Visual Studio Code
![f:id:tyoshikawa1106:20190717205305p:plain f:id:tyoshikawa1106:20190717205305p:plain]()
Salesforce Extensions
![f:id:tyoshikawa1106:20190719073356p:plain f:id:tyoshikawa1106:20190719073356p:plain]()
Get Startedã®ããŒãžã«ç°å¢æ§ç¯ã«å¿
èŠãªæ
å ±ãèšèŒãããŠããŸããäžèšãçšæããã°è¯ãã¿ããã§ãã
- Visual Studio Code
- Java Platform, Standard Edition Development Kit
- Salesforce CLI
- Salesforce Extensions for Visual Studio Code
Java Platform, Standard Edition Development Kitã«ã€ããŠã¯Java SetupããŒãžã«è©³çްãèšèŒãããŠããŸããã
![f:id:tyoshikawa1106:20190717205949p:plain f:id:tyoshikawa1106:20190717205949p:plain]()
Javaã®ç°å¢æ§ç¯ã¯ããã€ãçš®é¡ãããã¿ããã§ãããããŒã¿ããŒãã§ãå¿
èŠã«ãªã£ãZuluãå©çšããã°ããã®ããªãšæããŸãã
![f:id:tyoshikawa1106:20190717210345p:plain f:id:tyoshikawa1106:20190717210345p:plain]()
ããŒã¿ããŒãã§ã€ã³ã¹ããŒã«ãããšãã®èšäºã¯ãã¡ãã
SFDCïŒããŒã¿ããŒãv.46.0ã®ã€ã³ã¹ããŒã«ã詊ããŠã¿ãŸãã - tyoshikawa1106ã®ããã°
ã€ã³ã¹ããŒã«åŸã®ããŒãžã§ã³ç¢ºèªã¯ãjava --versionãã§ã§ããŸãã
![f:id:tyoshikawa1106:20190717210619p:plain f:id:tyoshikawa1106:20190717210619p:plain]()
Javaã®æºåãã§ããã®ã§ç¶ããŠSalesforce CLIã®æºåã§ããå°çšã®ããŠã³ããŒããµã€ããçšæãããŠããŸãã
![f:id:tyoshikawa1106:20190719074412p:plain f:id:tyoshikawa1106:20190719074412p:plain]()
https://developer.salesforce.com/ja/tools/sfdxcli
Node.jsããã€ã³ã¹ããŒã«
å°çšã®ã€ã³ã¹ããŒã©ããã€ã³ã¹ããŒã«ã§ããŸãããnpmã³ãã³ãã§ã€ã³ã¹ããŒã«ããããšãå¯èœã§ãã
![f:id:tyoshikawa1106:20190717211135p:plain f:id:tyoshikawa1106:20190717211135p:plain]()
npmã§ããå Žåã¯Node.jsã®ãµã€ãããã€ã³ã¹ããŒã«ã§ããŸãã
![f:id:tyoshikawa1106:20190717211458p:plain f:id:tyoshikawa1106:20190717211458p:plain]()
Node.js
ã€ã³ã¹ããŒã©ããã€ã³ã¹ããŒã«ãããšnodeãšnpmã®ç°å¢ãçšæã§ããŸãã
![f:id:tyoshikawa1106:20190717212115p:plain:w300 f:id:tyoshikawa1106:20190717212115p:plain:w300]()
Node.jsã®ããŒãžã§ã³æå®ãããŒãžã§ã³ã¢ãããªã©ã¯nodebrewã䜿ããšè¯ããšæããŸãã
NodeïŒnodebrewã§v4.2.1ã«ã¢ããããŒãããŠã¿ãŸãã - tyoshikawa1106ã®ããã°
nodebrewããnode.jsãã€ã³ã¹ããŒã«ããããšãã§ããŸããã³ãã³ãã¯ãã¡ãã
$ nodebrew install-binary v10.16.0
![f:id:tyoshikawa1106:20190717211750p:plain f:id:tyoshikawa1106:20190717211750p:plain]()
![f:id:tyoshikawa1106:20190717211917p:plain f:id:tyoshikawa1106:20190717211917p:plain]()
Nodeçµç±ã§Salesforce CLIãã€ã³ã¹ããŒã«ãããšãããªæããsalesforce-almãšãããã©ã°ã€ã³ãã€ã³ã¹ããŒã«ã§ããªãã£ããšWARNINGãã§ãŸãããèªåã§è¿œå ã§ã€ã³ã¹ããŒã«ã§ããŸãããããããå¿
èŠãªã®ãã¯ã¡ãã£ãšäžæã
![f:id:tyoshikawa1106:20190717212933p:plain f:id:tyoshikawa1106:20190717212933p:plain]()
![f:id:tyoshikawa1106:20190717213606p:plain f:id:tyoshikawa1106:20190717213606p:plain]()
å®éã®æ€èšã®ãšãã¯äžèšã®æé ã§è©ŠããŠããŸããã
- npmã³ãã³ãã§salesforce cliãã€ã³ã¹ããŒã«
- warningãªã©ã®ã¡ãã»ãŒãžãã§ãã®ã§è¿œå ã§ãã©ã°ã€ã³ãã€ã³ã¹ããŒã«
- ããããã€ã³ã¹ããŒã©èªäœãçšæãããŠããããšã«æ°ã¥ãã
- 念ã®çºã€ã³ã¹ããŒã©ãããã€ã³ã¹ããŒã«å®è¡
Salesforce CLIã®ã€ã³ã¹ããŒã«ã¯ãããªæããäžèšã®ã³ãã³ãã§ã€ã³ã¹ããŒã«ãã§ããŠããã確èªã§ããŸãã
$ sfdx --version
![f:id:tyoshikawa1106:20190722075318p:plain f:id:tyoshikawa1106:20190722075318p:plain]()
åãããã©ã°ã€ã³ã®ã€ã³ã¹ããŒã«ã確èªããŸãã
$ sfdx plugins --core
![f:id:tyoshikawa1106:20190722075527p:plain f:id:tyoshikawa1106:20190722075527p:plain]()
詳现ã¯éçºè
ã¬ã€ãã«èšèŒãããŠããŸãã
![f:id:tyoshikawa1106:20190722075234p:plain f:id:tyoshikawa1106:20190722075234p:plain]()
Salesforce Developers
ããã§Salesforce CLIã®ã€ã³ã¹ããŒã«ãã§ããŸãããç°å¢æ§ç¯ã§å¿
èŠãªãã®ã¯çšæã§ãããšæããŸããæ¬¡ã¯å®éã«ãããžã§ã¯ãäœæã§ãã
Force.com IDEãMavensMateãšåãããã«éçºããæ¹æ³ã¯ãOrg Development Model with VS Codeãã®ããŒãžã«èšèŒãããŠããããã§ããVSCodeã§äžèšã®ã³ãã³ããå®è¡ããŠãããžã§ã¯ããäœæããã°ããããã§ãã(ã³ãã³ãå®è¡ã®ããã¯ã¹ã¯Cmd+Shift+Pã§è¡šç€ºã§ããŸãã)
> SFDX: Create Project with Manifest
![f:id:tyoshikawa1106:20190722080148p:plain f:id:tyoshikawa1106:20190722080148p:plain]()
Org Development Model with VS Code
å®éã«å®è¡ããŠã¿ããšã»ã»ã»ã³ãã³ããèŠã€ãããŸããã§ããããäœãããã®èšå®æé ãæŒããŠããã¿ããã§ãã
![f:id:tyoshikawa1106:20190722080357p:plain f:id:tyoshikawa1106:20190722080357p:plain]()
Salesforce CLIãé©çšãããŠããªãæ°ãããã
![f:id:tyoshikawa1106:20190722080606p:plain:w300 f:id:tyoshikawa1106:20190722080606p:plain:w300]()
æ€çŽ¢ããŠã¿ããšããäžèšã®æ
å ±ãã¿ã€ãããŸãããVS Codeã®ããŒãžã§ã³ãæ¡åŒµæ©èœã®åé¡ã®å¯èœæ§ããããŸãããã
![f:id:tyoshikawa1106:20190722080817p:plain f:id:tyoshikawa1106:20190722080817p:plain]()
salesforcedx - SFDX: create project using manifest not available - Salesforce Stack Exchange
詊ããããš
â VS Codeã®åæå
VS Codeã®åã€ã³ã¹ããŒã«ãè¡ããŸãããã€ã³ã¹ããŒã«ããæ¡åŒµæ©èœãäžèšã®ã³ãã³ãã§åé€ããŠã¿ãŸããã
â».vscodeãã©ã«ããåé€ããã³ãã³ããæ°è»œã«å®è¡ããªãã»ãããããã€
$ rm -rf .vscode
ENABLEDã«Salesforce Extensions Packã®æ©èœã ããã€ã³ã¹ããŒã«ãããç¶æ
ã
![f:id:tyoshikawa1106:20190723075924p:plain f:id:tyoshikawa1106:20190723075924p:plain]()
VS CodeãäžæŠçµäºããŠåèµ·åãããã§ç¢ºèªããŠã¿ãŸããçµæãç¡äºãSFDX: Create Project with Manifestãã³ãã³ããéžæã§ããããã«ãªããŸãããéå»ã«ã€ã³ã¹ããŒã«ããŠããæ¡åŒµæ©èœã®åœ±é¿ã§ææ°çã®Salesforce Extensionsãé©çšãããŠããªãã£ãã¿ããã§ãã
![f:id:tyoshikawa1106:20190723080108p:plain f:id:tyoshikawa1106:20190723080108p:plain]()
ã²ãšãŸãããã§ç°å¢æ§ç¯ã«æåããŸããã
Salesforceãããžã§ã¯ãã®äœæ
ç°å¢æ§ç¯ã§ãããšããã§å®éã«ãããžã§ã¯ããäœæããŠã¿ãŸããVS Codeãèµ·åããŠäžèšã®ã³ãã³ããå®è¡ããŸãã
$ SFDX: Create Project with Manifest
![f:id:tyoshikawa1106:20190723191303p:plain f:id:tyoshikawa1106:20190723191303p:plain]()
ã³ãã³ããå®è¡ãããšãããžã§ã¯ãåã®å
¥åæ¬ã衚瀺ãããŸãã
![f:id:tyoshikawa1106:20190723191616p:plain f:id:tyoshikawa1106:20190723191616p:plain]()
ç¶ããŠãããžã§ã¯ããäœæãããã©ã«ããæ±ããããŸãã
![f:id:tyoshikawa1106:20190723191749p:plain f:id:tyoshikawa1106:20190723191749p:plain]()
ãã©ã«ããéžæãããšä»¥äžã®ããã«å¿
èŠãªãã¡ã€ã«ãçæãããŸãã
![f:id:tyoshikawa1106:20190723191822p:plain f:id:tyoshikawa1106:20190723191822p:plain]()
ãããªæãã®æ§æã§ãã
![f:id:tyoshikawa1106:20190723191915p:plain f:id:tyoshikawa1106:20190723191915p:plain]()
ãããžã§ã¯ãã®é圢ãäœæã§ãããç¶ããŠSalesforceçµç¹ãšæ¥ç¶ããŸãããã®ãšãã®æé ã¯ãã¡ããåèã«ãªããŸããã
Salesforceãããžã§ã¯ããšéçºçµç¹ãé¢é£ä»ã
äžèšã®ã³ãã³ããå®è¡ããŸãã
$ SFDX: Authorize an Org
![f:id:tyoshikawa1106:20190723192723p:plain f:id:tyoshikawa1106:20190723192723p:plain]()
æ¥ç¶å
ã®ãã°ã€ã³URLãèãããŸãã(æ¬çªãSandboxãã«ã¹ã¿ã URLã)
![f:id:tyoshikawa1106:20190723193341p:plain f:id:tyoshikawa1106:20190723193341p:plain]()
çµç¹ã®å¥åãç»é²ã§ããŸãã(空å€ã§é²ããŠããã£ããã)
![f:id:tyoshikawa1106:20190723193429p:plain f:id:tyoshikawa1106:20190723193429p:plain]()
äžèšäœæ¥ã®åŸã«èªåã§ãã°ã€ã³ããŒãžã«ç§»åããŸãã
![f:id:tyoshikawa1106:20190723193557p:plain f:id:tyoshikawa1106:20190723193557p:plain]()
æ¥ç¶ãããçµç¹ã®ã¢ã«ãŠã³ãã§ãã°ã€ã³ãããšèªèšŒããŒãžã衚瀺ãããŸãã
![f:id:tyoshikawa1106:20190723193635p:plain f:id:tyoshikawa1106:20190723193635p:plain]()
èªèšŒãããšãã©ãŠã¶åŽã¯ãã®ãŸãŸãã°ã€ã³åŸã®ããŒãžã«ç§»åããŸãããVS CodeåŽã§ã¯ã³ã³ãœãŒã«ã«æ¥ç¶æåã®ã¡ãã»ãŒãžã衚瀺ãããŸãã
![f:id:tyoshikawa1106:20190723193838p:plain f:id:tyoshikawa1106:20190723193838p:plain]()
ã³ãŒãã®ååŸ
manifestãã©ã«ãå
ã«package.xmlãã¡ã€ã«ãããã®ã§ããããã®ãã¡ã€ã«ã«å¯ŸããŠå³ã¯ãªãã¯ãããšããŒã¿ã®ååŸãšãããã€ã®ã¡ãã¥ãŒã远å ãããŠããŸãããSFDX: Retrieve Source from OrgããéžæãããšãœãŒã¹ã³ãŒããååŸã§ããŸãã
![f:id:tyoshikawa1106:20190723194625p:plain f:id:tyoshikawa1106:20190723194625p:plain]()
ããã§classãããªã¬ãªã©package.xmlã§æå®ãããšããã«ãœãŒã¹ã³ãŒããããŠã³ããŒããããŸããä»å詊ãããšãã«ãã¡ã€ã«æ°ãå€ãã£ããããåŽåŸ³ããã¯ãã®classãã¡ã€ã«ãVS Codeäžã§è¡šç€ºãããªãçŸè±¡ãçºçããŸãããVS Codeãç«ã¡äžãçŽãããåé¡ãªã衚瀺ãããŸããã
![f:id:tyoshikawa1106:20190723195128p:plain f:id:tyoshikawa1106:20190723195128p:plain]()
ã³ãŒãã®ãããã€
ãããã€ãšãããã³ãŒãã®ä¿åã®æ¹æ³ã§ããVS Codeã§ã¯ã©ã¹ãããŒãžãªã©ã®ãœãŒã¹ã³ãŒãã倿ŽããåŸã¯å¯Ÿè±¡ãã¡ã€ã«ãå³ã¯ãªãã¯ããŠãDeploy Source to Orgãããå®è¡ããŸãã
![f:id:tyoshikawa1106:20190723200719p:plain f:id:tyoshikawa1106:20190723200719p:plain]()
å®è¡åŸã«Salesforceçµç¹ã確èªãããšãã察象ã¯ã©ã¹ãç¡äºã«æŽæ°ãããŠããŸããã
![f:id:tyoshikawa1106:20190723200829p:plain f:id:tyoshikawa1106:20190723200829p:plain]()
倿Žãçµç¹ã«åæ ããã®ã«æ¯åã³ãã³ããå®è¡ããã®ã¯å°ãé¢åãšæã£ãã®ã§ããäžèšã®æé ã§èªååã§ããã¿ããã§ãã
ã.vscode/settings.jsonãã«"salesforcedx-vscode-core.push-or-deploy-on-save.enabled": trueãšèšè¿°ã
â»ããã©ã«ãã¯falseã§èšèŒãããŠããŸããã
![f:id:tyoshikawa1106:20190723201320p:plain f:id:tyoshikawa1106:20190723201320p:plain]()
äžèšèšå®ãåæ åŸã«è©ŠããŠã¿ããšãããã¡ã€ã«ä¿åæã«èªåã§çµç¹ã«ã¢ãããããããšã確èªã§ããŸããã
ä¿åæã®ãšã©ãŒãã§ãã¯
ä¿åæã«ãšã©ãŒãããå Žåã¯PROBLEMSã®ã¿ãã§åå ã衚瀺ãããŸããã
![f:id:tyoshikawa1106:20190723201651p:plain f:id:tyoshikawa1106:20190723201651p:plain]()
ãã®ä»ããã£ã話
ä»åã®ãã£ã¬ã¯ããªã®æ§æã¯ãããªæãã
![f:id:tyoshikawa1106:20190723202028p:plain f:id:tyoshikawa1106:20190723202028p:plain]()
VS CodeãéãçŽãããšãã«Open Folderã§ãã©ã«ããéžæããããã«äžèšã®myappãã©ã«ããéžæãããšãããå³ã¯ãªãã¯ã§SFDXã¡ãã¥ãŒã衚瀺ãããªããªããŸãããäžèšã®å Žåã¯force-appãã©ã«ããªã©ã®äžéå±€äžã®ãã¡ã€ã«ãéžæããå¿
èŠããããŸããã
ããSFDXã¡ãã¥ãŒã衚瀺ãããªããªã£ãããããšãã«ã¯OpenFolderã§éžæãããã£ã¬ã¯ããªãèŠçŽããšè§£æ±ºãããããããªãã§ãã
VS Codeã®èšå®
minimap
VS Codeã®å³åŽã«minimapã衚瀺ãããŸããé衚瀺ã«ãããå Žåã¯ãviewãâãhide minimapãã§é衚瀺ã«ã§ããŸãã衚瀺ããå Žåã¯ãshowããéžæããŸãã
![f:id:tyoshikawa1106:20190723202422p:plain f:id:tyoshikawa1106:20190723202422p:plain]()
ãã¡ã€ã«ã®ã¯ããŒãº
Open Folderã§ãã¡ã€ã«ãEXPLOERã«è¡šç€ºã§ããŸãããé衚瀺ã«ãããå Žåã¯ãFileãâãClose Folderãã§é衚瀺(ã¯ããŒãº)ã«ã§ããŸãã
(æåãšãã£ã¿ãéãããæ¬¡éãããšãã«ã¯ãªã¢ããããšæã£ãŠããã®ã§ãæ®ãç¶ããŠå°ãå°ããŸããã)
![f:id:tyoshikawa1106:20190723202651p:plain f:id:tyoshikawa1106:20190723202651p:plain]()
Apexãã¹ãã«ã€ããŠ
Test Focus on Apex Tests Viewã§ãã¹ãã¢ãŒãã«åãæ¿ããããã¿ããã§ãããã¹ãã¢ãŒãã«åãæ¿ããŠãããšRun All Testãéžæã§ããããã«ãªããŸãã
![f:id:tyoshikawa1106:20190723203133p:plain f:id:tyoshikawa1106:20190723203133p:plain]()
å®è¡çµæã¯ãããªæãã§ç¢ºèªã§ããŸãã
![f:id:tyoshikawa1106:20190723203340p:plain f:id:tyoshikawa1106:20190723203340p:plain]()
ä»ã«ãç¥ãã¹ãæ©èœããããšæããŸããã²ãšãŸãããã§æäœéã®å©çšã¯ã§ãããã§ãã
Apexã³ãŒãã®äœæ
Createã³ãã³ãã§äœæã§ããŸãã
![f:id:tyoshikawa1106:20190723203616p:plain f:id:tyoshikawa1106:20190723203616p:plain]()
![f:id:tyoshikawa1106:20190723203635p:plain f:id:tyoshikawa1106:20190723203635p:plain]()
![f:id:tyoshikawa1106:20190723203646p:plain f:id:tyoshikawa1106:20190723203646p:plain]()
![f:id:tyoshikawa1106:20190723203659p:plain f:id:tyoshikawa1106:20190723203659p:plain]()
ãã¡ã€ã«ãã§ããåŸã¯äžåºŠä¿åã«ããèªåDeployãããDeployã³ãã³ããå®è¡ããããšã§çµç¹ã«åæ ãããŸãã
ãããã«
以äžãSalesforce Extensions for Visual Studio Codeã«ããSalesforceã®éçºç°å¢ã®æµãã§ããMavensMateãšã¯ã ãã¶æèŠãããšãªããŸãããåºæ¬çã«ã¯æ
£ãã®åé¡ã ãšæããŸãããããžã§ã¯ãã®ãã¡ã€ã«æ§æã¯ä»åŸã®Salesforceãããžã§ã¯ãã®é圢ã«ãªã£ãŠãããšæããŸãã®ã§Salesforce Extensionsã«ããéçºã§ãã£ãŠããã®ãè¯ãããã§ãã