Apex コードの記述

Apex コードの記述

Apex クラスやトリガのアウトラインを表示して、コード補完候補を確認し、コードの構文エラーを見つけます。Apex 拡張機能は Apex 言語サーバを基盤とします。

コード補完候補の表示

.cls または .trigger ファイルで作業中に Ctrl+スペースキーを押すと、コード補完候補が表示されます。候補間を移動する場合は、矢印キーを使用します。リストの候補をオートコンプリートするには、Enter キーを押します。
System.debug() ステートメントのコード補完を示すアニメーション

コードスニペットの挿入

.cls または .trigger ファイルで作業中に使用可能な Apex コードスニペットを表示するには、[Insert Snippet (スニペットの挿入)] を実行します。スニペットは、クラスやインターフェースの定義、各種のステートメントなどで使用できます。これらのコードスニペットは、コード補完候補としても使用できます。

定義の表示または定義への移動

次の定義をプレビューや表示したり、定義に移動することができます。

  • ユーザ定義の Apex
    • クラス (拡張クラスの定義に基づく)
    • コンストラクタ
    • インターフェース (拡張クラスの定義に基づく)
    • メソッド
    • プロパティ
    • 変数 (ローカル変数とクラス変数)
  • 標準オブジェクト
    • 項目 (標準項目とカスタム項目)
    • オブジェクト定義
  • カスタムオブジェクト
    • 項目
    • オブジェクト定義

(標準オブジェクトとカスタムオブジェクトの操作についての詳細は、このトピックの「sObject のコードスマートネスの有効化」セクションを参照してください。)

定義をプレビューするには、Ctrl キー (Windows、Linux) または Cmd キー (macOS) を押したまま、定義を表示する項目にカーソルを置きます。

定義を表示するには、項目を右クリックして [Peek Definition (定義をここに表示)] を選択するか、Alt+F12 キーを押します。

定義の場所に移動するには、項目を右クリックして [Go to Definition (定義へ移動)] を選択するか、F12 キーを押します。
定義のプレビューや表示と定義への移動

すべての参照の検索

次のユーザ定義の Apex への参照はすべて検索できます。

  • クラス
  • クラス変数
  • 列挙
  • インターフェース
  • メソッド
  • プロパティ

項目への参照を検索するには、項目を右クリックして [Find All References (すべての参照の検索)] を選択するか、Shift+F12 キーを押します。

コードの構文エラーのチェック

;}) を付け忘れると、エディタに赤い波線で構文エラーがマークされます。

また、下部のペインの [Problems (問題)] ビューにも構文エラーがリストされます。問題をダブルクリックして、ソースファイルに移動します。
[Problems (問題)] ビュー。Apex クラスにセミコロンを付け忘れていることが示されています。

Apex クラスまたはトリガのアウトラインの表示

Apex アウトラインビューには、エディタに開いている Apex クラスまたはトリガの構造が示されます。ファイルの記号をリストするには、Ctrl+Shift+O キー (Windows、Linux) または Cmd+Shift+O キー (macOS) を押します。記号の 1 つに移動するには、リストでその記号を選択します。
アウトラインビュー。Apex クラスの記号が表示されています。

sObject のコードスマートネスの有効化

標準およびカスタムオブジェクトとその項目 (標準オブジェクトのカスタム項目を含む) の Apex 拡張機能のコードスマートネス機能を有効にするには、Ctrl+Shift+P キー (Windows、Linux) または Cmd+Shift+P キー (macOS) を押し、コマンドパレットから [SFDX: Refresh SObject Definitions (SFDX: SObject の定義を更新)] を選択します。

sObject の定義を更新すると、VS Code がデフォルト組織を使用して偽の Apex クラスを生成します。これらの偽のクラスは、デフォルトのスクラッチ組織で管理ユーザがアクセスできる標準およびカスタムオブジェクト、または Sandbox や DE 組織のログインユーザを表します。こうしたクラスは、ローカルワークステーションの非表示のディレクトリに保存されます。偽のクラスを編集しないでください! sObject の定義を更新するたびに、偽のクラスが削除され再生成されます。sObject を変更するには、オブジェクトの .object-meta.xml.field-meta.xml ファイルを変更 (して ** [SFDX: Push Source to Default Scratch Org (SFDX: ソースをデフォルトのスクラッチ組織にプッシュ)]** または [SFDX: Deploy Source to Org (SFDX: 組織にソースをリリース)] を実行) するか、組織で宣言的に変更を実行 (して [SFDX: Pull Source from Default Scratch Org (SFDX: デフォルトのスクラッチ組織からソースをプル)] または [SFDX: Retrieve Source from Org (SFDX: 組織からソースを取得)] を実行) します。ユーザは新規カスタムオブジェクトへのアクセス権を自動的に取得しないため、必要に応じてユーザに新しい権限を割り当てるようにします。コマンドラインから権限を割り当てるには、sfdx force:user:permset:assign -n YourPermSetName を実行します。

Salesforce CLI インテグレーション拡張機能 (Salesforce Extension Pack に付属) を初めて起動するときに、プロジェクトに偽のクラスが 1 つもない場合は、バックグラウンドで [SFDX: Refresh SObject Definitions (SFDX: SObject の定義を更新)] が実行されます。

標準またはカスタムオブジェクトやその項目を追加あるいは編集したら、必ず [SFDX: Refresh SObject Definitions (SFDX: SObject の定義を更新)] を再度実行します。

Feedback or Bugs | Edit this Article