17

Visual Studioバージョン2002および2003では、「定義に移動」は、オブジェクトブラウザーで選択されたタイプまたはメンバーを検索します。2005年以降は、代わりに「メタデータから生成された」ソースウィンドウが開きます。これらの新しいバージョンをオブジェクトブラウザに移動するように構成するにはどうすればよいですか?(言い換えれば、私はこれとは反対の問題を抱えています。)

ReSharperをインストールするとこの変更が行われるため、可能である必要があることはわかっていますが、ReSharperを使用せずに行うにはどうすればよいですか?

4

4 に答える 4

11

回避策として、次のマクロを作成できます。

Sub GoToDefinitionUsingObjectBrowser()
    DTE.ExecuteCommand("Edit.SelectCurrentWord")
    DTE.ExecuteCommand("View.ObjectBrowser")
    DTE.ExecuteCommand("View.ObjectBrowserSearch", DTE.ActiveDocument.Selection.Text)
End Sub

次に、ツール/オプション/キーボードに移動し、このマクロにホット キーを割り当てます。

Visual Studio 2010 でテスト済み。

于 2010-07-26T21:19:53.380 に答える
3

re-sharper が行っていることは、Visual Studio SDKを使用してそのクリック イベントでいくつかのフックを実行していると思います。その設定を変更できる単純なメニューや場所はないと思います。


手順 ( CODE Magazineから引用) を右クリック メニューの作成に関連する部分に少し編集しました。

VSPackage の作成

...VS SDK は Visual Studio にさらにいくつかのプロジェクト テンプレートをインストールします。そのうちの 1 つは Visual Studio 統合パッケージ (図 1) で、[新しいプロジェクト] ダイアログ ボックスの [その他のプロジェクトの種類] > [拡張性] の下にあります。

この標準のダイアログ ボックスの後、Visual Studio 統合パッケージ ウィザードが新しいパッケージ プロジェクトの作成をガイドします。

  1. プログラミング言語を選択します。ウィザードは現在、Visual C++ と Visual C# をサポートしています。キー ファイルを作成または選択して、新しいパッケージに署名できます。
  2. 基本的な VSPackage 情報を提供します。ウィザードでは、会社名、VSPackage 名、バージョン、アイコン、詳細情報、およびこのステップでパッケージが設計されている Visual Studio の最小エディション (Professional または Enterprise など) などの詳細を求めるプロンプトが表示されます。この情報は、Visual Studio のスプラッシュ スクリーンと [バージョン情報] ダイアログ ボックスに表示され、パッケージの PLK を要求するためにも使用されます (後で説明します)。
  3. VSPackage オプションを選択します。パッケージは、メニュー コマンド、ツール ウィンドウ、およびカスタム エディターの 3 種類の機能を追加できます。

メニュー コマンドは、Visual Studio の上部にあるメニューまたはコンテキスト メニュー (右クリック) に追加されるコマンドです。

ウィザードがジョブを完了すると、VS SDK はコア要素をソリューションに追加して、新しいパッケージをサポートします。たとえば、パッケージの機能の一部としてツール ウィンドウを選択した場合、プロジェクトにはウィンドウのビジュアル コントロールを配置するユーザー コントロールが含まれます。プロジェクトには、パッケージに追加する機能を処理する .NET コードのファイルも含まれています。

CtcComponents フォルダーには、メニュー、グループ、ボタンなどを定義する疑似 C++ ファイル (ctc ファイル) が含まれています。幸いなことに、Microsoft は CTC ファイルを段階的に廃止し、より使いやすい XML ベースの VSCT ファイル形式に置き換えています (これは出荷される予定です)。 Visual Studio 2008 の SDK で)。

ウィザードは、Visual Studio 内でのパッケージの配管に必要な .NET コードを含むいくつかのファイルを作成します。これらのファイルの一部には、C++ 定数を .NET 定数にマップするクラスが含まれており、他のファイルには、インストール時のパッケージの構成情報が含まれています。

于 2010-07-26T21:29:33.973 に答える