Visual Studio(2005-2010)の隠された機能?


182

Visual Studioは非常に大きな製品であるため、何年にもわたって作業を行った後でも、新しいまたはより優れた方法を実行したり、知らなかったことが可能だったりすることがあります。

例えば-

  • Crtl+ RCtrl+ Wは空白を表示します。Pythonビルドスクリプトの編集に不可欠です。

  • 下に"HKEY_CURRENT_USER\Software\Microsoft\VisualStudio\8.0\Text Editor" 文字列を作成することと呼ばれるガイドをテキストエディタでコラム80で赤のラインを持っている「80、RGB(255,0,0)」の値で。

他にどのような隠された機能に遭遇しましたか?


ありがとうございました!最後にVSの80列のマーカー:)
Jonas Gulle

ありがとう。実は、偶然「空白を表示」に出くわし、それを取り除きたかったのです。どうもありがとう!
Arsen Zahray、2012年

回答:


123

Altキーを押しながら選択する-行全体ではなく、テキストの正方形を選択します。


9
Ctrl-Altは単語全体を選択します。Altは、選択領域のサイズを一度に1文字ずつ変更します。
ホタル

4
これは、MS WordおよびOO Writerでも機能します。よく使っています。
バード

3
これ(「ブロック選択」と呼ばれます)は、キーボードのAlt + Shiftキーを押しながら操作してから、矢印キーを使用します。
arolson101 2009年

1
さらに、この方法で空の水平列を選択すると、入力したものはすべての行で複製され、巨大なカーソルのように動作します:)
Sedat Kapanoglu

1
私はこれがVS 2010の機能として販売されているのを見ましたが、VS 2008で試してみましたが、うまくいきました。私はびっくりしました。これは驚くほど便利です!
DaveDev

95

トレースポイント!

コード行にブレークポイントを置きます。ブレークポイントウィンドウを表示し、新しいブレークポイントを右クリックします。「ヒットしたら...」を選択します。[メッセージを印刷する]チェックボックスをオンにすると、Visual Studioは、コード行が実行されるたびに(または行を中断するのではなく)、デバッグ出力にメッセージを出力します。また、行を通過するときにマクロを実行することもできます。


1
私はゲームに遅れていることを知っていますが、それは私が知らなかった素晴らしい機能です!
ジェリー

7
追加のポイントについては、「ヒットしたとき」ボタンでローカル変数を割り当てることができます。{localVariable = 1.0f}または値を{staticVariable + = 0.1f}ずつ増加
Charles Beattie

91

コードをツールボックスにドラッグできます。それを試してみてください!


あなたができるように聖なるがらくた!(ありがとう!)
Ali Parr、

ただし、スニペットよりもあまり使用されていないようです
jk。

33
親愛なる神様...それはまったく新しいレベルのコピー&ペーストです。コピーアンドペースト、ペースト、ペースト。私は、あなたがこれを行うことができることを決して知らないことを望んでいる多くのプログラマーを知っています。
ライアンランディ

ブックマークレットのように、ボタンをクリックしたときにコードを評価するように指示できると便利です。
2010

大野。この野郎機能は何をしているのですか?

79

識別子(クラス名、変数など)をクリックし、[ F12定義に移動]をクリックします。右クリックが遅い-> [定義に移動]メソッドを使用しているコードを見る人の数にはいつも驚かされます。

編集:次に、Ctrl+ -を使用して元の場所に戻ることができます。


8
Ctrl + Shift +-[Shift Shiftマイナス]で前にジャンプすることを忘れないでください!
Kevin Pullin

5
すべての参照を検索するためにShift F12
Benjol

2
Alt +左​​矢印
キーを

1
VBキー設定では、Shift-F2は定義に移動も行います。
Ryan Lundy

1
そもそもマウスルートを使用する場合は、右クリックしてGキーを押すこともできます。
tsilb 2010年

57

CTRL + SHIFT + Vはクリップボードを循環し、Visual Studioはコピーの履歴を保持します。


これは、キーボードマッピングのedit.cycleclipboardringにあります(ビジュアルC ++では、これはCtrl-Shift-VではなくCtrl-Shift-Insertです)
デフォルト

52

サラフォードはたくさんの素敵なヒントをカバーしています:http : //blogs.msdn.com/saraford/archive/tags/Visual+Studio+2008+Tip+of+the+Day/default.aspx

Ctrl+ 私のお気に入りのいくつかは、コードスニペットです。<Namespace> .を追加しusingたり、メソッドスタブを生成したりします。それなしでは生きられない。

Visual Studio 2008 C#キーバインドポスターの優れたリストをご覧ください。http//www.microsoft.com/downloadS/details.aspx? familyid = E5F902A8-5BB5-4CC6-907E-472809749973&displaylang = en


