Top > Programmingとか > S.Fordの"ご存知でしたか?"

2005年08月27日

(17) 「ウォッチ」ウィンドウを使った変数値の変え方

この記事は、Sara Ford's WebLogDid you know… How to use the Watch Window to change a variable’s valueを、著者ご本人に承諾をいただいて翻訳したものです。
元記事及び翻訳記事のすべての著作権はSara Ford氏にあります。

Copyright © 2005 Sara Ford. All rights reserved.



他の情報と同じように、これもVS.NET2003・VS2005の両方で有効な機能です。

何らかのコードをデバッグしている時、デバッグを止めることなくすばやく変数の値を変えたいと思ったことはありませんか?そんな時は、「ウォッチ」ウィンドウでその変数の行を追加してください(思い出してください、変数を選択して「ウォッチ」ウィンドウへドラッグすることができるんですよ)。
それから「ウォッチ」ウィンドウの中のその変数の行をダブルクリックすれば、値を編集することが可能です。

そのフィールド以外の部分をクリック(またはEnterを押して確定)すれば、その変数は新しい値に変更されます。

では、コード編集を楽しんでください!

2005年08月26日

(16) コードの中を前後に素早く移動する方法

この記事は、Sara Ford's WebLogDid you know… How to quickly Navigate Forward and Navigate Backward within codeを、著者ご本人に承諾をいただいて翻訳したものです。
元記事及び翻訳記事のすべての著作権はSara Ford氏にあります。

Copyright © 2005 Sara Ford. All rights reserved.



これも、「以前私はまったく知らず」「今ではもうそれなしでは生きられない」ことのひとつです。

たとえば大きなファイルやいくつものファイルを使って作業していて、先ほど見ていた位置にすばやく戻りたいと思ったとしましょう。

標準ツールバーに[戻る][次に進む]アイコン(その次は[開始]アイコンですね)があります。
[戻る]アイコンをクリックすると、最後にマーカーをドロップした位置へ移動します。[次に進む]アイコンをクリックすると、[戻る]アイコンをクリックする直前にマーカーをドロップしていた位置へ移動します。
キーボードショートカットではCtrl+"-"([戻る])、Ctrl+Shift+"-"([次に進む])です。

マーカーのドロップのしかたについては、別のトピックとして別のblogに書くことにします。

では、コード編集を楽しんでください!

2005年08月22日

(15) コマンドをキーボードショートカットへ割り当てる方法

この記事は、Sara Ford's WebLogDid you know… How to bind keyboard shortcuts to commandsを、著者ご本人に承諾をいただいて翻訳したものです。
元記事及び翻訳記事のすべての著作権はSara Ford氏にあります。

Copyright © 2005 Sara Ford. All rights reserved.



ビジュアルスタジオのシェル(の守備範囲)は広大です。
一年前に現在のチームに参加する前、私は毎日Visual J++を使っていましたが、その頃に知っているべきでした。今この手の情報を書く時、私はこんな情報とこつのリストがあったらあのJ++の日々はどうだったろうかと思いを馳せ、あの頃にこういうことがわかっていればなあと思います。

そんなふうに思う事柄のひとつに、キーボード割り当てがあります。たぶん私は、ビジュアルスタジオに用意されている機能にきちんと注目していなかったんでしょう。きっとコマンドの再割り当てをそんなに必要としていなかったので、見つけられなかったんだと思います。
まあともかく、その方法はここにあり、皆さんはそれを知ることができるわけです。

  1. メニューから[ツール]-[オプション]を選択し、表示された「オプション」ダイアログのツリービューから[環境]-[キーボード]を選択してください。

  2. 「以下の文字列を含むコマンドを表示」欄のリストボックスからコマンドを選択するか、またはその上にあるエディットボックスにコマンド名をタイプしてください。

  3. 「ショートカットキー」欄にフォーカスを置いて、現在選択されているコマンドに割り当てるキーボードショートカットを実際に押してください。

  4. [割り当て]ボタンを押してください。
もし指定したショートカットがすでに使用されていたら、「現在使用されているショートカット」欄にバッティングしている機能が表示されます。[割り当て]ボタンを押すと、そのショートカットは新しい機能に割り当て直されます。

