18
25

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

Visual Studio CodeでAPEX開発

Last updated at Posted at 2018-03-09

今までSalesforceのAPEX開発はSublime Text + MavensMateを使ってきましたが、MavensMateのサポートが切れていしまったので、いつまでも使っているわけにはいきません。
そこで新しくVisual Studio Codeを使ってくださいとのことですので、使い側をまとめていきます。

#MavensMateサポート終了
http://mavensmate.com/

I’m sure some are wondering, "why now?". The past year has been one of the most challenging of my life: from becoming a first-time father to losing my best friend to cancer much, much too early. I simply have not had the time to properly devote to this project. And with the recent beta release of Salesforce’s official Visual Studio Code Extension, the Salesforce developer community is in great hands.

(Google翻訳)

私はいくつかは "なぜ今?"と思っていると確信しています。去年は私の人生の中で最も挑戦していたことの1つです。初めての父親になって親友を癌に捨てることから、ずっと早くになりました。私はこのプロジェクトに専念する時間がなかっただけです。そして、Salesforceの公式のVisual Studio Code Extensionのベータ版がリリースされて以来、Salesforceの開発者コミュニティは大きな役割を果たしています。

忙しくなったんですね、この機能を今まで無料で提供してきたことにとても感謝です。

Visual Studio Codeとは

以下VSCodeと呼びます。
Microsoftが開発したMac, Windows, Linux の軽量/高速な高機能開発エディターらしいです。ダウンロードは以下で可能です。
https://code.visualstudio.com/download

前準備

Salesforceで開発するために拡張機能を入れます。
左側のタブの一番下を選択して、テキストボックスに「forcecode」と入力してください。
ForceCodeが表示されると思うので、インストールしてください。
image.png
拡張機能を確認すると、Apexなど必要な拡張機能も追加でインストールしてくれます。
image.png

メタデータの取得

メタデータを取得するためにフォルダを作っておきます。
image.png
VSCodeでそのフォルダを開いて、表示>コマンドパレット(Ctrl + Shift + PでもOK)を選択します。
image.png
forceと入力するといくつか候補が出てくると思いますので、「Force: Refresh from server」を選択します。
image.png
Salesforceのログイン情報が聞かれますので、入力します。
ユーザー名
image.png
パスワード
image.png
開発環境
image.png
保存したときに自動でデプロイするか(Yesの場合自動でデプロイします)
image.png
これで「force.json」が作成されるはずです。force.jsonにはログイン情報などが保存されます。
image.png
もう一度コマンドパレットから「Force: Refresh from server」を選択して、「Get All Files from org」を選択します。
image.png
メタデータを取得することができました。
image.png

Enter Credentialsと出て取得できない場合

以下のように「Force: Refresh from server」を選択してもメタデータが落ちてこないで「Enter Credencials」が促される場合があります。
image.png
Salesforceのログを確認すると、セキュリティトークンを発行していなかったためでしたので、その場合はセキュリティトークンを発行してください。
image.png
あまりよくはないですが、ログインIPアドレスの制限をなくすことでも対応可能です。
(設定>ユーザ>今回のログインユーザ>プロファイルからログインIPアドレスの制限で指定可能)
image.png

#機能一覧(随時更新予定)
コマンドパレットから「ForceCode Menu」を選択します。
image.png
下の方にある「Limits: 〇/〇」を選択しても表示されます。
image.png

クラスの作成

「Create Class」を選択します。
image.png

いくつか種類があります。
image.png

###Custom
入力したクラス名そのままでファイルが作成されます。
image.png
###その他
入力したクラス名の後ろに選択した値が付きます。
例えばクラス名「Controller」で入力したら「ControllerController.cls」が作成されます。
image.png

##単体テスト
「Run Unit Tests」を選択します。
image.png

開いているAPEXでテストメソッドが存在する場合、テストを実行します。
テストが完了すると、結果が出力に表示されます。
image.png
MavensMateみたいに複数のテストクラスを回すことはできない?

##匿名(anonymous)実行
「Execute Anonymous」を選択します。
image.png
開いているAPEXで匿名実行をします。

Integer int1 = 0;

void myProcedure1() {
    system.debug('int1 : ' + int1);
    myProcedure2();
}

void myProcedure2() {
    int1++;
    system.debug('int1 : ' + int1);
}

myProcedure1();

image.png

##SOQL実行
「SOQL Query」を選択します。
image.png
SOQLを入力します。
image.png
結果がJSON形式で表示されます。
image.png

参考

18
25
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
18
25

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?