第5回 初めてのWindowsアプリの開発連載:簡単! Visual Studio 2015入門(7/7 ページ)

» 2015年10月01日 05時00分 公開
[かわさきしんじInsider.NET編集部]
前のページへ 1|2|3|4|5|6|7       

ライトバルブ

 ライトバルブとは、開発者が行わなければならないさまざまな作業を、電球マーク(ライトバルブ)の形でVS 2015上に示してくれる機能のことだ。少し例を見てみよう。

 ここまでに見てきたMyClockアプリのソースコードはほとんどがプロジェクトテンプレートから生成された状態のままであり、少々無駄な部分がある。そのことをVS 2015がライトバルブを使って教えてくれるのだ。

ライトバルブによる提案 ライトバルブによる提案

 上に示した画像は、Display.csファイルの冒頭部分にある「using」ディレクティブの辺りにマウスポインターを移動したところだ。ここでは「System.Threading.Tasks」名前空間を使用するという「using」は必要ないといわれている。なるほど。本稿でここまでに見てきたように、この名前空間に属するクラスは確かに使用していない。プロジェクトテンプレートが生成するコードは本格的なアプリの多くが一般的に使用するであろうものを想定して、冗長なものになっているのだ。

 ここで、電球マークの右隣にある下向き矢印をクリックすると、どうすればよいかを提案してくれる。これを行ったのが以下の画像だ。

不要なusingディレクティブを削除することが提案された 不要なusingディレクティブを削除することが提案された

 [不要な using の削除]と候補と共におおよその変更内容が表示される。背景色がピンクになっているところが変更箇所だ。[変更のプレビュー]というリンクをクリックすると、その結果がどうなるかがダイアログに表示される(よく見ると、該当箇所がコードエディターでも薄いグレーで表示されているのが分かる)。

変更のプレビュー 変更のプレビュー
プレビューからはusingディレクティブが2行だけになることが分かる。

 問題なければ[適用]ボタンをクリックしよう。すると、該当するusingディレクティブが削除される。このように、プログラマーが気付いていなかったかもしれない細やかな部分にもVS 2015は目を光らせてくれている。

 例をもう一つ示そう。以下は、SetDisplayTimeメソッドを削除した状態のDisplay.csファイルだ。だが、二つのイベントハンドラーではこのメソッドを呼び出した状態のままであり、赤い波線でエラーがあることが示されている。

SetDisplayTimeメソッドを削除した状態のDisplay.csファイル SetDisplayTimeメソッドを削除した状態のDisplay.csファイル
二つのメソッドからはSetDisplayTimeメソッドを呼び出したいのだが、そのメソッドがまだ作成されていない。そのため、メソッド呼び出し部分がエラーとなり、赤い波線が表示されている。

 ここで赤い波線にマウスポインターを合わせてみると次のようになる。

電球マークの右隣の下向き矢印をクリックする
電球マークの右隣の下向き矢印をクリックする
改善案が提案される
改善案が提案される

まだ定義していないメソッドの作成が提案される
ただし、提案されたコードをよく見ると分かる通り、これは先ほど見たコードとは違っているので、コードの本体は自分で入力する必要がある。


 [変更のプレビュー]以降の流れは同様なのでここでは省略する。ただし、timeNowコントロールのTextプロパティに現在の時刻を設定するコードは自分で書く必要がある。コードを眺めながら、ライトバルブが表示されたら気にしてみよう。


 以上で「時計」アプリのプログラミング作業を通して、開発者の目的どおりのアプリを完成させることができた。これをきっかけに、さまざまなアプリ開発に乗り出してほしいと思う。

 さて、最終回となる次回では、アプリ開発の応用編として、アプリ開発でのトラブルの対処(「デバッグ」と呼ばれる)などのテクニックや、開発したアプリの配布方法について解説する予定だ。お楽しみに。

「連載:簡単! Visual Studio 2015入門」のインデックス

連載:簡単! Visual Studio 2015入門

前のページへ 1|2|3|4|5|6|7       

Copyright© Digital Advantage Corp. All Rights Reserved.

RSSについて

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

メールマガジン登録

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