割り当てるショートカットには有効範囲があることにも注意してください。「使用する場所」コンボボックスには通常「全体」が表示されています。これはこれから割り当てるショートカットの現在の有効範囲を示しています。
例えば、あるキーボードショートカットを「テキストエディタ」の有効範囲で割り当てると、そのショートカットはテキストエディタにフォーカスがある場合にのみ動作します。この場合、ツールウィンドウにフォーカスがある状態でそのショートカットを使おうとすると、全体を有効範囲とした同じショートカットが割り当てられた別のコマンドが実行されることになります。

このダイアログでは、ビジュアルスタジオを学ぶ別の“おもしろい”方法として、利用可能なコマンドのリストを調べることもできます。
例えば、「編集.1行(Edit.Line)」とタイプすると、「編集.1行(Edit.Line)」を含むすべてのコマンドを見ることができます。
「編集.行の置換(Edit.LineTranspose)」と呼ばれているコマンドに Shift+Alt+T が割り当てられていることを発見することもできます。
行置換を行う必要に迫られた場合に、このようにしてキーボードショートカットを調べることができるわけです。

逆もまた同様に、Ctrl-<文字>が割り当てられているコマンドを知りたいなら、単純に「ショートカットキー」エディットボックスにフォーカスを当てて、後はあなたの心のおもむくままに。

では、コード編集を楽しんでください!



さるべーじ追記

上記手順の2.で直接入力できるコマンドは、日本語名(cmd.LocalizedName)である必要があります。英語版の元の名称(cmd.Name)ではヒットしません。
Add-InやIDEマクロではcmd.Nameでも動作するんですが…。

「Edit.Line」でコマンドを抽出すると、その結果に「Edit.LineTranspose」は含まれますが、日本語名では「編集.1行」での抽出結果には「編集.行の置換」は含まれません。
訳文ではあえて引用されたコマンドをそのまま直訳していますが、原文が意図した効果は、「編集.行」で抽出して「編集.行の置換」にフォーカスを当ててみた方が実感できます。

2005年08月21日

(14) エディタでのテキストのドラッグ & ドラッグ

この記事は、Sara Ford's WebLogDid you know… Dragging and dropping text in the editorを、著者ご本人に承諾をいただいて翻訳したものです。
元記事及び翻訳記事のすべての著作権はSara Ford氏にあります。

Copyright © 2005 Sara Ford. All rights reserved.



[ツール]-[オプション]で表示される「オプション」ウィンドウのツリービュー[テキストエディタ]-[全般]に、テキストをドラッグ & ドロップ編集できるようにするオプションがあります。
このオプションはデフォルトでオンになっています。
これで、コードの特定の領域を選択し、新しい場所までドラッグすることができるようになります。

私は、変数やオブジェクトを直接「ウォッチ」ウィンドウにドラッグ & ドロップするととても便利なことに気づきました。

では、コード編集を楽しんでください!

(13) 段の選択方法

この記事は、Sara Ford's WebLogDid you know… How to do column selectionを、著者ご本人に承諾をいただいて翻訳したものです。
元記事及び翻訳記事のすべての著作権はSara Ford氏にあります。

Copyright © 2005 Sara Ford. All rights reserved.



VS.NETには2種類の選択方法があることをご存じでしたか?ストリームモードと列(ボックス)モードです。
ストリーム選択は皆さんによく知られている方法です。Shiftキーと上下左右のカーソルキーをを押し続けます。

列(ボックス)選択は手動で行と列を同時に選択することができるモードです。たぶんこれが列(ボックス)選択の一番適切な説明だとは思いませんが、まあ、試してみる価値はあります。
列(ボックス)選択を行うには、ShiftとAltを押しっぱなしにして、カーソルキーで囲いたい部分を移動させます。(一度やってみれば)列(ボックス)選択がどんなものか感じがつかめると思います。

では、コード編集を楽しんでください!



さるべーじ追記

列(ボックス)選択は、一般的なテキストエディタやワープロでは「矩形選択」と呼ばれている機能です。
コードの行の長さや改行状態に関わらず、矩形(長方形)に文字列を選択できます。
この状態で切り抜くと、その矩形に含まれる文字列がクリップボードに複写され、その矩形部分が削除されます。その右側に文字列がある場合は、行単位に左詰めされます。
貼り付けた場合は行として差し込まれるのではなく、既存の行のカーソル位置を基準として各行の文字列が割り込まれます。割り込み位置にすでに文字列がある場合は、その文字列は行単位で右へずれます。
各行の右側に桁揃えで記述してあるコメントを一括で削除/複写、あるいは一気に貼り付ける際等に便利です。

