きゃらめるの備忘録

Salesforceに関してお勉強したことをまとめるブログ。目指せ週1更新~~~!

Visual Studio CodeでApex開発環境構築&eclipseとの比較

はじめまして、きゃらめるです。

Salesforce関連で勉強したことを残しておくため、ブログを始めてみました(*'ω`*)
今日のお勉強はApex開発環境の構築です。

弊社では、Apex開発環境として今でもeclipse×Force.com IDEを使っています。
しかし・・・重たいし、共同編集失敗してデグレするし、SandBox直すのに本番からリフレッシュしなきゃいけないし・・・
(※エディタだけの問題じゃないかもしれないんですが・・・笑)
と、結構ツライツライ(ヽ'ω`)な気持ちになっていました。

そんな中、昨日参加したSalesforce - セールスフォース・ドットコム - Salesforce World Tour 2018で、
Visual Studio CodeVS Code)を使った開発環境がトレンドだと知り、試してみようと思った次第です。
今回は、
VS CodeSalesforceを連携させる
ソースコードをGit管理する
③ 現環境(eclipse)と比較する
の3つについてお話します。

参考文献

参考にさせていただいたのは以下の記事です!

VS CodeSalesforceを連携させる部分

qiita.com

VS CodeSalesforceを連携させる

参考文献の通り、

  1. VS Code本体をインストール
  2. Salesforce CLIをインストール
  3. VS Code拡張機能のインストール
  4. ローカルにプロジェクトを作成する
  5. 組織に接続
  6. メタデータの取得とデプロイ

の手順でおこなっていきます!

手順通りにいけば先に進めるので、細かな様子は割愛しますね。

f:id:calamel_nuts:20181206200125p:plain
拡張機能のインストール完了
ちなみに、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 CodeSalesforceとの連携は完了しました!

ソースコードをGit管理する

手順は3段階。

  1. 最初のコミット
  2. TERMINALに切り替えてリモート先を設定
  3. 最初のgit push

最初のコミット

f:id:calamel_nuts:20181206215401p:plain
この赤丸で囲んだアイコンをクリックすると、最初は「CHANGES」に大量にファイルが表示されます。
右上の「・・・」から、「Stage All Changes」を行い、Messageにコミットメッセージを書き込み、
Ctrl+Enterでコミットできました^^

TERMINALに切り替えてリモート先を設定

f:id:calamel_nuts:20181206215713p:plain
ターミナルはこちらから開くことができます。
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自体も高機能なエディタなので、プラグインを入れたり、デザインを変更することで、
より使いやすい環境が作れそうでワクワクします。
よいプラグインとかあればまた記事書こ~~~!