1
サラフォードはVisual Studioの女神です。私は彼女を十分にお勧めすることができませんでした。
Chris Charabaruk、2008

私が彼女の作品を共有する理由を完全に同意します。私はデバッグをカバーする彼女の現在のシリーズを本当に愛しています
アーロン・パウエル

彼女がその日のヒントをやめたのは悲しいことですが、VSの内部を操作してから長い間、彼女は次に進む必要があることが完全に理解できました...
Knobloch

CTRL +について言及していただきありがとうございます。私はこれを正確に探していました。
Sorin Comanescu 2009

私はいつもCTRL + ALT + F10を使っていました。CTRL +を知りませんでした。同じことをします-ありがとう。はるかに快適です。
Noam Gal

49
CTRL-K, CTRL-D

ドキュメントを再フォーマット!
これはVBキーバインドの下にあり、C#については不明です


3
はい、C#、Webデザイナー、XMLエディター、CSSエディター、XSDエディター、JavaScript(ある程度)で動作します。サポートされているほとんどのファイルタイプ
アーロンパウエル

8
Ctrk-K、Ctrl-F for C ++
MSalters 2008

7
私はCtrl-E、Ctrl-Dを使用し
ます

Ctrl + K、Ctrl + Fは、選択したテキストをフォーマットします(C#では、他のテキストについては不明です)。
ザンアンダーソン、2012

43

クイックウォッチまたはウォッチウィンドウで配列をデバッグして、ビジュアルスタジオに最初の要素のみを表示させる回数は何回ですか。定義の最後に「、N」を追加して、スタジオに次のN項目も表示するようにします。IEの「this-> m_myArray」は「this-> m_array、5」になります。


41

インクリメンタル検索:ソースドキュメントを開いた状態で(CTRL + I)ヒットし、検索する単語を入力すると、もう一度(CTRL + I)を押すと、入力に一致する単語が表示されます。


4
これは "> i <ncremental search"と呼ばれます。
コンスタンティン

> ex <増分検索とは対照的に、これはFirefoxが実装するものです。
kibibu

Emacsの世界から来た、これは私が最初に探した機能です。:)
JesperE 2011年

37

ウォッチウィンドウでは、次のコードを使用できます。

@err - display last error
@err,hr - display last error as an HRESULT
@exception - display current exception

35
  • Ctrl-K、Ctrl-Cで、//で始まるテキストブロックにコメントを付ける
  • Ctrl-K、Ctrl-Uで、//で始まるテキストブロックのコメントを解除します

それなしでは生きられない!:)


VB.NETにも当てはまります。ただし、「//」ではなく「 '」を除く
ChrisA

'-'のSQLコメントエスケープシーケンスを使用することを除いて、SQL Server Management Studioにも当てはまります
Thomas Bratt

3
私はあなたがコメントを切り替えられることを常に望んでいましたか?なぜ「ダブルコメント」したいのですか?もう一度押すと、コメントが
外れ

16
時には、関数全体をコメント化したい場合があり、その中のいくつかの行はすでにコメント化されています(つまり、それらは適切なコメントです)。このような場合、トグルがある場合はどうすればよいかが明確ではないため、一般的には明示的に決定する方が適切です。
Pavel Minaev

1
行の先頭ではなくテキストの先頭から開始すると、//の代わりに/ * * /が表示されることに注意してください。ちなみにこれは私の最も使用されている機能です
デフォルトの

25

デバッガが簡単な関数にステップインするのを停止します。

デバッガーでコードをステップ実行する場合、GetID()、std :: vector <>()などの名前を使用して、特に関心のない関数のステップインおよびステップアウトに多くの時間を費やすことができます。 C ++の例を選択します。レジストリを使用して、デバッガにこれらを無視させることができます。

Visual Studio 2005の場合、HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ VisualStudio \ 8.0 \ NativeDE \ StepOverに移動し、除外する各関数または関数セットの正規表現を含む文字列値を追加する必要があります。例えば

std :: vector。* ::。*
TextBox :: GetID

個々の例外についてこれらをオーバーライドすることもできます。たとえば、ベクタークラスのデストラクタにステップインしたいとします。

std :: vector。* :: \〜。* = StepInto

Visual Studioの他のバージョンの詳細については、http://blogs.msdn.com/andypennell/archive/2004/02/06/69004.aspxを参照してください。


うわー、これは素晴らしいです。これが可能だとは思いもしませんでした。
j_random_hacker

23

Ctrl-F10:デバッグ中にカーソルまで実行します。私はこれを見つけるのに何年もかかりました、そして私はそれをいつも使用しています。

Ctrl-E、Ctrl-D:標準のフォーマットを適用します(ユーザーが定義できます)。