本文ではカーソルキーを使った方法を説明していますが、マウスを使った選択も可能です。
始点(選択したい矩形の四隅のうちのいずれか)にカーソルを置き、Ctrl+Altを押しっぱなしにした状態で選択したい矩形のカーソルのある隅に対して対角の位置をクリックするか、またはAltキーを押しっぱなしにして選択したい矩形の対角となる2つの隅をドラッグするかです。

このへんは、MSDN Libraryではテキストの変更と選択のページで解説されています。

慣れると便利ですよ。私は重宝しています。

2005年08月20日

(12) すばやくエディタの背景色を黒にする方法

この記事は、Sara Ford's WebLogDid you know… How to quickly set the editor background to blackを、著者ご本人に承諾をいただいて翻訳したものです。
元記事及び翻訳記事のすべての著作権はSara Ford氏にあります。

Copyright © 2005 Sara Ford. All rights reserved.



[ツール]-[オプション]で「オプション」ウィンドウのツリービュー[環境]-[フォントおよび色]でエディタの背景色を素早く黒にすることができます。

[設定の表示]欄で「テキストエディタ」・[表示項目]欄で「テキスト」が選択されていることを確認してから、[前景アイテム]欄を「既定値」(または「自動」)から「白」に、[背景アイテム]欄を「既定値」(または「自動」)から「黒」に変更してください。

では、コード編集を楽しんでください!

(11) F8を使って検索結果をたどる方法

この記事は、Sara Ford's WebLogDid you know… How to scroll through results using F8を、著者ご本人に承諾をいただいて翻訳したものです。
元記事及び翻訳記事のすべての著作権はSara Ford氏にあります。

Copyright © 2005 Sara Ford. All rights reserved.



[ファイル内の検索]または[シンボルの検索]を使ったあと、複数の検索結果の間をすばやくたどりたくはありませんか?
キーボードショートカットの割り当てがデフォルトであれば、VS.NET2005の「検索結果」ウィンドウ、「シンボルの検索結果」ウィンドウ、「出力」ウィンドウ、「タスク一覧」ウィンドウ、「エラー一覧」ウィンドウに表示されている検索結果をF8で順にたどることができます。
これらのツールウィンドウが複数開かれている場合は、VSは最後にアクティブになったツールウィンドウの中の検索結果をたどることになります。
リストを逆にたどるには、Shift+F8を使います。

もしキーボードショートカットの割り当てを変更しているのであれば、[ツール]-[オプション]で「オプション」ウィンドウを開き、ツリービューから[環境]-[キーボード]を選択し、[編集.次の場所へ移動](Edit.GoToNextLocation)と[編集.前の場所へ移動](Edit.GoToPreviousLocation)の割り当てを確認してください。

では、コード編集を楽しんでください!



さるべーじ追記

この記述は、記述の日付(2005.3.30)から考えてVS.NET2005β1時の機能のようです(私はβ1での動作は検証していません)。β2ではF8は[ステップイン]に割り当てられており、実行→最初の実行行でポーズの状態になってしまいます。
VS.NET2003ではこの機能は説明の通りに動作します。

2005年08月16日

(10) 全画面表示モードにするにはどうすればいいの?(Shift+Alt+Enter)

この記事は、Sara Ford's WebLogDid you know… How to use Full Screen Mode? (Shift+Alt+Enter)を、著者ご本人に承諾をいただいて翻訳したものです。
元記事及び翻訳記事のすべての著作権はSara Ford氏にあります。

Copyright © 2005 Sara Ford. All rights reserved.



お教えしましょうか?
あなたのビジュアルスタジオの基本的な見た目(デザイン)を変更することなくエディタ(もしくは様々な興味深いツールウィンドウ)だけに注目したいですか?
Shift+Alt+Enterを押して(あるいはメニューから[表示]-[全画面表示]と選択して)、全画面表示モードへ切り替えてください。

全画面表示モードの中での配置の変更などすべての見た目の操作は、全画面表示モードの中だけでの変更となります。
ラスベガス広告の下手なだじゃれではありませんが、あなたが全画面表示モードで行うどんな変更もデザインモードなど他のコードに影響を与えないでしょう。

