はじめに
さて、Summer'13へのバージョンアップを間近になっておりますが、皆さん楽しみな機能はありますか?
先日ここのブログで紹介されたChatterコミュニティはもちろんですが、個人的には変更セットに承認プロセスが入れられるようになるとか、数式内でOwnerIdが辿れるようになるとか、Sandbox更新のコピーでカスタム設定が入るようになるとか、いろいろと楽しみな機能があります。 そして、今日のテーマとしている開発者コンソールもSummer'13でUIが一新され、パフォーマンスの改善が期待されています。
これまで私はForce.com IDE(Eclipse)を使って開発していましたが、開発者コンソールならではの機能もあり、使いこなせれば開発生産性の向上も期待できます。 そこで今回は開発者コンソールをテーマにして、いくつかの機能を紹介してみたいと思います。
コード開発
・コード補完
ソースコードエディタでApexコードまたはVisualforceのオートコンプリートが使用できます。Apexコードのオートコンプリートはシステムオブジェクトとメソッド、ユーザ定義のオブジェクトとメソッド、sObjectおよびFieldが使えます。
Apexコードの場合はCtrl+Spaceキーをクリックすると、補完候補のリストがポップアップで表示されます。
これにより開発者はより素早くコードを入力することが出来ますし、単純なタイプミスなどを減らすことができます。
apex
Visualforce
・メソッドおよび変数宣言への移動
これはその名前の通り、メソッドや変数の宣言箇所へカーソルを移動できる機能です。 調べたい変数をカーソルで選択し、Ctrl+Alt+n(またはGoToボタン)により移動します。 宣言した箇所が編集中のファイルとは異なる場合、別タブで宣言箇所のファイルが開きます。 ただ、使ってみたところ開発者コンソール上でクラスを一度保存する必要があるようです。
・ソースコード変更の検証
ソースコードビューで変更しているコードは、バックグラウンドで検証が行われます。 ソースを編集中、コンパイルのエラーがある場合はエラーマークが表示され、problemsタブにてメッセージが表示されるので、自分が作成しているコードにコンパイルのエラーがあるかすぐに判断できるでしょう。
・コードの同期
多人数で開発しているようなプロジェクトの場合、タイミングによっては同じクラスを触るようなこともあるかもしれません。開発者コンソールでは自分がソースコードビューを開いた後に、誰かが同じリソースを修正した場合、コードの編集前であれば適宜反映されます。 つまり、新たに開き直したりすることなく、別のユーザが修正した内容が自分のソースコードビューに反映されるのです。 もし、自分が既に編集を行っていた場合はアラートが表示され、最新の状態にするか確認されます。ただし、最新の状態にすると自分が編集中のコードは上書きされてしまうので、その場合は自分が変更を行っていたコードなどは必要に応じて別途保存しておきましょう。
テスト
・テスト実行
テストはTestメニューから実行することができます。Web UIからと同様非同期で実行されるので、複数テストを選んだり、runAllTestを実行した場合に早く実行できることでしょう。
・コードカバー率のチェック
もちろんApexクラスのテストコードカバー率を知ることも出来ます。 個人的にカバーの状態を見るのはForce.com IDE(Eclipse)よりもWebUIのように、カバーしているところは青、カバーしていないところは赤、といったように見えるのが好きなのですが、開発者コンソールでもWebUIに近いイメージで見ることが出来て、視覚的に分かりやすくなっています。 また、このクラスがどのテストメソッドからの実行で、カバー率が何パーセントになっているかも分かります。
クエリエディタ
・SOQLクエリの実行と結果
クエリエディタではSOQLを実行して結果を確認できます。オブジェクトの中身の確認や、SOQL文の検証などが簡単に実行できます。 当然ですがクエリが失敗すればエラーメッセージが表示されます。
・結果の操作
クエリ結果ビューにデータの状態が表示されるので、それらに対してインラインで編集を行ったり、新規挿入・削除の実行ができます。 これにより、わざわざ通常画面やデータローダーを使ってデータを変更するという手間を省くことができます。
また、画面右下にあるAccess in salesforceのボタンからは、そのオブジェクトに対しての新規登録画面、編集画面、参照画面を表示することも出来るので、画面レイアウトからの方が入力し易いと感じた場合には、すぐに画面を表示することも可能です。
最後に
開発者コンソールにはこれらの機能以外にも、コード上にCheckpointを設けてヒープダンプを取得したり、システムログを参照してDMLやSOQL、各メソッドでのパフォーマンスを検証することも出来るので、ぜひこれらの機能を使いこなして開発を行ってみてください。