Salesforce開発用のVisual Studioカスタマイズ-はじめに

免責事項:このトピックには、ヘッダーに示されているものの実装は含まれておらず、技術的な詳細も含まれていません。 これは、私が解決しようとしている問題と、これをどのように実装するかについての短い計画をリストしたものです。 トピックの斬新さと私にとってはかなりの複雑さを考えると、この記事が最初で最後ではないことを保証することはできません。 しかし、正直に言って、この取り組みを終わりにしたいと思います。 この記事は、追加の動機付けにもなります。



エントリーの紹介



数週間前に、C#開発者からSalesforce開発者に再学習しなければならなかったことがたまたまありました。 そして、それがシンプルでエキサイティングであることが判明したと言っても構わないでしょう(ただし、これは大部分は真実です)が、1つの事実が定期的に私の気分を損ない続け、お気に入りの。 過去5年間、私はVisualStudioと独占的に仕事をしてきました。WinFormsアプリケーション、SIlverlight、純粋なC#バックエンド、趣味としてのTypeScriptの開発です。 そして、私はこのツールを常に私と一緒にいるものとして、開発を快適にするものとして、そして残りのIDEはほぼ同じレベルの開発にあると愚かに考えていました(私はFlex IDEの経験を忘れないように頑張りましたEclipseベース)。



次に、bam ... Force.com IDE -Sublime TextのSalesforceまたはMavensmateプラグインを操作するためのEclipseベースのIDE。



簡単な教育プログラム


Salesforceの開発は、Javaに基づくApexコードと、カスタム「アプリケーション」Webパーツを構築するためのフレームワークであるVisualForceの 2つの主要な言語/テクノロジーを使用して実行されます。

Salesforceプラットフォーム全体を使用することの特徴は、脳の曇り(非難ではなく、単なる事実)です。つまり、Apexコードのコンパイルはクラウドで実行され(ローカルで実行することは不可能です)、いわゆるブラウザを使用して開発を直接実行できます。 開発者コンソール。IDEにわずかに似ています。



さて、OK、クール、Java用のIDEを使用して作業してください。 それは不可能です。なぜなら、言語は本当に異なっており、上記のOGMは私たちそれぞれをクラウドに保存し、そこでクラウドをコンパイルすることを義務付けているからです。



なんで?



それは理にかなった質問です-実際、普通の人として新しいIDEに再学習しないのはなぜですか? ここで、私にとっては、すべてが非常に簡単です:





最後の点はもう少し詳しく検討する価値があります-数週間しか興味を示さなくなったので、私が蓄積したリストは小さいですが、私にとっては十分です:



議論のトピックとして、知ることは興味深いでしょう-そして、IDEのこれらの機能についてどう思いますか?



そして、これをどのように解決しますか?



タイトルと背景から共通のベクトルが描画されます-Visual Studioの拡張機能で、Salesforceコードを完全に操作できます。 概念を基本的なブロックに分解する場合-私はこれを(その順序で)選び出します:

  1. Apex構文の強調表示
  2. VisualForce構文の強調表示
  3. Salesforceの「プロジェクト」のサポート(保存とコンパイルの概念の分離を含む)
  4. IntelliSenseの実装
  5. 構文エラーを表示する
  6. 単体テストとSalesforceログを操作するユニット
  7. Visual Studio Shellに基づいてVisual Studio for Salesforceを構築し、無料のスタンドアロン配布を実現
  8. 可能な限り砂糖の残り




最初の段階の興味深いタスク


最も興味深い問題の1つ(Salesforceのおかげ)は、Apex自体とVisualForceの両方から文法が不足していることです。 はい、ApexはJavaに基づいて構築されていますが、Javaに基づいて文法を構築するのはまともであり、Apexのテキスト参照は長く退屈な作業です...しかし、他のオプションが見つからなかったため、プロセスが開始されました。

文法を形式化する上で重要なのは、レクサーが将来構築されるもの-ANTLRまたはIrony (最も興味深いプロジェクトの2つ)です。 ANTLRでは、文法定義形式がより気に入っています(コードと混同しないため、はるかに馴染みがあります)が、プロジェクト自体(JavaまたはC#でレクサーを自動的に生成するJavaアプリケーション)のアプローチは好きではありません。 アイロニーははるかに柔軟性があり、実装方法と実装方法を自由に選択できますが、私は文法のタスク、つまりコードとBNFルールの恐ろしい組み合わせが好きではありません。

コメントの.Net用の同様のツールに関する追加情報に感謝します。



VS SDKの内部で資料を調べてゆっくりとピッキングする週に私が遭遇した2番目の問題は、 ドキュメントと例です。 私は、msdnのドキュメントが常に最良の例の1つであると真剣に考えていました。 すべてが揃っています。優れたチュートリアル、例、詳細情報。 この場合-完全なごみ。 msdnの記事からの例はコンパイルされません(まあ、figsが一緒になっています)。愚かなエラーを単純に修正した後、コードは単純に機能しません。 情報(猫が泣いた)はさまざまな場所に広がっており、重要なニュアンスはさまざまな資料に集められます。 VS SDK 2013(つまり、このバージョンの拡張機能を開発する予定です)にはサンプルが付属していません。VSSDK 2010のサンプルは不完全で古くなっています( Managed Package Frameworkなしの古いアプローチとレクサー自体はサンプルに含まれていません。.NETReflectorを使用する必要があります)コードを選択します。



次のステップ



すでに書いたように、このプロジェクトを適切な形にすることができるかどうかはわかりませんが、そうなることを願っています。 現在、構文の強調表示に関する情報を選択し、並行してApex文法の作業を行っています。 状況をうまく組み合わせて、約1か月後、進捗状況を共有したいと思いますが、1か月間に何も起こらない場合は知っておいてください-ApexまたはVisual Studioのプレッシャーにさらされました:)



有用なリソース、記事、ヒント、Visual Studio 2010+(IronPythonはオプションではありません)の言語サービスの実装例、および一般的なトピックに感謝します。



ご清聴ありがとうございました。



All Articles