ビジュアルスタジオには、デザイン、デバッグ/実行、全画面表示、単一ファイルの4つのウィンドウレイアウトモードがあります。
単一ファイルモードは、コマンドラインから「devenv <ファイル名>」で起動した時(のレイアウトモード)です。
(配置変更などの)カスタマイズを行った場合、その変更はそのレイアウトモードの中だけの変更にとどまり、他のどのモードにも影響を与えません。

では、コード編集を楽しんでください!

2005年08月15日

(9) Ctrl-K,Ctrl-Cでの選択領域のコメント化とCtrl-K,Ctrl-Uでの選択領域の非コメント化の使い方

この記事は、Sara Ford's WebLogUse Ctrl-K Ctrl-C to comment selection and Ctrl-K Ctrl-U to uncomment selectionを、著者ご本人に承諾をいただいて翻訳したものです。
元記事及び翻訳記事のすべての著作権はSara Ford氏にあります。

Copyright © 2005 Sara Ford. All rights reserved.



これらの情報は、VS2003とVS2005の両方で動作するでしょう。

私はよくこの機能を使います。 選択状態でない場合には、これらのコマンドはカーソルのある行に対してコメント化/非コメント化を行います。

(このblogの記事に対する)フィードバックとコメントを見ていると、私は、皆さんがキーボードショートカットに関するTipsを好きであるように思えます。
ですから、キーボードショートカットのTipsをこれからも提供していこうと思っています。

では、コード編集を楽しんでください!

2005年06月27日

(8) VS「検索」コンボボックスのおもしろい使い方

この記事は、Sara Ford's WebLogDid you know… How to have fun with the Visual Studio Find Combo Boxを、著者ご本人に承諾をいただいて翻訳したものです。
元記事及び翻訳記事のすべての著作権はSara Ford氏にあります。

Copyright © 2005 Sara Ford. All rights reserved.



今日の情報は、ShawnのFind Combo Box.からです。これらの情報は、VS2003とVS2005の両方で有効です。
  • 特定行へジャンプするには - 行番号を入力してCtrl+Gを押してください。

  • 特定のファイルへジャンプするには - ファイル名を入力してCtrl+Shift+Gを押してください。

  • 特定のファンクションにブレークポイントをセットするには - ファンクション名を入力してF9を押してください。

  • ヘルプを表示するには - キーワードを入力してF1を押してください。
またエイリアスコマンドを使って…
  • 呼び出し履歴を取得するには - "> kb"を入力してください。

  • Webページを表示するには - "> nav http://www.microsoft.com"を入力してください。
VSコマンドのエイリアスの完全なリストについては、http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vsintro7/html/vxgrfpredefinedcommandlinealiases.aspを参照してください。

この他にも、役に立つVSコマンドのエイリアスがあるかもしれませんよ?

では、コード編集を楽しんでください!



さるべーじ追記

指定行へのジャンプは、VS2005β2では効きません。デフォルトではCtrl+Gは[Debug.Immediate - デバッグ.イミディエイト]に割り当てられているため、上記の操作ではイミディエイトウィンドウが表示されてしまいます。
「指定行へのジャンプ」のVSコマンドは[Edit.GoTo / 編集.ジャンプ]です。これは単独で押下すると「指定行へのジャンプ」ダイアログが表示され、「選択」コンボボックスから押下すると上記記事通りの動作を行う機能を持ちます。
この機能をVS2005β2で使ってみたい方は、[Edit.GoTo / 編集.ジャンプ]を何らかのショートカットキーに割り当ててみてください。私はAlt+G(VS2005β2のデフォルトではどの機能にも割り当てられていません)で試してみたところ、ちゃんと上記記事通りの動作になりました。

「特定のファイルへのジャンプ」のVSコマンドは[Edit.OpenFile / 編集.ファイルを開く] 、ブレークポイントのセットは[Debug.ToggleBreakpoint / デバッグ.ブレークポイントの設定解除]、ヘルプの表示は[Help.F1Help / ヘルプ.F1ヘルプ]となります。
これらは上記記事通り、VS2003・VS2005β2で共通の機能です。

「特定のファイルへのジャンプ」の場合は、拡張子までを入力する必要があります。