1
Ctrl + Shift + F10押すと、すべてのコードがスキップされ、カーソルまで実行されます。コードの特定の行をテストするときに気の利いた。
Samuel Slade、2012年

23

TABキー機能

  1. スニペットのキー名がわかっている場合は、ダブルタブを書いてクリックします。例:書き込み

    foreach

タブキーを2回クリックして

foreach (object var in collection_to_loop)
{

}

2.イベントを書いたら、ここに書いてください

        Button btn = new Button();
        btn.Click +=         

タブキーを2回クリックして

private void Form1_Load(object sender, EventArgs e)
{
        Button btn = new Button();
        btn.Click += new EventHandler(btn_Click);     
}    
void btn_Click(object sender, EventArgs e)
{
        throw new Exception("The method or operation is not implemented.");
}

btn_Click関数は自動的に書き込みます

  1. XAMLエディターで、任意のイベントを書き込みます。例えば:

MouseLeftButtonDown次にタブ
MouseLeftButtonDown=""をクリックMouseLeftButtonDown="Button_MouseLeftButtonDown"し、Button_MouseLeftButtonDown作成されたコードセクションメソッドでもう一度タブをクリックします 。


21

サラフォードはこの市場を追い詰めました。

http://blogs.msdn.com/saraford/default.aspx

Visual Studioのヒントとコツは、棒を振るだけではありません。

他の何人か:

  • Visual Studio 2005および2008の3か月の試用版は完全に機能し、無期限使用できます VSを開く前にシステムクロックを戻すことにより、(永久に)。次に、VSが開いたら、システムクロックを再度進めて、日付時刻が狂わないようにします。
  • しかし、それは本当に海賊行為であり、特に.eduアドレスを持つ誰もがMicrosoft Dreamsparkを介してVS2008の完全に機能するProバージョンを入手できる場合は、お勧めできません。
  • Visual Studioを使用してサードパーティの実行可能ファイルを開き、内部に格納されている埋め込みリソース(ダイアログ、文字列テーブル、画像など)を参照できます。
  • デバッグビジュアライザーは正確に「隠された」機能ではありませんが、提供されたビジュアライザーを使用することに加えて、特定のデータセット用に独自のロールを使用できるため、無視されて非常に便利です。
  • デバッガーの「命令ポインターの設定」または「次のステートメントの設定」コマンド。
  • 条件付きブレークポイント(KiwiBastardによると)。
  • クイックウォッチなどを使用して、変数の値だけでなく、その変数に関するランタイム式を評価できます。

3
それが本当に海賊行為である場合(私はあなたに同意します)、なぜそれを言及するのですか?
Ryan Lundy

1
おそらく気にしない人もいるので、キラレッサ。しかし、Expressエディションは無料なので、海賊版VSバージョンを使用する今日の実際の理由はないと思います。
ジョーイ


17

カスタムIntelliSenseドロップダウンの高さ。たとえば、IMOが途方もなく小さいデフォルト(8)ではなく、50アイテムを表示します。

(これを行うには、次にドロップダウンを表示したときにドロップダウンのサイズを変更するだけで、Visual Studioは次にドロップダウンを開いたときに選択したサイズを記憶します。)


4
VS2010でサイズを変更することはもうできません。
manixrock 2010年

Vs2008では、幅は変更できますが高さは変更できません。
Kapil

16

今日発見された:

Ctrl + .

リファクタリングのコンテキストメニューを表示します(名前を変更したクラス/メソッド/プロパティの下線付きの最後の文字からアクセスできるメニュー-マウスオーバーでメニューまたは "Ctrl" + "。")。


Alt + Shift + F10もこれを行います(C#キーバインドを使用)
カイルトラウバーマン

4
この状況で小さなマウスクリックターゲットを狩ろうとするよりもずっと良い
Richard Ev

14

多くの人はデバッガを知らないか、最大限に使用します-IEはそれを使用してコードを停止しますが、赤い丸を右クリックすると、ブレークオンコンディション、ブレークオンコードを実行するなど、さらに多くのオプションがあります。

また、デバッガを使用して実行時に変数値を変更することもできます。これは優れた機能です。再実行するコードを保存して、愚かな論理エラーなどを修正します。


13

行の転置、Shift-Alt-T
2行(現在と次)を入れ替え、カーソルを次の行に移動します。私はそれを愛しています。1行ずつ位置を変更し、行の転置を実行し、再度行の位置を変更するマクロを作成したため、現在の行を前の行と入れ替えたように見えます(逆行転置)。

単語の転置、Shift-Ctrl-T


これにより、行がページの下に移動します。行をページの上に移動するにはどうすればよいですか?
Alex Baranosky

GordonG、私は次のマクロを書きました:Sub ReverseLineTranspose()DTE.ActiveDocument.Selection.LineUp DTE.ExecuteCommand( "Edit.LineTranspose")DTE.ActiveDocument.Selection.LineUp End Sub
okutane

1
それが判明したので、ここでそれを行うことができました:)
Benjol 2009年

