稲枝の押入れ

いなえが適当なことを書いては、しまっておく場所

VsVimのすゝめ (2) : VSおさらい編

記事の一覧

注意

この記事では例えばCtrlキーとVキーとを押す場合に、VSのショートカットキーについて言及する場合はCtrl + Vといった感じで表記しますが、VimでのショートカットキーについてはC-vといった表記をします

VSの便利な機能達

VsVimの便利さを語る前にそもそもVSで元からどういう事ができるのかに触れようと思います。

機能、といいながら取り敢えずショートカットでよく使うのを列挙してみました。VSは特にデバッグ周りを簡単にできる便利機能が本当にたくさん入っているので探してみると幸せになれると思います。

ファイル移動

Ctrl + Tab

マジクソ便利。開いたファイルの履歴を持っていてくれる。履歴は使うたび更新されるので、例えば.h.cppを行き来するのも同じキーを押すだけ。楽。キーが押しやすいのも良。

Ctrlを押したままTabを複数回押すと履歴を更に遡れる。

実は開いてるウィンドウに移動したりもできるので、キーボードから手を離さず君の起こしたその素晴らしいコンパイルエラーの箇所を見に行くことも出来る。最高にクール。

左右に移動したい時に矢印とかいうダサいもの使わなくても行ければもっとクールだったのにな

宣言/定義に移動

(Ctrl +) F12
Alt + F12

言わずもがな。Altを押していると現在の位置に宣言/定義を表示できる。宣言へ移動は実はCtrl + F12らしいが特にCtrlを押さなくても宣言に移動できる

全ての参照を検索

Shift + F12

一応シンボルで検索はかけてるみたいで同じ名前の関数(例えばupdate()とか)でも、どのクラスのアップデートかとか見てくれるんだけど、絞って表示がないせいでイマイチの使い勝手の子。一応テキスト検索もしてるのでコメント欄とかも拾ってくれたりする。ソートもできないし…小規模コードだったらこれで充分

単語単位で移動

Ctrl + 左右キー

例えば

nomalEnemyGeneratedNum = nomalEnemyPreGeneratedNum + normalEnemyGeneratedNumAtThisStep;

みたいなクソコードがあった時に、左右キーで移動すると時間がかかるけど単語単位で動けば一瞬。シングルトン使った処理書いてたりすると長くなるよね、わかる(白目)

矢印とかいうゴミを使わなければ最高だった

インクルードされたファイルに移動

Ctrl + Shift + G

#include"hoge.h"hoge.hの位置にカーソルがある時に使うとhoge.h(ファイル)に移動できる。いや、F12でいけるようにしようよ

前の位置に戻る

Ctrl + -

移動系をした後に元に戻るのに便利。ちなみにShiftもおしておくと逆方向に戻れる。

現在のファイルを自動インデント

Ctrl + K , Ctrl +D

神。インデント戦争とか言う不毛なものからドロップアウトできる。Tabだろうがスペースだろうが、設定すればいいんじゃないですかね。僕はどっちでもいいのでしてません。

気になるあの子がスペース派だとわかった瞬間設定を変えてこのショートカットを全てのソースで叩く、そういう青春もあるかもしれません。ただし、ソリューションもしくはプロジェクト内に複数設定を混在させるのはやめようね。

ショートカットはキルデスで覚えるとよろしい(?)ちなみに選択範囲のみインデントしたい場合は選択してCtrl + K , Ctrl + Fケンタッキーフライドチキンとか覚えとけばいいんじゃないすかね(適当)Ctrl押しながらKDCtrl押しながらAKFと同じ。AK47とかで覚えとけばいいかもだけどKDで足る。

関数の定義を自動生成

Ctrl +. して選択肢から「関数名ファイル名の定義を作成」

これは地味に便利。hoge.hでこれを使った場合、ちゃんとhoge.cppに定義を作ってくれるしインクルードもしてくれる。厳密にどう言う判定なのかは謎。 本来はCtrl + .は確かヒントか何かを出すキーだったはずだけどこれしか使ってない

出てきた選択肢を矢印で選択しないといけないのが辛い

補完

Ctrl + Space

シンボルで補完が出るのでスコープが違う変数がかかったり、ありもしないメンバが候補に出たりは(基本的に)しない。また、候補の横のアイコンからそれが関数なのか変数なのか等もわかる。

テンプレート引数のところで使おうとするとうまく動かないのなんとかならないですかね。

関数の宣言の参照

Ctrl + Shift + Space

関数の引数を確認したり出来る。カーソル位置の引数は太文字で表示される。オーバーロードされている場合、自分で宣言を選べる。前はデフォルトは自動で検知した合致する型のオーバーロードが表示されてたけど今は自分で選ばないといけないみたい

行ごと移動

Alt + 上下キー

行ごと移動する。上に移動する時は1行上が1行下になることになる。

矢印…

リネーム