「特定のファンクションにブレークポイントをセット」の場合、F9はブレークポイントのセットのみが可能です。単独でF9を押下した時のようなトグルではありませんので、セットしたブレークポイントの解除はできません。ただしセットと同時にフォーカスがそのファンクション名へ移動しますので、その時点で単独F9を押すとセットが解除されます。ですから、実用上はほぼセット/解除ができるのと同じ意味合いとなります。

「呼び出し履歴」のエイリアスコマンドは、ブレークポイントなどでプログラムの実行が中断されている時に、「呼び出し履歴」ウィンドウと同じ内容をコマンドウィンドウに表示するものです。
コマンドウィンドウが他のウィンドウと重ね合わせてタブ化され、しかも他のウィンドウが表示されている場合には、コマンドウィンドウが背面のまま実行されますので、ちょっと注意が必要かもしれません。

VSコマンドエイリアスの一覧は、日本語版msdn LibraryではVisual Studio コマンドの定義済みのエイリアスのページとなります。

2005年06月26日

(7) 「右端で折り返す」と「仮想空間を使用」の指定方法

この記事は、Sara Ford's WebLogDid you know… How to Enable Word Wrap or Virtual Spaceを、著者ご本人に承諾をいただいて翻訳したものです。
元記事及び翻訳記事のすべての著作権はSara Ford氏にあります。

Copyright © 2005 Sara Ford. All rights reserved.



VS2003とVS2005に共通して、「右端で折り返す」と「仮想空間を使用」のどちらか一方を指定することができます。

使い方は、

  1. メニューから[ツール]-[オプション]を選択します。

  2. [テキストエディタ]-[すべての言語]-[全般](またはあなたが使用する特定の言語)を選択します。

  3. 「右端で折り返す」と「仮想空間を使用」のどちらかをチェックします。
VS2005では、「右端で折り返す」機能に「右端の折り返しの記号を表示する」オプションを指定できます。


さるべーじ追記

VS2003ではこの2つの機能はそれぞれ独立しており、別々に指定することが可能です。が、実際には「右端で折り返す」機能が優先され、「仮想空間を使用」機能はチェックがついているにも関わらず無効となってしまいますので、かえって紛らわしくなっています。

VS2005では「右端で折り返す」と「仮想空間を使用」のどちらかにチェックをつけると、もう一方はグレーアウトされます。これはVS2003での紛らわしさを解消するための改良なのだと推測できます。
もっとも、どぅせならもう一歩進めてオプションボタンにしてほしいところですね。

また、VS2005では「右端の折り返しの記号を表示する」機能はオプションとしてOn/Offできるようになりましたが、VS2003では必ず表示されます。

ちなみに、「右端で折り返す」(Word Wrap)は「コードウィンドウに右にはみ出した記述を次の行へ折り返す」機能です。
仮想的に折り返した2行目以降はインデントされずに1桁目からの表示となりますので、ネストを重視する場合はかなり見にくい状態となります。

「仮想空間を使用」は、行末の文字のない部分にもスペースがあるものと見なし、文字の入力されていない部分にまでカーソルを移動させることができる機能です。
スペースを見えるようにする方法でご紹介した方法でスペースを可視化しておいてからこの操作を行うと、文字のない部分にカーソルを当てただけの状態では実際に何も文字が現れず、そこへ1文字入力したとたんに行頭から入力文字までの間にスペースが追加される動作を目で見ることができます。

(6) ドキュメントウィンドウの分割と新しいウィンドウの生成

この記事は、Sara Ford's WebLogDid you know… Splitting Windows and Creating New Windows for documentsを、著者ご本人に承諾をいただいて翻訳したものです。
元記事及び翻訳記事のすべての著作権はSara Ford氏にあります。

Copyright © 2005 Sara Ford. All rights reserved.



カレントウィンドウを分割するには、メニューから[ウィンドウ]-[分割]を選択するだけです。(または、ファイルタブチャンネルとドキュメントのスクロールバーの間にあるスプリッタコントロールを使います。)

同じドキュメントで新しいウィンドウを生成するには、同じくメニューから[ウィンドウ]-[新規ウィンドウ]を選択するだけです。同じドキュメントのビューを好きなだけ開くことができます。(残念なことに、VBではこの機能はサポートされていません。)

これらの機能は、VS2003でもVS2005でも有効です。



さるべーじ追記

確かに、ひとつのファイルを複数のビューウィンドウで開く機能はVBでは無効になっています(メニューには表示されますが、グレーアウトになっていて使うことができません)。
これはVS2005β2・Express Editionでも同様です。

