Visual Studio 2012/2013 の拡張機能を紹介 (2)

何だか反響があるようなので、急いで書かなければ (;´Д`)
のっけからゆるい紹介です。

Visual Studio拡張機能については、以下の記事もどうぞ:
Visual Studio 2012/2013 の拡張機能を紹介 (1)
Visual Studio 2012/2013 の拡張機能を紹介 (2)
OzCodeでかゆいところに手が届くデバッグを


「Claudia IDE」

ClaudiaIDEClaudiaIDE_Settingsクラウディア窓辺さん、とは、…. いや、もう説明不要でしょう。殺伐としたIT業界の戦士たちを奮い立たせるため、Visual Studioのエディタ背景に舞い降ります。

エディタ内で活躍してもらうために、いくつかの設定が可能です。

クラウディアさん以外にも、プロ生ちゃんこと「暮井 慧」に舞い降りてもらう拡張機能もあります。こっちはアニメーションもしますよ。


「DevArt T4 Editor」

DevArtT4EditorpngVisual StudioでT4テキストテンプレート(ビルド時にソースコードを生成できる、プリプロセッサベースのコード)を編集する場合の、コードハイライトやIntelliSenseっぽい補完機能が使えます。

T4を補助する拡張機能は他にもいろいろありますが、VSの濃色テーマ(スクリーンショットのような背景が暗いテーマ)選択時に、色が破綻していなかったので、これを使っています。もちろん、拡張機能が何もないと、とてもT4でコードを書く気になれません。


「Git Source Control Provider」

GitSourceControlProviderGitはソースコード管理システムの一種で、最近ではGitHubが知られるようになったので、ご存じの方も多いと思います。この拡張機能は、Visual Studio上でGitの操作が出来るようにするものです。

とは言っても、マイクロソフトもまたGitの拡張機能を公開していますし、ほかにも数種ありそうですが、謹製も含めてどれも今一つの出来です。ここで紹介した拡張機能は、その中でもまともな方かなと思います。

#この辺りは、こっちの記事でも紹介しましたので参考にどうぞ。私のお勧めは、残念ながら拡張機能ではなくSourceTreeです。


「Highlight all occurrences of selected word」

HighlightAllOccurrencesOfSelectedWordもう、これが無いと生きていけない系です。

エディタで選択した単語と同じ単語を見つけ出し、リアルタイムで色を付けます。上の例では「value_」をダブルクリックしたところですが、エディタ上のすべての「values_」に緑色が付きます。

「単語なの?構文解析して意味的に同一なものじゃないのか?」と思う人も居るかもしれません。そういう機能もあればうれしいのですが、とにかく文字列一致でハイライトしてくれると良い点として:

  • C#に限らず、VBやXAML、C++など、テキストエディタ全てで有効なので、いつでも使える安心感がある。
  • 純粋に文字列を検索したい場合も、ままある。コメント上の単語や、リテラル文字列の単語など。

ということがあります。何よりイージーで効果が高いので、これが使えないとかなり痛いです。


「Java Language Support」

JavaLanguageSupport基本、必要に迫られない限り、Javaでコードを書くことはあり得ないので、この拡張機能はスクリーンショットも取れなかったです。どうしてもソースコードを読みたい場合に備えて、ハイライト表示が出来るので入れてあります。

機能的にはデバッガも含まれているらしい(もちろん、Visual J++やJ#のようなモドキではなく、JVMで)ので、拡張機能としては気合が入っています。

今は、少なくともビルドやソースコード管理などを含めた、トータルでの開発環境として評価しなければ、真の価値は分からないと思うので、ここまでにしておきます。こう言う物もあるんだ的に捉えてもらえれば良いかなと。


「Productivity Power Tools」

ProductivityPowerToolsMS謹製のVS拡張機能です。VSの隙間を埋めます。この拡張機能、もうVSに取り込んでも良いんじゃないかと思うのですが…

かなり沢山の機能拡張が盛り込まれています。私のお気に入りとしては:

  • ソースコード保存時に、自動的にソースコード整形してくれる。また、C# usingの整理もやってくれる。まぁ、後者はやりすぎ感もあるので、オンにすべきかどうかは迷う所です。
  • ドキュメントタブを色分けして、ピン止め出来たりする。
  • スクロールバーに、編集箇所を色表示してくれる。
  • カラムタブ位置にガイドラインとなる線を引いてくれる。
  • 印刷時にソースコードの色付けをしてくれる。

などなどあります。勿論、人によって要不要は様々だと思うので、設定ダイアログから機能をオンにしたりオフにしたりして、自分なりにカスタマイズして下さい。

なお、リンクはVS2013用です。2012や2010用は同じ名前で別に存在するので、検索してください。


「RockMargin」

RockMarginテキストエディタの縦スクロールバーが巨大になり、スクロールバーにテキストのサムネイル(?)が表示されます。青っぽく強調されている部分が、ビューに表示されているテキストの範囲です。

このブロードなバーはドラッグできて、それに合わせてビューがスクロールします。編集時には何となくソースコードの位置を「イメージ」で覚えておいて、ささっとスクロールさせる事ができます。

テキストエディタで如何に目的の場所に移動するかという事に注目した拡張機能はいくつかありますが、私はこれが一番直感的で素早く移動出来て良いと思います。

この拡張機能、ギャラリーではまだまだマイナー順位だったので、見つけたときには「掘り出し物みっけ!」と喜んでいたのですが、de:codeに参加したらエバンジェリストの方々がデモで皆使っていて、別の意味でがっくりしましたw


「SQL Server Compact Toolbox」

SQLServerCompactToolBoxVisual Studio 2012までは、SQL Server Compact Editionのデータベースファイル(*.sdf)を直接オープン出来、SQL Serverと遜色のない編集が可能だったのですが、2013になってオミットされてしまいました。

この拡張機能は、VS内でSQL Server Compactのデータベースを編集可能にします。ただ、まだ発展途上で機能も網羅されていないため、どうしても2012の編集可能である事と比較して、個人的には不満があります。

とはいえ、作者は結構頻繁にバージョンアップを繰り返しているので、徐々に問題も減ると思います。

余談ですが、面白い事に、Visual Studio User Voiceでも結構なvote数でCompact Editionの続投が入っています。

Support Sql Server Compact in Visual Studio 2013
Sql Server Compact 5


「Unit Test Generator」

UnitTestGeneratorVisual Studio 2010までは、MSTestを使用するユニットテストコードの生成が簡単に行える機能が内蔵されていたのですが、これまたVSから切り離されてしまった機能です。

今は、TFS ALM Rangersというプロジェクトでこの拡張機能がリリースされているのですが、VSから分離したというより、同じようなものを一から書き直しているようで、かなり機能が不足しています。

UnitTestGenerator_SettingsInternalsVisibleTo属性の自動適用や、プライメートメソッドへのアクセサコードの自動生成などがなく、非常にシンプルなテストコードの生成だけが出来る状態です。

本来、TDDではテストコードから記述するため、こういった機能は馴染まないという事も背景にあるのかもしれません。ただ、私的にはフレームワークの設計をやるので構築&破棄が多く、採用したいコードが出来た時点でテストコード書きたいという欲求もあり… 難しいところです。


「VSColorOutput」

VSColorOutputこれも、無いと生きていけない系です。ビルド時のログなどが表示される「出力」ウインドウの行に色を自動的に適用します。

法則などはあまり把握していませんが、warningとかerrorとかが行内に含まれていると、黄色や赤色で強調してくれます。

VSColorOutput_PreSettingsVisual Studioのデフォルトでは、ビルド経過はプログレスバーでしか表示されず、エラーが発生した場合は「エラー一覧」に表示されます。しかし、このエラー一覧は、表示の順序が発生した順序となっておらず、見ても関連性が全く把握出来ないため、とても残念な機能になってしまっています。

結局、エラー一覧を自動的に表示するというオプションを外し、必ず「出力」ウインドウを表示させるのですが、今度はログからエラーが発生している箇所を探すのが困難。

そんな時にこの拡張機能があれば、スクリーンショットのように一目瞭然です。ログの上から見ていって、最初の赤い行に注目すれば良いので、とても楽です。

標準のルール設定では、「Error」のような単語が含まれていると赤く表示されてしまってアレなので、以下のような順序に変更しています。

vscoloroutput2


私的な定番としては、このぐらいです。

ReSharper_CodeAnalysis2近日ではとうとう「ReSharper」を使い始めました。これも解説はほとんど不要かと思います。というより、自分もまだ導入したてでレビュー出来ないと言う事もありますがww

上に含めなかったのは、この拡張機能が有償なためです。しかし、きちんとリファクタリングする文化があるのなら、きっと力になる拡張機能かなと期待しています。