Visual Studio Code で始める Force.com 開発

はじめに

みなさんこんにちは。エンジニアの高橋です。

4月に入り新入社員の方は実務に向けた研修が始まった頃かと思います。
その中で、Force.com 開発をやっているがプログラムを書いた経験が数日しかないという人が多いのではないでしょうか?
というかいるはず。

偶然にも(?)条件に当てはまった読者を Force.com 開発に引き込むべく、 本記事では Visual Studio Code で始める Force.com 開発 (in 2017) についてお話します。

Visual Studio Code とは?

そもそも Visual Studio Code って何でしょう?
wikipedia で確認してみます。すると

Visual Studio Code はオープンソースのソースコードエディタである。マイクロソフトにより開発され、Windows, Linux, macOS 上で動作する。

と書いてあります。ここで Microsoft 社が開発したエディタということが分かります。
なので、開発元である Microsoft 社の Visual Studio Code のwebサイトを確認してみます。

モダンな Web アプリケーションから、高機能なクラウドアプリケーションまで、多彩なアプリケーションのビルド、デバッグ定義を見直し、コードを編集するための最適な環境を提供します。

つまり、コードエディタなんだけど、マルチプラットフォームで動作し、多彩なアプリケーションのビルド・デバッグもできてしまう・・・
話を聞くとなんか凄そうです。というか、Microsoft 社が開発しているので、凄いのは間違いない。

余談ですが、筆者がこのエディタの存在を知ったのは昨年末で、牛めし大好きなあの Microsoft社のエバンジェリストさんから知りました。わーい。

開発環境を構築する

ここからは、開発環境を構築していきます。手順は下記になります。

  1. Visual Studio Code をインストールする
  2. 拡張機能「ForceCode」をインストールする

以上です。
え~、過去の開発環境構築の記事は結構手間かかっていたのに、これだけで大丈夫なんですか?という声が聞こえてきそうですが、
大丈夫だ。問題ない。

参考 : 過去の開発環境構築の記事

1. Visual Studio Code をインストールする

まずはインストーラーを取得します。
インストーラーを Visual Studio Code のダウンロードサイトから使用している環境に合わせてダウンロードして下さい。
執筆当時(2017.4.7)ではバージョンは 1.11.1 です。

ダウンロードしたら、インストーラーを起動しインストールを進めていきます。
※. インストールの手順はこの記事では割愛します。インストーラーのガイドに沿って進めていけば問題ないと思います。

また、Visual Studio Code の基本的な使い方に関しては、ITmedia 社の記事で特集が組まれていますので参考にしてみて下さい。
特集:Visual Studio Code早分かりガイド:Visual Studio Codeの使い方、基本の「キ」 (1/6)

2. 拡張機能「ForceCode」をインストールする

ここからは Force.com 開発をできるようにするための作業になります。
本記事では、windows 10上で実行しています。

まず、インストールした Visual Studio Code を始めて起動すると下記の画面が表示されます。
始めからメニュー表示がローカライズされていることに個人的に感動しています。
表示されている画面の左側にあるオレンジ色で囲った「拡張機能」ボタンをクリックします。

VSCode_01_envbuild01.png

押下すると、左サイドに拡張機能のウインドウが表示されます。
ここから、オレンジ色で囲った検索ワードの入力フィールドに「@sort:installs」とあるので「force」に変更します。
VSCode_02_envbuild02.png

変更すると、force のワードに該当する拡張機能の一覧が表示されます。
今回インストールする拡張機能「ForceCode」が見つかりますので、オレンジ色で囲った枠中の「インストール」ボタンをクリックします。
VSCode_05_envbuild03.png「インストール」ボタンをクリックすると、確認のダイアログが表示されます。
「はい」を選択します。
VSCode_07_envbuild04.png

選択するとインストールが始まります。 1分もかかりませんでした。
インストールが完了すると「再度読み込む」という青いボタンに変わっていますのでボタンをクリックします。
その後にアクティブ化の確認ダイアログが出ますので「ウインドウの再読み込み」ボタンを選択します。
VSCode_09_envbuild05.png

ウインドウの再読み込みが終わると、最初にVisual Studio Code を起動した時と代わり映えしませんが、
画面左下のオレンジで囲った部分「ForceCode 0.5.13 is Active」と表示されれば、拡張機能「ForceCode」のインストールは成功です。
※. 執筆当時(2017.04.07)のバージョンは 0.5.13 です
VSCode_11_envbuild07.pngここで、再び「拡張機能」ボタンをクリックしてみましょう。
すると、「ForceCode」 の他にも別の拡張機能がインストールされていることが分かります。
先の確認ダイアログで表示された「依存関係」によるものです。
「Apex」は Apexコード、「Visualforce」は Visualforce のコードに対し、シンタックスハイライトを有効にして開発者に見やすくしてくれる機能です。
(※. 昨年末の段階では合わせてインストールされることはありませんでした。)
VSCode_12_envbuild08.png

以上で、開発環境の構築は終了です。

どうでしょうか?
過去の2つの記事による環境構築と比較すると、かなり手軽に感じられるのではないでしょうか?

実際に使用してみる

開発環境の構築ができましたので、実際に使用していきます。

今回は、構築した Salesforce developer 環境上に trailhead の 開発者初級 > Visualforce の基礎 > カスタムコントローラの作成および使用 のテキストで作成される Apexクラスと Visualforce ページが登録されているという何とも都合の良い状態から、

  1. salesforce から自身のPCにファイルをダウンロードする 
  2. Visualforce ページを編集・保存し、デプロイする 

のシナリオで進んでいきます。

1. salesforce から自身のPCにファイルをダウンロードする