…なぜなんだろぅ?特にVBだけ複数ビューにすると滞りのあるよぅなオートコレクトを行っているよぅにも思えないんですが…(T-T)

(5) 任意のファイルをバイナリエディタでオープンする方法([ファイルを開くアプリケーションの選択]を使って)

この記事は、Sara Ford's WebLogDid you know… How to open something in the binary editor (using Open With)を、著者ご本人に承諾をいただいて翻訳したものです。
元記事及び翻訳記事のすべての著作権はSara Ford氏にあります。

Copyright © 2005 Sara Ford. All rights reserved.



VS2003とVS2005に共通して、「ファイルを開く」ダイアログに[ファイルを開くアプリケーションの選択]という機能があります。私は数え切れないくらいこのダイアログを使っていますが、[開く]ボタンがボタンとコンボボックスのハイブリッドになっていることにまったく気づきませんでした。

使い方は、

  1. メニューから[ファイル]-[ファイルを開く]を選択します。

  2. [開く]ボタンの右横にあるドロップダウンボタンをクリックします。
    (キーボードからなら下矢印キーを押すだけです。)

  3. 「バイナリエディタ」を選択し、[OK]または[開く]ボタンを押します。(VSのバージョンによって異なります。)
では、(バイナリ)コード編集を楽しんでください!


さるべーじ追記

実際には、上記説明の2.と3.の間に、
  [ファイルを開くアプリケーションの選択]を選択
という手順が必要となります。

また、上記で説明している手順は、VS2005β2のものです。VS2003では、1.の手順は
  メニューから[ファイル]-[開く]-[ファイル]を選択
となります。

(4) スペースを見えるようにする方法

この記事は、Sara Ford's WebLogDid you know… how to enable Visible White Space?を、著者ご本人に承諾をいただいて翻訳したものです。
元記事及び翻訳記事のすべての著作権はSara Ford氏にあります。

Copyright © 2005 Sara Ford. All rights reserved.



これもまた単純なちょっとした機能ですが、特に私と同じように大量のスペースを取り扱う方にはとても強力です。最初、開発担当者がそれを使っているのを見た時には「やだなー」と思いましたが、今ではファイル内のスペースのテストをしない時でも病みつきです。

この方法はVS2003でもVS2005でも有効です。
[編集]-[詳細]-[スペースの表示]を選択してください。

注:このオプションの設定はファイルをオープンしている時に限って有効ですが、設定の状態はすべてのファイルとVSのセッション全体に対して反映されます。



さるべーじ追記

この機能のショートカットは、Ctrl+R, Ctrl+Wです。(VS2003/2005β2共通)

2005年06月25日

(3) インクリメンタル検索のパワー

この記事は、Sara Ford's WebLogDid you know… The power of incremental searchingを、著者ご本人に承諾をいただいて翻訳したものです。
元記事及び翻訳記事のすべての著作権はSara Ford氏にあります。

Copyright © 2005 Sara Ford. All rights reserved.



私は、ある人に教えてもらうまで、インクリメンタル検索について知りませんでした。これはカレントドキュメント内を検索する際の、ものすごくパワフルなツールです。

使い方は、

  1. Ctrl+I(あるいは Edit.IncrementalSearch / 編集.インクリメンタル検索 に割り当てられた何か)を押してください。

  2. 検索したい文字を入力し始めてください。
    (注:1文字打つごとにカーソルが次の一致ヶ所へ移動し、検索された文字列が選択状態になります。)

  3. もしその入力文字列のままで次の単語を検索したいなら、もう一度Ctrl+Iを押してください。

  4. もし後方検索をしたいなら、Ctrl+Shift+Iを押してください。

  5. インクリメンタル検索を終了させるには、ESCを押してください。
では、コード編集を楽しんでください!


さるべーじ追記

Ctrl+Iを押した時点で、ステータスバー左端に「インクリメンタル検索:」(Ctrl+Shift+Iの場合は「インクリメンタル検索を元に戻す:」)と表示されます。
この後1文字入力するごとに、入力した結果の文字列が表示されていきますので、自分が今どんな文字列を入力しているのかを確認することができます。

一度ESCで終了してから再度同じ文字列でインクリメンタル検索をかけたい場合は、Ctrl+I(またはCtrl+Shift+I)を2回押してください。前回の入力文字列が表示され、検索が開始されます。

