【Salesforce開発初心者必見!】VSCodeでの開発準備トラブルTOP5

  • URLをコピーしました!

Trailheadでの学習を終えて、いよいよSalesforceの開発に挑戦!
そう意気込んでVSCodeを立ち上げたはいいものの、想像以上に最初の設定でつまずくことが多く、「何が原因か分からない…」と不安になったことはありませんか?

「保存したのに反映されない」「クラスがどこにあるのか分からない」「テストしたのに色が変わらない」・・・
私自身、開発準備の段階でたくさんの壁にぶつかりました。

今回は、そんな“開発準備あるある”を5つに絞ってご紹介します!

目次

はじめに

Salesforce開発を始めたばかりで、VSCodeを使ってみたものの
「プロジェクトが作れない」「組織に接続できない」「何を開けばいいのか分からない」など、環境構築の時点でつまずいてしまった方も多いのではないでしょうか?

私もまさにその1人でした。Trailheadで勉強していざ実際の業務開始!と思ったら、最初の1時間はVSCodeと格闘・・・泣
何度も「私だけ?」と検索しながら試行錯誤を繰り返しました。社内の先輩にフォローいただき、なんとか開発業務を開始する準備を整えることができました。

本記事では、私が実際に遭遇した開発準備トラブルTOP5と、そのときに学んだ乗り越え方を共有します。
これからSalesforce開発に挑戦する方が、同じ壁にぶつかったときのヒントになれば嬉しいです!

開発準備トラブルTOP5

開発準備トラブル①:接続できない!組織選択ミスに注意

VSCodeからSalesforceの組織に接続しようとしたとき、「SFDX: 組織を認証(Authorize an Org)」の選択肢に「標準」「カスタム」「Sandbox」と表示され、どれを選べばいいのか迷った経験はありませんか?

私は最初、「どれでも接続できるのかな?」と深く考えずに選んだ結果、接続に失敗したり、想定外の組織にアクセスしてしまったりといったトラブルが発生しました。

そもそも「標準/カスタム/Sandbox」の違いとは?

※例えばTrailhead Playgroundは「標準(login.salesforce.com)」に該当します。

私は最初、Trailhead学習の癖で何も考えずに「標準」を選んでしまい、ログイン後もVSCodeに認識されず何度も再認証を繰り返していました。

対処法・選び方のコツ

・基本は「標準」でOK
 → Trailhead PlaygroundやDeveloper Editionの場合は「標準」を選択。

・テスト環境の場合は「Sandbox」
 → 組織のURLが test.salesforce.com なら「Sandbox」を選択。

・My Domainを使っている場合は「カスタム」
 → 会社のSalesforce環境など、URLに組織名が含まれる場合は「カスタム」を選択。

開発準備トラブル②:組織からソースを取得できない

Salesforceの既存クラスや設定をローカルに取り込もうと、VSCodeで「SFDX: 組織からソースを取得(Retrieve Source from Org)」を実行したのに、「何も取得されない」「フォルダが空のまま」という状況に直面しました。

私がここで見落としていたのは、「マニフェストファイル(package.xml)」の選択です。

そもそもマニフェストファイルって何?

Salesforceでは、どのメタデータを取得・デプロイするかを定義するファイルが必要で、それが package.xml です。
このファイルを使って、「どの種類のメタデータを、どの範囲で取得するか」を指定します。

・最初、マニフェストファイルを作成していなかったため、取得操作をしても対象が空=取得できるものが無いと見なされていました。

・また、「SFDX: 組織からソースを取得(Retrieve Source from Org)」実行時にマニフェストファイルを選ぶ必要があることにも気づかず、選択をスキップしていました。

対処法

1.まずはマニフェストファイル(package.xml)を作成する。
 → VSCodeのコマンドパレットで「SFDX: マニフェストファイルを使用してプロジェクトを作成(SFDX: Create Project with Manifest)」を実行すると、
   自動で manifest フォルダ+ package.xml が生成されます。
2.package.xml に欲しいメタデータタイプを記述する。
 → 例:Apexクラス、カスタムオブジェクトなど
