Visual Studio 2010のWebデザイナとコーディングサポート機能
Visual Studio 2010のASP.NET関係の機能について解説します。
ASP.NETにおけるマルチターゲッティングの意味
VS 2010では、ASP.NET 2.0~4.0を選択して開発ができます(図2)。
目的のバージョンを選択して[OK]をクリックすると、VSが自動的にコンパイラや参照の設定を更新します。ASP.NETは、web.configに記載されている設定を基にFrameworkのバージョンが決まります。そのため、ダイアログで選択したFrameworkのバージョンによりweb.configの記述も当然変更されます。詳細は実際に確認してみてください。
また、.NET Frameworkのバージョンによって、ツールボックスの内容も変更されます。新コントロールの詳細は後編で詳しく解説します。
web.configの最適化
ASP.NETのweb.configによってFrameworkのバージョンが決まるというのは前述の通りですが、ASP.NET 4.0のプロジェクトで生成されるweb.configの設定は以下の要素のみです。
- connectionStrings
- system.web
- system.webServer
VS 2008のASP.NET 3.5では他に以下の要素が追加されていました。
- configSections
- appSettings
- system.codedom
- runtime
ASP.NET 2.0以降、web.configファイルは上記のような設定が詰め込まれており、アプリケーションごとに追加したり変更したりする必要がありました。しかし、多くの場合同じ設定を反映したければmachine.config(IISの設定ファイル)に記述するべきです。そのため、ASP.NET 4.0では、machine.configで記述するべき設定はすべてそちらに移っています。
HTML/JavaScriptのスニペットのサポート
VS 2008までのスニペットは、VB/C#に対するコードのひな型を生成するだけでした。VS 2010で遂にHTMLタグやASP.NETのサーバーコントロールのタグ、そしてJavaScript(ASP.NET AJAX Library含む)に対するひな型の生成までできるようになりました。
今まで同様にコードデザイナ上で右クリックし、[スニペットの挿入]を選択して、目的のスニペットを選択するとスニペットが挿入されます(図3)。
もちろんスニペット挿入後、背景色が変わっている部分はタブで遷移できますし、値も簡単に変更できます(図4)。
前述の通り、HTMLタグやASP.NETのサーバーコントロールもスニペットで用意されているので使える場面では積極的に活用してください。
既知のバグとして、HTMLタグ/JavaScriptのインテリセンスが活用できないという現象が発生する事があります。主にVS 2008と同居させている環境に置いて現象が起きやすい様です。対処方法は、次の通りです。
- VS 2010を起動
- [ツール]-[オプション]-[テキスト エディター]-[HTML]-[検証]と辿る
- 検証のターゲットが空欄になっている場合は、XHTML Transitional 1.0 を選択して OK をクリック
もしくは、
- VS 2010を起動
- [ツール]-[設定のインポートとエクスポート]-[すべての設定をリセット]-[いいえ、現在の設定を上書きして設定をリセットします]-[Web Development]の順で選択
以上のどちらかの設定を行う事で、各インテリセンスが活用できるようになります。インテリセンスが使えないと折角の IDE の新機能が活かせないので、もしインテリセンスが使えなかった方は試してみてください。
上記は既知のバグであり、RTM版ではフィックスされるという報告がされていますが、他にもBeta版ならではのバグがあるかもしれません。もし気になる点があれば、フィードバックを積極的に行ってください。