Visual Studio CodeでApex開発環境構築&eclipseとの比較
はじめまして、きゃらめるです。
Salesforce関連で勉強したことを残しておくため、ブログを始めてみました(*'ω`*)
今日のお勉強はApex開発環境の構築です。
弊社では、Apex開発環境として今でもeclipse×Force.com IDEを使っています。
しかし・・・重たいし、共同編集失敗してデグレするし、SandBox直すのに本番からリフレッシュしなきゃいけないし・・・
(※エディタだけの問題じゃないかもしれないんですが・・・笑)
と、結構ツライツライ(ヽ'ω`)な気持ちになっていました。
そんな中、昨日参加したSalesforce - セールスフォース・ドットコム - Salesforce World Tour 2018で、
Visual Studio Code(VS Code)を使った開発環境がトレンドだと知り、試してみようと思った次第です。
今回は、
① VS CodeでSalesforceを連携させる
② ソースコードをGit管理する
③ 現環境(eclipse)と比較する
の3つについてお話します。
VS CodeでSalesforceを連携させる
参考文献の通り、
の手順でおこなっていきます!
手順通りにいけば先に進めるので、細かな様子は割愛しますね。
ちなみに、Salesforce CLIをインストールする前からVS Codeを開きっぱなしにしていると、
リロードしても「CLIがないよ~~~」というエラーがでてしまいました。
一度VS Codeを落として、再度立ち上げたら普通に直りました。
今回は弊社のSandBox環境に接続しています。
SandBox環境なので、
なお、Sandboxの場合はsfdx-project.jsonファイルのsfdcLoginUrlをhttps://test.salesforce.comに書き換えてください。
こちらを適応しています。
あとはサーバーからソースコード群を落としてくるのですが、
manifest/package.xml を右クリックして、「Retrieve Source from Org」をするようにしてください。
それ以外のところを右クリックして「Retrieve Source from Org」をしても何も起きません。
これでVS CodeとSalesforceとの連携は完了しました!
ソースコードをGit管理する
手順は3段階。
- 最初のコミット
- TERMINALに切り替えてリモート先を設定
- 最初のgit push
最初のコミット
この赤丸で囲んだアイコンをクリックすると、最初は「CHANGES」に大量にファイルが表示されます。
右上の「・・・」から、「Stage All Changes」を行い、Messageにコミットメッセージを書き込み、
Ctrl+Enterでコミットできました^^
TERMINALに切り替えてリモート先を設定
ターミナルはこちらから開くことができます。
VS Code上で完結してくれるのがありがたいです!
(eclipseの時は、最初のリモート設定&pushのために、別途gitクライアントを使ってました。)
> git remote add origin https://bitbucket.org/xxx/test_salesforce_repo
※今回、リモート先としてはbitbucketを使いました!
最初のgit push
> git push -u origin master To https://bitbucket.org/xxx/test_salesforce_repo ! [rejected] master -> master (fetch first) error: failed to push some refs to 'https://bitbucket.org/xxx/test_salesforce_repo' hint: Updates were rejected because the remote contains work that you do hint: not have locally. This is usually caused by another repository pushing hint: to the same ref. You may want to first integrate the remote changes hint: (e.g., 'git pull ...') before pushing again. hint: See the 'Note about fast-forwards' in 'git push --help' for details. > git push -u origin master --force
リポジトリを作る時に、READMEファイルを作ったのですが、そのせいか差分が出てしまい、
masterにプッシュできなくなってしまいました。
テスト用に作ったリポジトリだったのでforceプッシュで乗り切ってます・・・笑
複数人で開発する場合はブランチを切るなりしましょう(;∀;)笑
ということで、Git管理の設定もこれにて完了です!
現環境(eclipse)と比較する
まず一番に感じたのは、デプロイが早い・・・!
下手したら1分くらいかかっていたデプロイが、数秒で終わりました・・・。
これだけで載せ替える価値ありです笑
また、今までSandBoxにデプロイをする時は、本番環境からソースコードを取得しないといけなかったんです。
もしかしたらeclipseでもいいやり方があったのかも・・・と思うのですが、このやり方しか知りませんでした。
正直、SandBoxを更新するのに、本番の接続情報をローカルに持っておくのはあんまりいけてないなーと思っていました。
でも、VS CodeだとSandBoxからソースコードを取得して、SandBoxにデプロイできるので、無駄に本番環境と連携させる必要がない!
あと、変更の差分を見やすく表示してくれるところもありがたいですね・・・。
eclipseでもGit管理用のパッケージを入れていたのですが、実際のソースコードの差分は見れませんでした。
なのでいつも、リモートに上げて、プルリクを作ったタイミングで差分を確認・・・。
今考えるとめっちゃ非効率だな・・・!
まとめ
Salesforceエンジニアとしての第一歩ということで、まずは開発環境を変えるところから始めてみました。
VS Code自体も高機能なエディタなので、プラグインを入れたり、デザインを変更することで、
より使いやすい環境が作れそうでワクワクします。
よいプラグインとかあればまた記事書こ~~~!