連載
» 2014年12月18日 16時06分 UPDATE

WinRT/Metro TIPS:サンプルコードを素早く探すには?[ユニバーサルWindowsアプリ開発]

ストアアプリに限らず、アプリを開発しているときにはサンプルコードを見られると便利なことがよくある。本稿ではサンプルコードを簡便に検索するためのツールを紹介する。

[山本康彦,BluewaterSoft/Microsoft MVP for Windows Platform Development]
WinRT/Metro TIPS
業務アプリInsider/Insider.NET

powered by Insider.NET

「WinRT/Metro TIPS」のインデックス

連載目次

 ストアアプリのコードを書いているとき、あるいは、これから開発しようと考えているとき、コードのサンプルを見たいと思うことはないだろうか? もちろんWebページを検索してもよいのだが、ストアアプリのサンプルコードを集めたサイトや、便利なツールもある。本稿ではそれらの中から、Visual Studioに組み込むツールと、サンプルコードを集めたMSDNのサイト、そしてそのサイトを検索するアプリを紹介する。

事前準備

 ユニバーサルプロジェクトを使ってユニバーサルWindowsアプリを開発するには、以下の開発環境が必要である。

  • SLAT対応のPC*1
  • 2014年4月のアップデート*2適用済みの64bit版Windows 8.1 Pro版以上*3
  • Visual Studio 2013 Update 2(またはそれ以降)*4を適用済みのVisual Studio 2013(以降、VS 2013)*5

*1 SLAT対応ハードウェアは、Windows Phone 8.1エミュレーターの実行に必要だ。ただし未対応でも、ソースコードのビルドと実機でのデバッグは可能だ。SLAT対応のチェック方法はMSDNブログの「Windows Phone SDK 8.0 ダウンロードポイント と Second Level Address Translation (SLAT) 対応PCかどうかを判定する方法」を参照。なお、SLAT対応ハードウェアであっても、VM上ではエミュレーターが動作しないことがあるのでご注意願いたい。

*2 事前には「Windows 8.1 Update 1」と呼ばれていたアップデート。スタート画面の右上に検索ボタンが(環境によっては電源ボタンも)表示されるようになるので、適用済みかどうかは簡単に見分けられる。ちなみに公式呼称は「the Windows RT 8.1, Windows 8.1, and Windows Server 2012 R2 update that is dated April, 2014」というようである。

*3 Windows Phone 8.1エミュレーターを使用しないのであれば、32bit版のWindows 8.1でもよい。

*4 マイクロソフトのダウンロードページから誰でも入手できる(このURLはUpdate 4のもの)。

*5 本稿で紹介するツールを使うには、有償版のVisual Studio 2013か、無償のVisual Studio Community 2013 with Update 4(マイクロソフトのページから入手できる)が必要である。


Visual Studioに組み込む「Bing Developer Assistant」

 コードを書いていて、「あれっ、このメソッドの使い方はどうだっけ? IntelliSenseの簡単な説明では分からないや」ということがあるだろう。そんなときに便利なのがC#用の「Bing Developer Assistant」だ。

 「Bing Developer Assistant」は、Visual Studioギャラリーで無償公開されている、Visual Studioの機能拡張である*6。無償のCommunityエディションか有償版のVisual Studio 2013にインストールできる(残念ながらExpressエディションにはインストールできない)。「Bing Developer Assistant」を使うと、C#のIntelliSenseに検索結果が表示されるようになる(VBには未対応)。

インストール

 対応しているVisual Studioが入っている環境で、以下のURLからダウンロードしてインストールする。

「Bing Developer Assistant」のダウンロードページ(IE11で表示) 「Bing Developer Assistant」のダウンロードページ(IE11で表示)
名称は旧来の「Sample Browser Visual Studio Extension」のままだが、これが「Bing Developer Assistant」である*6

*6 「Bing Developer Assistant」は、従来プロダクトの「Sample Browser」(後述)と「Bing Code Search」の機能をまとめたものである(「Visual Studio 日本チーム Blog」の記事を参照)。そのため、「Sample Browser Visual Studio Extension」などと表記されることもある(本稿執筆時点では、ダウンロードページのタイトルがそうなっていた)。


IntelliSense

 インストールしたら、Visual Studioを起動してコードを編集してみよう。IntelliSenseのポップアップに、「Bing Developer Assistant」の検索結果も表示される(次の画像)。

IntelliSenseの「Bing Developer Assistant」(Visual Studio 2013) IntelliSenseの「Bing Developer Assistant」(Visual Studio 2013)
従来からのIntelliSenseのポップアップに、「Bing Developer Assistant」の検索結果も表示される(赤枠内)。さらに[Search More]ボタン(赤枠内の右上)をクリックすると、検索ボックスからの検索(後述)と同じ画面に切り替わる。
サンプルコードは、MSDNのドキュメント/code.msdn(後述)/stackoverflowなど複数のサイトから検索しているようである。
プラットフォームを区別しないようで、この画像の例ではストアアプリのコードを編集しているにもかかわらずWPF用のサンプルコードが表示されている。検索結果が出てこない場合もあるし、ときどきは間違った結果が出てくることもある。未完成と言わざるをえないが、便利な機能であるのは間違いない。

 検索結果が出てこないことも少なくなく、ときどき間違った結果が出てくることさえあるが、将来が楽しみな機能である。

検索ボックス

 「Bing Developer Assistant」には、キーワードを直接指定して検索するための検索ボックスも備わっている(次の画像)。