Ctrl + R, Ctrl + R

シンボル単位で名前を変えてくれる。

名前を考えるのが苦手な僕のコードは取り敢えずclass Hogevoid Fugaが暗躍跋扈する。動くようになってcommitが近づいてきたらこいつの出番。素晴らしいコードの出来上がりで今日も拙者お疲れって感じ。

純粋仮想関数周りでたまにうまくリネームされないので何度かやらないといけなかったりする。

検索

Ctrl + F Ctrl + Shift + F

まあこれはどこでも同じ。VSで特に嬉しいことがあるとすれば合致する文字列がファイルのどこにあるか右側を見るとわかる。あと選択範囲内のみで検索可能。Shiftを押すと検索結果を一覧表示できる。目grepなどが出来たり

置換

Ctrl + H

これも同じ。VS上で特段変わる事と言えば選択範囲内のみに置換を適用する事ができるとか。新しい系列のクラス作るの面倒な時は既存のをコピって範囲選択して置換したりするのは内緒。選択範囲置換、意外と使い勝手いい。

矩形選択

Alt + 選択

選択はキーボードかマウスかで。矩形選択後にそのまま入力すると複数行に変更が入るのが便利な時がある。あとこれで範囲絞って置換が使える場面も稀にある。

矢印かマウスを使わないといけないのが玉に瑕

ステップアウト/ステップイン/ステップオーバー

F10 : ステップオーバー
F11 : ステップイン
Shift + F11 : ステップアウト

簡単に使える。最強機能なのに初心者だったりすると意外と使ってない人が多い気がする。かくいう僕も先輩に教えてもらって知りました。まあ、こういうの意外と気づくタイミングないよね。

ブレークポイント

F9

楽。これとステップ実行でめっちゃデバッグ捗る

ビルド

F5

Shiftも押すとでビルドを中止できる

コード内容を適用

Alt + F10

デバッグ実行中などにコードを変更した場合に、再度ビルドしなくてもコードの変更内容を反映できる。UIとかの位置の調節とかに便利。ただし、例えば初期化などの位置を書き換えた場合に遡及的に変更が反映されるわけではないので注意。

情報を表示する

Ctrl + K, Ctrl + I

カーソルのある位置のものについて情報を表示する。変数のコメントを見たいときや赤波線の内容を確認したいときなどに便利

取り消し

Esc

大体の行動(検索窓を開くなど)を取り消して戻れる。実行後に戻すのはundo。あくまでこれは「しようかと思ったけどやっぱやーめた」とかに使う

ブックマーク

Ctrl + K, Ctrl + K : 登録/解除
Ctrl + K, Ctrl + N : 次のに移動
Ctrl + K, Ctrl + P : 前のに移動

欲しい機会があるかはわからんが、たまに3箇所以上を行き来する必要があったりするときは便利。もしくは1つだけ登録してホーム的な使い方もできる

コピー

Ctrl + C

選択しないで押すと1行をコピーできる

切り取り

Ctrl + X

何を今更と思うかもしれないけど、選択せずに使うと1行を消せるのでたまに使う

1行切り取り

Ctrl +(Shift +) L

1行切り取る。Shiftを押すとクリップボードには入らず1行削除になる。

過去のクリップボード履歴から貼り付け

Ctrl + Shift + V

Vを連打した数だけ前のやつが見れる。何気にこれ欲しいと思ってて気付いてない人いそう。

折りたたむ/展開する

Ctrl + M,Ctrl + M

コードの規模が大きくなって来たらとりあえずこれで折りたたんで全体を眺めたりする。そもそもそんな状態の時はファイルわけをしようという話だけどなかなかそれが難しい時もあるんだよね、うん

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

Ctrl + K, Ctrl + C : コメントアウト
Ctrl + K, Ctrl + U : アンコメント

頻度は高くないけど便利。ストレスが減るし、気軽にコメントアウトできる。

行頭/行末,ファイルの先頭/末尾に移動する

Home : 行頭に移動する End : 行末に移動する
Ctrl + Home : ファイルの先頭移動する
Ctrl + End :ファイルの末尾に移動する

Home,Endキー意外と使わんやろ?Vim使わないなら便利やで。

画面単位で上下に移動する

PgUp
PgDown

Vimを使えない悲しい環境なら便利なので使ったほうがいい。画面単位で上下できるよ

Ctrlつけると画面内の一番上/下に移動出来るけどこれは滅多に使わん

まとめ

はい、とりあえずVSのオススメ機能を並べました。「そうそうこれ便利」みたいなのから「こんな機能あったのか」みたいなのもあったかもしれません。ちなみに全機能一覧なんかもあるから調べるといいかも。

VSの記事みたいな感じになってるけどそろそろVimについての話を始めようかと思います。

前の記事 : VsVimのすゝめ (1) : 背徳編 次の記事 : VsVimのすゝめ (3) : Vim説明編