Visual Studioの生産性を上げるTips
Visual Studioには生産性を上げる様々な機能,がある.
それをまとめる.
Visual Studioを使った生産性の向上のTips
まずはこちらの動画から. これは.NET Conf 2019のセッションで,Visual Studio 2019の生産性を向上のための機能について紹介されている.
スピーカーの人が楽しそうに話すのでお気に入り.ライブ感満載.
https://m.youtube.com/watch?v=lKtwxz35P5Mm.youtube.com
Live Share
コードFixについて
namespaceとフォルダー名の同期
名前空間をプロジェクトのフォルダー構成に合わせることができる.
以下のように,Class1.cs
はNewFolder
内にあるけれども,名前空間はVisualStudioTIps
のとき,これをVisualStudioTips.NewFolder
にすることができる.
Switch文をSwitch式に変換できる.
未インポートな型の補完
usingで名前空間を追加していなくてもインテリセンスによる補完が効く.
オン・オフできるよ.
パラメータの生成
メソッドAの中でメソッドBを呼び出すというシチュエーションにおいて,メソッドBに必要なパラメータが未定義のときに,そのパラメータをメソッドAがパラメータとして受け取るように変更してくれる.(説明が難しい)
シングルラインコメントとブロックコメントの切り替え
Ctrl+K, Ctrl+/
でシングルラインコメントのオンオフ.
Ctrl+K, Ctrl+C
とCtrl+K, Ctrl+U
でオンオフするのと同じ.
Ctrl+Shift+/
でブロックコメントのオンオフ
メソッドチェーンの改行
メソッドごとに改行してくれる.便利.
if ステートメントの分離,統合
&&
や||
を使った複合条件のときに,それをネストされたIf文に分離することができる.
また,ネストされたIf文をまとめることもできる.
ジェネラルサーチ
Ctrl+Qで機能やコードなど色々検索できるよ.
usingの並べ替えが戻ってきたよ
usingの部分で右クリックしてコンテキストメニューを表示させると,「Remove and Sort Usings」というメニューはあるけれど,「Sort」のみはなくなった?以前はあった,と思う.
この「Sort」のみの機能が復活した.
Ctrl+Q
で検索ボックスにフォーカスして,「sort using」と入力すると候補に表示される.
- binary expression, argument call chaninのラップ
usingをnamespaceの中に置く,外に置く
コーディングスタイルの設定
Ctrl+Q
からcode style
で検索.
色々設定できる.
エディタの設定とコードのクリーンアップ
.editorconfig
で色々設定できる
ちょっと難しくてわからなかった.
コーディングスタイルや文字コードなどを設定として記述しておくことで、 それが自動的に適用される。
root = true # All files [*] indent_style = space # Code files [*.{cs,csx,vb,vbx}] indent_size = 4 insert_final_newline = true charset = utf-8-bom
これをプロジェクトの中に含めておいてGitHubで共有すれば、 皆同じ設定で開発を行う事ができる。 便利。
IntelliCodeについて
コードからよく使うメソッドなどをサジェストしてくれる.
テストエクスプローラ
テスト結果の表示カラムを追加削除したり,並べ替えたりできる.
Live Unit Testing
コード編集中にテスト結果がリアルタイムで表示される.
パラメータに対するNullチェックの生成
パラメータに対するNullチェックのコードを生成してくれる.
クラスやメソッドのコメント
クラスやメソッドの上の業で///
とうつとXMLを使ったコメントの雛形が自動生成されるが,ここに情報を記述しておくと,インテリセンスやマウスオーバー時のTipsとして表示されるので便利.
ドキュメントの代わりにもなるので,積極的に利用したい.
/// <summary> /// <c>public static void Main(string[] args /// </c><para></para> /// <em>emphasis</em><para></para> /// <strong>strong</strong> /// <para> /// <see href="https://bing.com">bing</see> /// </para> /// <item><description><para>Line</para></description></item> /// <item><description><para>Line</para></description></item> /// <item><inheritdoc></inheritdoc></item> /// </summary> public interface Interface1 { public int Method1(); int Method2(int a, string b, Regex c); }
ウェブページへのリンクも書ける.
クラスからInterfaceへのメンバーの追加
インターフェースの実装クラスでインターフェースに含まれないメソッドを追加したときに,そのメソッドのリファクタリングメニューからインターフェースへのメンバーの追加を行える.
Visual Studioの便利機能
次はこちら.
先程の動画のスピーカーがこちらでも説明してくれる.
ソースコードはこちら↓. github.com
Track Active Item
これは,エディタの方で表示しているファイルが,ソリューションエクスプローラのほうでもフォーカスされるようにするオプション.
Ctrl+Qから「turn track」と検索すると,候補に表示されるので選択する.
すると,以下のオプション設定ダイアログが表示されるので,「Track Active Item in Solution Explorer」にチェックをつける.デフォルトではオフになっている.
すると,以下のようにエディタ側のタブを切り替えるとソリューションエクスプローラー側のフォーカスも連動して切り替わる.
クリップボードの履歴
Ctrl+Shift+V
でクリップボードの履歴が表示されるので,そこから選択できる
最大で9個.
最後の編集箇所にカーソルを移動する
Ctrl+Shift+BS
最近開いたファイルへ移動
Ctrl+1,Ctrl+R
マルチカーソルの同時編集
Ctrl+Alt+Click
で複数箇所にカーソルを配置し,その後に文字の入力などの編集操作が,それらのカーソルすべて対して行われる.
同じシンボルに対してならば,Shift+Alt+.
を押すと,同じシンボルが順に選択されていき,それらを一括で編集できる.
これはXAML,HTMLでも使える.おそらくVisual Studioが同じシンボルと認識するものに対して.
お便利.
↓HTMLの例.
Git機能のショートカット
Ctrl+Qから「git」と入力すると,Git関連の機能が候補に出てくる.
Team Explorerからやるよりも手間が少ない.
コードスニペットのリスト表示と選択
例えばctor
がコンストラクタのコードスニペットの呼び出しのキーワードになっていて,ctor
と入力してTab,Tabと押せばコンストラクタの雛形が挿入される.
こういったデフォルトで登録されているコードスニペットは沢山ある.
これを一覧から選択することができる.
Ctrl+K, Ctrl+X
と押すと以下のように選択肢が表示されるので,自分が使いたいスニペットを探してたどっていく.
コードスニペットを呼び出すキーワードを覚えたら,直接呼び出せば良い.
コードスニペットの作り方
詳しくはこちらを.
デバッグについて
Visual Studioでのデバッグに絞った内容.
デバッグ中の変数の値を確認する
ピン留めできる
Step into specific
メソッドの奥の階層まで一気にステップインできる. 右クリックから「Step into specific」を選択する.
実行中の行を前後に移動させる
黄色い矢印マークをドラッグアンドドロップして戻したり進めたりすることができる.
あ,行き過ぎた,ってときにグリッと戻せる.
デバッグ時に代表として表示させるプロパティを指定する
以下の属性をクラスにつけておくと,そのプロパティがその変数のトップの階層に表示される.
[DebuggerDisplay("{プロパティ名}")]
つける前:
つけた後:
[DebuggerDisplay("{Title}")]//これ class Book { public int Id { get; set; } public string Title { get; set; } public string AuthorName { get; set; } }