11

C ++を開発する場合、Ctrl-F7は現在のファイルのみをコンパイルします。


11

FormsDesignerのドキュメントアウトラインCTRL + ALT + T

名前の変更、注文などの迅速なコントロール!


知らなかったなんて信じられない。私の人生が変わります。
HipsterZipster

11

ソリューションエクスプローラーで現在のファイルを自動同期するには したがって、ファイルがプロジェクト構造のどこにあるかを調べる必要はありません

ツール->オプション->プロジェクトとソリューション-> "ソリューションエクスプローラーでアクティブアイテムを追跡"

編集:これが煩わしすぎる場合は、Dan Vanderboomのマクロをて、キーストロークを通じてオンデマンドでこの機能を呼び出す。

(注:ジェリーによる以下のコメントから取得)。


3
これはしばらくすると迷惑になります。これをオンデマンドで実行するためのキーボードショートカットがあればいいのにと思います。
ケンワーナー、2009

2
オンデマンドで追跡する方法に関する投稿です。dvanderboom.wordpress.com/2008/03/21/…–
ジェリー

たくさんのファイルを開いている場合、「これ以外はすべて閉じる」(PowerCommandsからのもの)などの操作を行うと、VSが(警告なしで)強制終了される可能性があります。
Benjol 2009

Shift + Alt + Lを使用してソリューションエクスプローラーで現在のファイルに直接ジャンプできるため、Resharperはこれを不要にします。またはCtrl + Shift + Nでソリューション内のファイルをキーワード検索します。
cbp 2010

9

それが「隠されている」かどうかはわかりませんが、多くの人はそれについて知りません- 疑似レジスター。デバッグ時に非常に便利です。常に@ERRをウォッチウィンドウに表示します。


1
@xxxが$ xxxのために段階的に廃止されると聞いています。FWIW、WinDbgも$ xxx形式を使用します。
コンスタンティン

ウォッチウィンドウで "hr、hr"を実行できませんか?私はそれをずっとVC6で使用してきました...
LarryF 2008

優れた。リンクされた記事が示唆しているように、@ TIBに条件付きブレークポイントを設定すると、マルチスレッドアプリのデバッグが大幅に簡略化されます。
j_random_hacker


9

私はあまり使用しませんが、大好きです:

ctrl-alt + mouse select

長方形のブロックで選択し、境界を「ブロック」します。

コメントで述べたように、

alt + mouse select

単なる長方形のブロックを行います。


4
これはVSでの有効なアクションであることを考えると、反対票はおかしいです。
正午シルク

2
少し早いかもしれませんが、これを読んでFirefoxで試してみたいと思いました。結局、ctrl-alt-shiftを使用すると、PDFドキュメントの動作と同様に、マウスを使用して画面全体にドキュメント全体をドラッグできます。
KdgDev 2009

Alt +マウス選択とどう違うのですか?
グッファ2009

グッファ:それはブロックエンディングにのみ行きます。alt-selectを使用すると、何かを含む任意の領域を選択できます。彼らは違う。
正午シルク

私はそれが同様に「シフト」ではなく「ctrl-alt」であることができると思いますが。
正午シルク


8

CTRL + Shift + U->大文字でハイライトされたセクション。CTRL + U->強調表示されたセクションを小文字にするSQLステートメントを文字列クエリに入れるときにSQLステートメントを正しく表示するのに最適です。

すべてが大文字の場合にオンラインで見つけたコードにも役立ちます。


2
彼らがキャメルケースのCTRL + Shiftオプションを持っていないのは残念です... :)プロジェクトを引き継ぐときに私が行う#1リファクタリングでしょう... Larry
LarryF

8

マウスの中ボタンエディタタブをクリックすると、タブが閉じます。


1
私はコードを検索して閉じているので、コードを書くときはいつもこれを使用します(閉じるための「X」はかなり遠いです)。
Kevin Driedger、2009年

8

データのチャンクをnバイトの「配列」として表示するには、Visual Studioのクイックウォッチウィンドウで次の構文を使用します。

variable, n

たとえばfoo、256バイト配列として名前が付けられた変数を表示するには、クイックウォッチウィンドウに次の式を入力します。

foo, 256

これは、nullで終了していない文字列や、ポインタを介してのみアクセスできるデータを表示する場合に特に便利です。Visual Studioの[メモリ]ウィンドウを使用して同様の結果を得ることができますが、クイックチェックウィンドウを使用する方が簡単に確認できる場合があります。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.