「Bing Developer Assistant」の検索ボックス(Visual Studio 2013) 「Bing Developer Assistant」の検索ボックス(Visual Studio 2013)
[Code Samples]という検索ボックス(赤丸内)にキーワードを入力すると、このような検索結果画面が表示される。
また、検索せずに、左側の[▼]ボタン(黄色い「b」マークの右)からジャンル別のサンプルプロジェクト一覧を出すこともできる。

 その他、クイック起動バーの候補にも検索結果が表示される([ファイル]メニューからも検索可能だ)。また、オプションで指定すれば、ローカルにあるコードも検索対象になる(次の画像)。

「Bing Developer Assistant」でローカルファイルも検索(Visual Studio 2013)
「Bing Developer Assistant」でローカルファイルも検索(Visual Studio 2013) 「Bing Developer Assistant」でローカルファイルも検索(Visual Studio 2013)
Visual Studioのメニュー[ツール]−[オプション]で、[Bing Developer Assistant]の[Code Snippets]に検索するフォルダーを追加する(上)。
すると、検索結果にそのフォルダー内のコードも含まれるようになる(下)。この画像では、ハードディスク(Dドライブ)の特定のフォルダーにあるソリューションに含まれているコードが表示されている。

「code.msdn」サイト

 マイクロソフトのサイトに、サンプルコードを集めたところがある。サイトのURLは「https://code.msdn.microsoft.com/」である。

 このサイトは、英語と日本語でその名称が違う(次の画像)。そのため筆者は「code.msdn」と呼んでいる(「"code.msdn"」で検索すれば、BingでもGoogleでも言語を問わず上位に出てくる)。

マイクロソフトの「code.msdn」サイト(IE11で表示)
マイクロソフトの「code.msdn」サイト(IE11で表示) マイクロソフトの「code.msdn」サイト(IE11で表示)
上は英語版のページ。ページ上の表記は「Developer code samples」であり、HTMLの<title>タグの内容は「Sample Code - MSDN Examples in C#, VB.NET, C++, JavaScript, F#」となっている。
下は日本語版のページ。ページ上の表記は「コード レシピ:サンプルコードから学ぶ」であり、HTMLの<title>タグの内容は「Code Recipe:サンプルコード集」となっている。
英語のフォーラムなどで「Code Recipe」といっても通じないので、ご注意願いたい。また、このサイトを検索するマイクロソフト製のアプリ(後述)も「Sample Browser」であって、「Code Recipe Browser」というような名称にはなっていない。

 このサイトには、マイクロソフトだけでなく一般の開発者からもサンプルコードが提供されており、その数は非常に多い。Visual Studio 2012/2013のストアアプリだけに絞っても1481件、全てでは9578件のサンプルプロジェクトが登録されている(本稿執筆時点での数字)。その中には、日本語の説明が付けられたものも少なからずある。

 このサイトでの検索は、クラス名やメソッド名だけでなく、作者名やサンプルプロジェクトのタイトルなどでも検索できる(次の画像)。前述の「Bing Developer Assistant」は、作者名などからは検索できないのだ。

マイクロソフトの「code.msdn」サイトで検索した様子(IE11で表示) マイクロソフトの「code.msdn」サイトで検索した様子(IE11で表示)
画面上部の検索ボックスを使って検索する((1))。クラス名やメソッド名だけでなく、サンプルのタイトルなどでも検索できる
左側((2))のチェックボックスを使うと、プラットフォーム/Visual Studioのバージョン/プログラミング言語/Contributors(投稿者の区分)/主要なテクノロジなどで絞り込める。
日本語版のサイトでは、日本語の説明が付いたものだけ表示されるのが既定になっている。右上の[英語の検索結果を含む]チェックボックスにチェックを入れると、英語のサンプルも出てくるようになる。

 日本語の説明が付いたサンプルコードを探すには、このサイトをWebブラウザーで使うのがベストである。

「Sample Browser」アプリ

 上記「code.msdn」サイトのサンプルコードを検索するためのアプリが、マイクロソフトから提供されている。Windowsストアアプリ版/Windows Phone版/デスクトップ版の3種類だ(次の画像)。Visual Studio版もあるが、前述したBing Developer Assistantに統合されたので、ここでは割愛する。

3種類の「Sample Browser」アプリ(Windowsストア版)
3種類の「Sample Browser」アプリ(Windows Phone版)
3種類の「Sample Browser」アプリ(デスクトップ版) 3種類の「Sample Browser」アプリ(上:Windowsストア版、中:Windows Phone版、下:デスクトップ版)
それぞれの入手先は、MSDNの「Sample Browser: Microsoft All-In-One Code Framework」をご覧いただきたい。どれも基本機能は同じで、「code.msdn」サイトのサンプルを検索することと、ジャンル別に一覧を見ることができる。
Windowsストア版とデスクトップ版は、設定で日本語表示のUIを選択できる(ただし日本語のサンプルは出てこない)。Phone版のUIは英語だけのようだ。

 現在のところ「Sample Browser」アプリの検索結果に出てくるのは英語のサンプルだけのようだ(日本語の説明が付いたサンプルは出てこない)。そこが許容できるなら、便利なアプリである。なお、ブログ記事(英語)によれば、「Bing Developer Assistant」の機能(他のサイトやローカルのコードからも検索する)を取り込む予定であるようだ。

まとめ

 もうすぐクリスマス、そして冬休み。この機会にストアアプリの制作に取り組もうという開発者も多いだろう。情報が少ないといわれるストアアプリ開発だが、サンプルコードは豊富にあるのだ。本稿で紹介したツールやサイトをぜひ活用してほしい。

「WinRT/Metro TIPS」のインデックス

WinRT/Metro TIPS

Copyright© 1999-2017 Digital Advantage Corp. All Rights Reserved.

@IT Special

- PR -

TechTargetジャパン

この記事に関連するホワイトペーパー

Focus

- PR -

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。