3.「SFDX: マニフェストファイルのソースを組織から取得(SFDX: Retrieve Source in Manifest from Org)」を実行する。
 → package.xml を右クリック
 →  「SFDX: マニフェストファイルのソースを組織から取得(SFDX: Retrieve Source in Manifest from Org)」を
   選択します。

「SFDX:マニフェストファイルを使用してプロジェクトを作成(SFDX: Create Project with Manifest)」のテンプレート比較

・「Standard」を選べば、多くの一般的な開発ケースに対応できます。
・軽量・自分で構成したい場合は「Empty」を選択してください。
・CRM Analytics(旧Tableau CRM)を使うなら「Analytics」が最適です。

開発準備トラブル③:どのファイルを開けばいいか迷子に

Apexクラス、Lightningコンポーネント、オブジェクト・・・ファイルがたくさんある中で「どれを開いて編集すればいいの?」と迷ってしまうこともありました。

Salesforceのファイルは、種類ごとに細かくフォルダで分けられており、さらにそれぞれが複数ファイルで構成されているため、ファイル名と内容の対応が直感的に分かりにくいので迷いました。

対処法

1.ファイル検索(Ctrl+P)を活用する。
 → 名前が分かっていれば、Ctrl+P で一発検索するのが最も効率的です。

2.フォルダ構造を覚える。
 ・classes/ → Apexクラス(クラス名に「Test」と記載がある場合は、Apexのテストクラス)
 ・objects/ → カスタムオブジェクト
 ・layouts/ → ページレイアウト
 ・lwc/ → Lightning Web Components

3.拡張子で見分ける。
 ・.cls → Apexクラス(クラス名に「Test」と記載がある場合は、Apexのテストクラス)
 ・.xml だけ → 設定ファイルや定義ファイル

開発準備トラブル④:デプロイしても反映されない理由

クラスやページを修正して「保存」しても、組織側に反映されていないことがありました。
実は、「保存≠反映(デプロイ)」なんです!

「保存=反映(デプロイ)」ではない!

VSCode上での「保存(Ctrl+S)」は、あくまでローカルファイルの保存です。
Salesforceの組織に反映させるには、明示的に「Deploy(デプロイ)」操作を行う必要があります。

対処法

SFDXプロジェクトでは、明示的に組織にソースをデプロイする必要があります。

1.ファイルを右クリック→「SFDX: Deploy Source to Org (SFDX: 組織にソースをデプロイ)」

開発準備トラブル⑤:カバレッジ表示されない…設定ミスに注意

ApexクラスのテストをVSCodeから実行したときに、「テスト結果は出たけど、コードの行が赤や緑に色分けされない・・・」という現象に直面しました。

最初は「テストが失敗したのかな?」と思いましたが、よくよく調べてみるとカバレッジの表示設定がされていなかったことが原因でした。

具体的な症状

・クラスのコードを開いても、テスト後に緑(実行された行)や赤(実行されなかった行)が表示されない。

・テスト実行は成功しているのに「視覚的なフィードバックがなくて分かりづらい」。

原因と対処法

実は、Salesforce拡張機能側の設定で「Apexカバレッジを表示する」機能がOFFになっていたことが原因でした。
以下の設定を確認しましょう。

  1. VSCode 左下の歯車(⚙)→「設定(Settings)」を開く。
  2. 検索ボックスにsalesforcedx-vscode-core.retrieve-test-code-coverageを入力する。
  3. チェックボックスにチェックを入れて true にする。

この設定をONにして、もう一度テストを実行すると、コードの行に赤・緑の色がついて表示されるようになりました!

テスト対象のクラスを事前に開いておかないと、色がつかないこともあるので注意!

まとめ

VSCodeとSalesforce開発の組み合わせは、最初はとっつきにくい部分もありますが、慣れてくると非常に強力なツールになるそうです。
今回ご紹介したトラブルは、私が実務で実際にVScodeを設定するぞ!となった際に「本当に困った」ものばかり。
これから挑戦する方が、少しでもスムーズに進められるようになれば嬉しいです!

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!
目次