始めに、ファイルのダウンロード先となるフォルダを開きます。
オレンジ色で囲った「エクスプローラ」ボタンをクリックします。
VSCode_20_build01.png

クリックすると表示内容が変わります。
「フォルダーを開く」ボタンをクリックします。
クリックするとフォルダ選択ダイアログが表示されますのでフォルダを選択します。
VSCode_21_build02.png

フォルダを選択すると、選択したフォルダの下にあるファイルが展開されます。
例ではフォルダの下にファイルがないので、何も展開されません。
VSCode_23_build03.png

次に、「コマンドパレット」を起動します。
コマンドパレットとは、Visual Studio Codeの機能をキーワード指定で実行するためのキャラクターユーザインターフェースです。
※. コマンドパレットについての詳しい説明は 本記事では割愛します。

メニューバーから「表示 > コマンドパレット」の順で選択します。

VSCode_24_build04.png

選択すると、小さいウインドウがエディタ上に表示されます。(上の絵)
表示された小さいウインドウのテキスト入力フィールドに「force」と入力すると検索結果が絞り込まれるので、オレンジ色の枠で囲まれた選択肢を選択します。(下の絵)
VSCode_24_build05.pngVSCode_25_build06.png

選択すると、salesforceの認証を行っていないため、ログイン情報の入力を求められます。(認証済みの場合はスキップします。)

まずは、ユーザ名。
VSCode_26_build07.png

次に、パスワード(とセキュリティトークン)。
VSCode_27_build08.png

その次が、環境。
本シナリオでは 「Production / Developer」を選択します。
VSCode_28_build09.png

最後に、コードの保存時にデプロイもするかどうか。
本シナリオでは「No」を選択します。
VSCode_29_build10.png

入力が終え認証が通ると、ダウンロードできる クラス、ページ、トリガーの一覧が表示されます。
ここではApexクラス「ContactsListController.cls」を選択します。
VSCode_31_build11.png

選択すると、エディタ上に 選択した Apexクラスファイルが表示されます。
同時に、左側のエクスプローラに選択した Apexクラスファイルが追加されていることが分かります。

VSCode_32_build12.png

同様の手順で Visualforce ぺ―ジ「ContactsList.page」を選択します。すると下のようになります。
VSCode_33_build13.png

また、認証時に入れた情報は force.json というファイルに保存されます。
ユーザが直接ファイルを変更することが可能です。
各設定項目についてはリファレンスを参照して下さい。

VSCode_34_build14.png

余談ですが、ファイル選択のところで、複数選択できないか試してみましたが執筆時点では選択することはできませんでした。
面倒くさいな~と思いつつも、将来できるようになることを期待したいと思います。

2. Visualforce ページを編集・保存し、デプロイする

ここからは 先ほど取得した Visualforceページを編集・保存・デプロイしてきます。

以下が Visualforceページを取得した後、Apexクラス側のウインドウを閉じた状態です。
VSCode_41_deploy01.png

ここから、Visualforceページの内容を編集し、
VSCode_42_deploy02.png

ファイルを保存した状態が下の絵になります。

VSCode_43_deploy03.png

ここで、ちょっと寄り道して salesforce上のファイルを確認します。
ForceCode の設定でコードの保存時にデプロイしないように設定にしました。

なので、この段階では 変更は反映されていません。

VSCode_43_deploy04.png

デプロイしていきます。
左のサイドバーから編集した Visualforceページ名の上で右クリックしコンテキストメニューを表示します。
その中のオレンジ色で囲った枠「Force: Save/Deploy/Compile」を選択します。
VSCode_44_deploy05.png

選択すると、デプロイが開始されます。

少し待つとステータスバーの表記が変わります。
下のオレンジ色で囲った中のチェックマークが表示されたらデプロイ成功になります。
VSCode_45_deploy06.png

salesforce上の内容を確認すると、下のように変更内容が反映されていることが確認できます。
VSCode_45_deploy07.png

他の Force.com 開発の拡張機能を入れてみる

「ForceCode」以外で Force.com 開発を助けてくれる拡張機能「vsforce」を紹介します。
個人的に、この拡張機能で強力と思ったのが Auto-complete 機能があることです。
(他にもできることがありますが、詳細はリファレンスを参照してください)

ではインストールしていきます。
「拡張機能」ボタンをクリックして左にサイドバーを表示させた後、検索ワードのフィールドに「vsforce」と入力します。
下の絵にある拡張機能が表示されたら、後は「ForceCode」と同様にインストールしていきます。
VSCode_52_other01.png

インストールしてアクティブ化が完了すると、Visualforceページでは 「<」とタイプしただけで Apex タグの候補がずらっと表示してくれます。
VSCode_55_other02.png

Visual Studio Code は、拡張機能を豊富にそろえています。
Apex だけでなく、html, javascript, css などの拡張機能を入れて開発効率をさらに up させましょう。
どのような拡張機能があるかは webサイト Visual Studio の Marketplace から確認できます。

まとめ

これからプログラムをガリガリと書くことになる人、そしてそれが Force.com 開発である人をターゲットに開発環境構築の段階で挫折しないよう書いたつもりですが、いかがでしたでしょうか?

Visual Studio Code はテキストエディタ以上、IDE未満のエディタという表現をされる方がいますが、
Force.com 開発の環境構築も同じような「force.com IDE による方法と Sublime Text による方法の中間に位置している」というイメージを持ちました。

本記事が Force.com 開発の手助けとなれば幸いです。
それでは良い Force.com 開発生活を~♪

追伸: 1年後には構築手順が変わっていそうなので、来年の3月末あたりに誰かリメイクをお願いします。