もし打ち間違ってしまった場合は、BackSpaceキーで1文字削除することができます。

VS2005β2では、「Edit.IncrementalSearch / 編集.インクリメンタル検索」は デフォルトでは Alt+I に割り当てられています。

(2) Ctrl+Dウィンドウで前方・後方へのクイック検索

この記事は、Sara Ford's WebLogDid you know… Use the Ctrl+D window to do Quick Find both Forward and Backwardを、著者ご本人に承諾をいただいて翻訳したものです。
元記事及び翻訳記事のすべての著作権はSara Ford氏にあります。

Copyright © 2005 Sara Ford. All rights reserved.



昨日の投稿への追記ですが、Ctrl+Dウィンドウの主目的はカレントドキュメント内へのクイック検索です。もしクイック検索の条件を変更したいなら、Ctrl+F([編集]-[検索と置換]-[検索])を押して表示される「検索」ツールウィンドウ上で条件を変更すれば、それがCtrl+Dウィンドウにも反映されます。

でも、この投稿で一番お伝えしたいことは何だと思いますか?それは、前方検索(検索したい単語を入力してEnter押下)だけではなく、後方検索(検索したい単語を入力してShift+Enter押下)もできるんですよ、ということです。

では、コード編集を楽しんでください!



さるべーじ追記

このTips、前半はVS2003/2005共にOKなんですが、「Shift+Enterによる後方検索」はVS2005(β2で確認)で追加された機能のようです。

私のVS2003環境では動作しませんでした。Shift押下の有無に関わらず、「検索」ツールウィンドウの[上へ検索]チェックボックスのOn/Off状態に従って検索の方向が決まってしまいます。
その代わり、Enterの変わりにF3押下で前方・後方の制御ができました。
Ctrl+Dウィンドウに検索したい単語を入力してからF3で前方検索、Shift+F3で後方検索となります。
ただし、F3/Shift+F3を押すと、「検索」ツールウィンドウの[上へ検索]チェックボックスのOn/Off状態も変わります。
このあたりは連動してしまぅよぅですね。

VS2005β2でのShift+Enterは、「検索」ツールウィンドウの[上へ検索]の状態を変更しないまま後方検索するようになっています。
F3/Shift+F3の機能も2003同様に使用できますので、このへんのびみょーな違いで使い分けるとちょっと便利かもしれません。

2005年06月22日

(1) Visual StudioコマンドをCtrl+Dウィンドウから実行させる方法

この記事は、Sara Ford's WebLogDid you know… Use the Ctrl+D window to run Visual Studio commandsを、著者ご本人に承諾をいただいて翻訳したものです。
元記事及び翻訳記事のすべての著作権はSara Ford氏にあります。

Copyright © 2005 Sara Ford. All rights reserved.



標準ツールバーにある検索コンボボックス(通称「Ctrl+Dウィンドウ」)を使ってVisual Studioコマンドを実行することができます。これはVisual Studio .NET 2003とVisual Studio 2005のどちらでも可能です。

使い方は、

  1. Visual Studio上のどこでも構いませんので、Ctrl+Dを押してください。
    注:検索ウィンドウへフォーカスを移動させるVisual Studioコマンドは「Edit.GoToFindCombo」です。もしあなたがCtrl+Dを他のコマンドに割り当てているといけないので、念のため。

  2. 検索コンボボックス上で「>」を押してください。

  3. 「>」に続いてVisual Studioコマンドを入力してEnterを押すと、…例えば、「>File.NewFile」であれば「新しいファイル」ダイアログが表示されます。
Visual Studioのバージョンによってインテリセンスの動作が違う場合があることにも気をつけましょう。
では、コード編集を楽しんでください!


さるべーじ追記

この後、Charles Srisuwananukornさんより

Ctrl+/なら検索ウィンドウへフォーカスが行き、さらに「>」まで自動的に表示されるコマンド「Tools.GoToCommandLine」が実行できるよ。

とのコメントがあり、Sara Fordさんは「そっちを言うのを忘れてたー」と返していました(^^;)。



さるべーじ追記2

「Visual Studioコマンド」について耳慣れない方は。
~.NET 2003までならmsdnの「Visual Studio コマンド」を、
2005ならmsdn2の「Visual Studio のコマンドおよびスイッチ」を参照してください。

