BEACHSIDE BLOG

Azure と GitHub と C# が好きなエンジニアの個人メモ ( ・ㅂ・)و ̑̑

Visual Studio 2013で開発する前に準備しておきたい17のこと(3/3)

ブログ作成始めたてて更新連発してるわけではなく、
のんびりしてるとVS2015でちゃいそうなので焦って更新してます。

Visual Studio 2013で開発する前に準備しておきたい17のこと(1/3)
Visual Studio 2013で開発する前に準備しておきたい17のこと(2/3)

の時はVisual Studio2013 Update3だったのに、自分の環境もUpdate4にしちゃったし。

このシリーズ最終回は、拡張系を少々と「操作の基本抑えとこう」な話題。
仕事で、たまーにビギナーな人をみてて気づいた程度のネタです。比較的皆さん知ってる操作と思われるところです。
ちなみに、c#をベースに書いてます。

11.コードスニペット使おう

良く使うのは、プロパティのスニペット「prop」。
操作をさっと解説。

「prop」と入力して、Tabを2回押すと自動プロパティのスニペットが出現。
f:id:beachside:20141118004824p:plain

型(int)にフォーカスが当たっているので、変更したい場合は入力します。
そのままマウスは持たずにTabを2回押すと、MyPopertyが全選択でフォーカス当たるので、
好みのプロパティ名を入力します。
Enter押したら入力完了。

スニペット使って入力するときの基本操作は、
「Tab使ってフォーカス移動してEnterで確定」

エヴァンゲリオン第参話 「鳴らない、電話」 】的には、
「目標をセンターに入れてスイッチ…目標をセンターに入れてスイッチ…目標をセンターに入れてスイッチ…」
と一緒です。

ifとかforでも同じパターンなので慣れるとコーディング速度UPUP!(と信じたい)。
Console.WriteLine()の「cw」、Constructorの「ctor」、デストラクターの「~」、「#region」とか「if」「for」「try」「propdp」などなど用意されているのだけでたーくさんあります。
C#だと、MSDNVisual C# のコード スニペットに載ってる。
また、自分で作ることもできます。

12.小技 - 操作関連

行選択
カーソルを下の図のあたりに持っていき、クリックすると行選択できます。
f:id:beachside:20141117234720p:plain
1行でも複数行でも選択してドラッグ&ドロップで移動可能。

選択といえば、Visual Studioは矩形選択ももちろんできます。操作は多くのエディタと一緒なので略。


次。
カーソル位置履歴
コードを解析してるときとかに、メソッドの「定義へ移動」しまくって深いとこまで潜ってしまったとき(この表現で意味通じるの?と不安を感じる)
Cntrl + [-](マイナス)を押すと、前にカーソル置いたところに戻ってくれる。
[-](マイナス)数回押せばもとのソースに戻ってくれるので便利。

「定義へ移動」といえば、
前回のVisualStudio 2013で開発する前に準備しておきたい17のこと(2/3)でちょっと触れましたが、Productivity Power Tools 2013を入れておけば、メソッドにカーソルあててCntrl + Clickすると、「定義をここに表示」が起動します。
(拡張してなくてもalt + F12で表示されるけど)

次、
クリップボードリング
エクセルでもいうクリップボードの履歴。
Ctrl+Cとかでコピーした後、Ctrl+Vでペーストするのではなく、
Cntrl + Shift + V でペーストすると発動します。
Cntrl + Shiftを押したまま、Vを押せばコピーした履歴をさかのぼってくれるから、
数個の値をコピーするときには有用。たくさんあるときは面倒と感じます。

13.小技 - **ウインドウ関連

まずは、「タスク一覧」かなー。
メニューバーの「表示」→「タスク一覧」を選択
f:id:beachside:20141118001953p:plain

タスク一覧が表示される。
ユーザータスクは、タスクを作成して管理できます。
コード内のコメントとタスクを紐づけることもできて、そっちを割とよく使ってますかね。
使い方は簡単。
こちらのMSDNで丁寧に説明しているので、説明省略。


ウインドウ関連といったものの、あと、特にないことに気づいてしまった・・・
超基本なところですが、
「イミディエイト」ウインドウ
「出力」ウインドウ
「ウォッチ」
あたりをデバッグの時によく使うのはいうまでもないところでしょうか。

最近あまり開発してないから使ってないけど、
「並列ウォッチ」
も数年前に見てたなと思い出した・・・。

14.デバッグの方法は抑えておこう

先人の偉大な記事があるので、そちらを紹介。Visual Studio 2008の頃の記事だけど、基本的なことは変わらないです。

あと、ブレークポイントは停止の条件を付けたり色々できる点はつけておきたい。
ブレークポイントを付けた後、右クリックで以下が表示されるので、選択してあとはお好きなようにと。
f:id:beachside:20141119010521j:plain

詳細は、MSDNのこちら参照ですかね。
Breakpoints: Use Hit Counts, Call Stack Functions, and Conditions to Break When and Where You Want in the Visual Studio Debugger

余談ですが、Visual Studio2015(PREVIEW)だと、ブレークポイントでログ出すとかも出来る。
原因不明なバグ調査するときとか、ログ出力コードを直接書き込まずに、ブレークポイントからログ出すとかできる、既存コードを汚さずに済むから良さそうですな。
関係ないけど画像貼っちゃった。どんどん便利になりますなー。
f:id:beachside:20141119000336j:plain

15.LINQは使おう 

もはや圧倒的なネタ切れ感が漂う15個目は、LINQは圧倒的に使おうよというお話。
C#好きな人の特徴の一つがLINQだと思い込んでいるのだが、エンタープライズ系の方は意外と知らないとか使ってないとか使えないとか。それくらいそっちの方々は遅れている傾向にある(私が仕事で出会った人の傾向なので、一般論ではないよ)。

ここでは説明しきれないが、
@ufcpp大先生の
LINQ - C# によるプログラミング入門 | ++C++; // 未確認飛行 C
あたりから入っておけば間違いないだろう♪
LINQ is 神。

16.その他お薦め拡張 

有料の拡張ではあるが、C#界ではもはや必須?のReSharper

Unity使うなら、

17.最後に

世の中には、テスト駆動開発ドメイン駆動開発とかあるが、その中でも裏社会で最強と言われるのが萌え駆動開発(主観全開でごめんなさいごめんなさい)。

(ひよひよさん、リンクお借りしております!)

そのツールとして、Pronama-chan IDE extension
 ClaudiaIDE extension

というオチになったが、今後も活用できることを願って今回のブログを終えよう。