BEACHSIDE BLOG

MicrosoftとかC#を好むレンジャーの個人的メモ

Visual Studio 2015 を初めて使う方に、最初に知ってほしい ショートカットキー など

Visual Studio / Visual Studio Code Advent Calendar 2015の9日目です。

VS CodeがこないだErich Gammaのポチッでオープンソース化されたので、そっちを書きたいなーと思いつつ...全然使ってないので、VSの入門ネタ行きます。

まだまだこれからVisual Studioを使って開発を始める方もきっとたくさんいると思いますので、私の独断と偏見で最初に知っておいてもらいたいショートカットキー(など)の機能を書きます。

> Environment

Visual Studio 2015 Update1

> Overview

以下に関する操作について紹介します。

  • フォーマット(整形)
  • コメントアウト / アンコメント
  • ナビゲーション関連
  • 小ネタ

テキストエディターに関する機能を中心です。
Visual Studio 2015よりも古いバージョンで動くものがほとんどではありますが、環境依存のものもあります。
またResharperやVS拡張を入れていると、別の動きをする場合もあります。

> フォーマット(整形)

コードの修正やリファクタリングをしていてインデントがモコモコになったときに使います。

Ctrl + K, Ctrl + D

「Ctrl押したままK押してD押す」って操作です。

派手にモコモコにされたインデントでも、一瞬でビシーっとなります。
手でマメに直してる方がたまにいるので、知ってほしい機能でした。

f:id:beachside:20151208115405g:plain

覚え方...フォーマットする機能なので、 「K + フォーマットのF!」ではないのが残念。
実はその機能もあるんです。

Ctrl + K, Ctrl + F

これは、選択した範囲を整形します。選択するの面倒だし、特にC#を打ってる間はあまりな出番はないかも?

最初に紹介した「K→D」の方は、ドキュメント全体を整形するので、
「ドキュメントをフォーマっっっ!(のD!)」
ノリでCtrl + K,Ctrl + Dを押せそうでしょうか....

> コメントアウト / アンコメント

コメントアウトしたり、アンコメントするショートカットキーです。
ツールバーのボタンを押してやってもいいんですが、結局ショートカットキー使った方が生産的な気がします。

コメントアウト(コメントにする)

Ctrl + K, Ctrl + C 

アンコメント(コメントアウトされているものを解除する)

Ctrl + K, Ctrl + U

行にカーソルを当てて操作すれば、行全体をコメントアウト/アンコメントできます。
複数行を選択すれば、選択した行すべてをコメントアウト/アンコメントできます。

f:id:beachside:20151208121607g:plain

覚え方は簡単ですね。コメントアウトの「C」か、アンコメントの「U」です。

> ナビゲーション関連

「NavigateBackward」という機能です。

Ctrl + -(マイナス)

カーソルを当てたところを記憶していて、ショートカットキーを押すことで戻る機能です。ファイルをまたがっても戻ってくれます。
以下の例では、index.cshtmlで作業していて、なにげにMessageServices.csで作業→HomeController.csで2箇所をいじってから、NavigateBackwardで戻るところです。

f:id:beachside:20151208123315g:plain

オーノー!、Gifを張っても全く伝わらないですね....

メソッドの中からメソッドの定義に移動して、そこからまた別のメソッドに移動して、Modelの定義に移動したが続いて迷子になったときに便利です。
この機能を考慮してカーソルを置いていくと、一層効率的に利用できるでしょうか。

話はそれますが、
「定義に移動する」といえば、呼び出し側のメソッド名にカーソルを当てて

F12

ですね。
定義が書かれているメソッド名の上で

Shift + F12

を押すと、そのメソッドを読んでいる参照一覧が表示できます。

f:id:beachside:20151208123829g:plain 


VS2015からCodeLensが下位エディションでも使えるようになったので、似たことができます。結局CodeLensの機能ができたころからこれしか使ってません。
f:id:beachside:20151208124238g:plain


「定義に移動」といえば(その2)、
Interfaceを実装している場合、定義がInterfaceにするので、実装は別でしているってのはよくよくあることですよね。
この場合、F12で定義へ移動するとInterfaceへとんでしまい、実装へ移動できずに不便に感じる方も過去には多くいたと思います。
(Resharperにはこの機能がついてるので、私にはその不便さに気づかなかったわけですが.....)

ところが、Visual Studio 2015 Update1で、ResharperやVS拡張がなくても、実装へ飛ぶことができるようになりました。

操作は、呼ばれているメソッド名の上で右クリックして、「Go To Implementation」です。
f:id:beachside:20151208125521g:plain

Resharperだとショートカットキーが「Ctrl + F12」ですが、「Go To Implementation」にショートカットがついていないのは...まいっか...

> 小ネタ1

特定の行にカーソルを当てて、

Alt + ↑

MoveSelectedLinesUpができます。「↓」を押せば、反対の動作をします。ふとした時に便利です。

f:id:beachside:20151208130102g:plain

複数行選択で移動もできます。

> 小ネタ2

コピペが「Ctrl +C」「Ctrl +V」、カットも「Ctrl +X」なのは、この業界では誰もが知ってそうですね。
カットについては、カーソルを当てただけの状態でカットすると、一行すべてをカットします!(あれ、みんな知ってましたかね...)

ペーストといえば、CycleClipboardRing。クリップボードの履歴をたどることができます。

Ctrl + Shift + V

「Ctrl + Shift」を押した状態で「V」を何度も押すと、クリップボードの履歴をたどって貼り付けることができるので、連続してコピーして連続して貼り付けることもできます。これは便利!。
(といっても....個人的にはあまり使いませんが。。。)

> 小ネタ3

Ctrl + Tab

これでVisual Studio内で開いてるファイルのタブを切り替えることができます。複数のファイルを操作しているときは、「Ctrl +Tab」で切り替えた方が早いですね。

f:id:beachside:20151208160225g:plain


> まとめ

ショートカットキーの既定の一覧はMSDNにあります。
https://msdn.microsoft.com/ja-jp/library/da5kh0wa.aspx

紹介した他にもViaul Studioにはモリモリに機能があるので、初めて使う方に色々知ってもらって生産性が向上したらいいなーと思う今日この頃でした。

AdventCalendarにまだ空きがあるなぁ....qiita.com