独自のショートカットキーを割り当てたことがある方ならお分かりのことと思いますが、メニューから[ツール]-[オプション]で表示される「オプション」ダイアログで[環境]-[キーボード]と選択した時に表示される「以下の文字列を含むコマンドを表示」テキストボックスの下のリストボックスに一覧表示されるコマンド群のことです。

日本語版Visual Studioではコマンドは日本語で表示されています。
例えば、上記の「File.NewFile」は「ファイル.新しいファイル」、「Tools.GoToCommandLine」は「ツール.コマンドラインに移動」となります。

試しに検索コンボボックスで「>ファイル.新しいファイル」と入力してみると、それでも「新しいファイル」ダイアログが表示されました。日本語コマンドでも同様に効きます。

ちょっとつらいのは、

  • コマンドの一覧が情報提供されていない。

  • オプションダイアログではリストボックスが小さすぎてとても眺めにくい。

  • またコピーできないのでテキストファイルにして手元に置くこともできない。
    日本語コマンドで表示されるので、元のコマンド名がわからない。
    日本語では入力しにくいし、洋書等で言及されている場合に突合せができない。海外サイトを検索する際にも不便。
なんてところでしょうか。

ので、Visual Studioコマンドの一覧テキストファイルを吐き出すコードを作ってみました。

  1. VS IDEのメニューから[ツール]-[マクロ]-[マクロIDE...]で「Microsoft Visual Studio Macros」を開き、

  2. プロジェクトエクスプローラで「MyMacros」を選択し、

  3. マクロIDEのメニューから[ファイル]-[新しい項目の追加]で「新しい項目の追加」ダイアログを表示させ、

  4. [テンプレート]で「モジュール」を選択、[ファイル名]に「modMacroSal」と入力して[開く]をクリックし、

  5. プロジェクトエクスプローラから今作成したモジュールをダブルクリックしてコードウィンドウを開いたら、以下のコードを貼り付けます。
Imports EnvDTE
Imports System.Diagnostics
Imports System.IO
Public Module modMacroSal
Sub OutputCommandList()
'Commands
Dim cmds As Commands = DTE.Commands
Dim i As Integer = 0
Dim j As Integer = 0
Dim strOut As String = ""
Dim strBind As String = ""
Dim fw As StreamWriter
Try
fw = New StreamWriter("C:\VSCommands.txt", True)
For Each cmd As Command In cmds
i += 1
If cmd.Name <> "" And cmd.LocalizedName <> "" Then
j += 1
strOut = "(" & CStr(i) & "," & CStr(j) & ")[" _
& cmd.Name & "] - [" & cmd.LocalizedName & "]"
strBind = ""
For k As Integer = 0 To cmd.Bindings.getlength(0) - 1
strBind &= "[" & cmd.Bindings(k) & "]"
Next
If strBind <> "" Then strOut &= " (" & strBind & ")"
fw.WriteLine(strOut)
End If
Next
Finally
fw.Close()
End Try
End Sub
End Module

ここまでできたらVS IDEへ戻り、マクロエクスプローラを表示させてみましょう。
マクロエクスプローラはAlt+F8、またはメニューから[ツール]-[マクロ]-[マクロエクスプローラ]で表示できます。

で、マクロエクスプローラの中の[MyMacros]-[modMacroSal]と順にクリックし、表示された「OutputCommandList」をダブルクリックすれば、今作成したマクロが実行されます。

あとは数十秒(けっこぅかかるんです)待つだけで、CドライブのルートにVSCommands.txtができあがります。
コマンド名(.Name)・日本語コマンド名(.LocalizedName)の両方を出力しますので、対比表にもなっています。
出力フォーマットは私の好みですので、CSV出力してExcelで読みたい方や、xml文書にして利用したい方は、「strOut = 」の行を適当に編集してください。
--------------------------------------------------------------------------------
さるべーじ追記3

VS2005β2では、検索コンボボックスはデフォルトではツールバーに含まれなくなってしまいました。
VSコマンドとしては「Edit.GoToFindCombo / 編集.検索コンボボックス」として健在ですので、メニューから[ツール]-[ユーザー設定]で、任意または新規のツールバーに追加することは可能です。
またCtrl+Dも、デフォルトでは「既存項目の追加」に割り当たってしまっていますので、必要であればショートカットキーを割り当て直してください。