メソッドのリストを表示するVisual Studioウィンドウ


126

Visual Studioで、アクティブなクラスのメソッドのリストを表示するウィンドウはありますか?ソリューションエクスプローラーのような小さなウィンドウが最適です。Eclipseには1つあります。


2
将来的に検索する人のために-CodeMaidはそのようなリストなどを提供しています!codemaid.net
BKSpurgeon

回答:


127

コードウィンドウの真上にドロップダウンがあります。

代替テキスト

これはナビゲーションバーと呼ばれ、3つのドロップダウンが含まれています。最初のドロップダウンには、プロジェクト、2番目のタイプ3番目のメンバー(メソッド)が含まれています。

ショートカットCtrl+ F2プロジェクトのドロップダウンにフォーカスを移動)を使用し、Tab2回押して(フォーカスを3番目のドロップダウンに移動)、フォーカスを移動できます。下矢印キーでリストを展開します。

フルサイズの画像


16
これを開くショートカットがあるか知っていますか?これにマウスを使うのは面倒です。
Mariusz Pawelski、2011年

@ChrisFそれはvs2012ではそのウィンドウを見ることができないようです。それを有効にする方法は?
ysrb 2013

@ysrb-わからない。私はまだVS2010にいます。この質問がVS2008に関するものであることを考えると、新しい質問をすることをお勧めします(重複していないことを示すために、この質問にリンクしてください)。
ChrisF

10
また、これを開くためのショートカットや、永続的に開いているウィンドウやフレームを探しています。
Xonatron 2013年


43

最初の回答(@ChrisF)に示すように、ドロップダウンをオンにする方法を見つけました。

[オプション]-> [テキストエディター]->(使用言語)に移動します。

表示セクションの「ナビゲーションバー」にチェックを入れます。


あなたは私の日を救う!
Emanuel Gianico

VB.NETのナビゲーションバーはいつも見逃していた。これはそれを可能にします。どうもありがとう。
huha 2016年

「追加」の下のメニューに「オプション」があります。
ohgodnotanotherone 2017

ツール(タブ)>オプション>テキストエディター>(あなたの言語)
SandstormNick

mark.oliver.asp.newbieに感謝します。2015年から2019年にアップグレードしたばかりで、すべてのオプションメニューでこのバーを見つけようとしていました。
ExcelsiorTechSolutions

30

Visual Studio 2012以降、ファイルに対応するノードを展開すると、ソリューションエクスプローラーで概要(フィールドとメソッド)を表示できます。


2
私はこのオプションをドロップダウンオプションよりも好みます。
dbernard 2013年

aがある場合、そのファイル内のメンバーだけでなくpartial classすべてのメンバーがそのノードの下にリストされることに注意してください。

24

ナビゲーションバーへのショートカットはCtrl+ F2です。最初にタイプのドロップダウンに移動します。タブを押してメソッドのドロップダウンに移動し、メソッドを入力してそのメソッドに移動します。


22

ReSharperには「ReSharper | ウィンドウ| 現在のコードファイル構造を視覚化するために使用される[ファイル構造]ウィンドウ。


確かに非常に便利ですが、そのウィンドウのキーボードショートカットはありますか?
ニコラ

`Alt +`はそのためのキーボードショートカットです。
Hallmanac

19

Resharperには、Eclipseのアウトラインビューによく似た[ファイル構造]ウィンドウがあります。もともと回答:

Visual Studio 2012:クラス内のすべてのメソッドのリスト

Resharperヘルプ:http ://www.jetbrains.com/resharper/webhelp/Reference__Windows__File_Structure_Window.html

ファイル構造ウィンドウのスクリーンショット


CTRL-F12を押すと、Resharperのメンバーナビゲーションウィンドウに移動します。クラス内のすべてのメソッドをリストし、検索するオプションを提供します。
WoZoNe 2017年

1
CTRL-F11は、上記のResharperウィンドウを示しています。これはまさに私が探していたものです。
gattsbr

11

古い質問ですが、多分この答えは私を助けてくれたあなたを助けます。

あなたはここからcodemaid拡張機能をダウンロードすることができますcodemaidウェブサイト

それはあなたが彼らのウェブサイトで見つけるかもしれない多くの機能を持っています。

この質問に関連するものはコードの掘り出しです

ツリービュー階層からC#およびC ++ファイルのコンテンツを視覚化して移動します。さまざまな並べ替え方法をすばやく切り替えて、全体像を把握します。ドラッグアンドドロップでコードを再編成します。McCabeの複雑性スコアと有益なツールヒントをご覧ください。

つまり、メソッドとプロパティを確認し、ドラッグアンドドロップでそれらを再編成することができます。それは私の日常の使用拡張機能です


CodeMaidは、組み込みのVS機能のほとんどを再実装し、重複したメニュー項目がIDEを汚染するのを見るのはやり過ぎであり、不快です。
Ivan G.

私はそうは思わない、のようないくつかの便利な機能はctrl+m+zctrl+m+spacectrl+m+fsort linesclean whole solutioncollapse all in solution explorerarrange methods with drag and dropmethod and properties treeあなただけreshraperのようないくつかのツールで見つけることができるというツールです。
Mo Hrad A 2016

1
私はそれを犯罪だとは言いませんでしたが、「コードのクリーンアップ」手順のほとんどは、私が気にしないコーディングスタイルの聖なる戦争を主に引き起こします。商品が一番です。1つのファイルにスペースとタブがあるかどうかさえ気にしません。生産性のみです。
Ivan G.

コードの概要(スペード)は本当に役に立ちます。それ自体がテキストエディタで現在アクティブ/選択されているメンバーと同期していると便利です。
Markus L

@MarkusLあなたはここで新しい問題を作成することができます:github.com/codecadwallader/codemaid/labels/enhancement
Mo Hrad A

8

Eclipseのアウトラインビューに直接相当するものはありません。私が見つけた最も近いものは、すべてのクラスとそのメンバー/メソッドを一覧表示するクラスビューです。上部に検索ボックスがあり、選択を絞り込むことができます。


ここではC ++のVS 2010以降、私のコードを非表示にするドロップダウンが煩わしいため、私はこの答えを好みます。クラスビューを表示するもう1つの便利なショートカットはCtrl + Shift + Cです。
ジェフT.

5

Visual Studio 2015で、[表示]> [その他のウィンドウ]> [リソースビュー]を選択します。キーボードショートカットはCtrl+ Shift+ Eです。クラスビューよりも見た目がきれいです。クラスビューウィンドウでは、アクセス修飾子(プライベート/保護/パブリック)などに基づいてメソッド/属性をフィルタリングできます。


2
これはクラスのフィールドとメソッドをリストしますが、最初に必要なクラスに移動する必要があります。OPが要求したのは、現在のアクティブクラスです。 つまり、現在コードビューで開いているものです。現在開いている78のメソッドと63のフィールドを持つ3000行の長いクラスがあり、既知のメソッド名にすばやく移動したいが、その場所を思い出さない場合、最初に名前空間を移動する必要があるのは、Ctrl-Fよりも優れています。 。
Draco18sは、

1
ありがとう、これはまさに私が探していたものです!これは非常に役立つツールです。
user1529413

4

テキストエディタの上部に、現在のタイプのすべてのメソッド、プロパティなどをリストするドロップダウンがあります。そして、それはクリック可能です(それらのメンバーが他のファイルで定義されている場合でも-その場合、それらはグレー表示されますが、それでもナビゲートできます)。

また、クラスエクスプローラー(Ctrl+ Alt+ C)を使用してプロジェクトをナビゲートすると、すべてのタイプの完全な概要が表示されます。ただし、ツール/オプションには、そのウィンドウでアクティブなタイプを追跡できる設定がないようです(ソリューションエクスプローラーにあります)。おそらく、マクロまたはアドインが適切です...



1

あなたは、クラスビューウィンドウを意味するか([表示] - > [クラスビュー、またはCtrl+ WC)?

また、インテリジェンスポップアップウィンドウもあります。


私はこれらの2つのどれも有用ではないと思います。クラスビューでは、まずクラスを見つける必要があります。インテリセンスを表示するには、どこかにクラス名を書くか、インスタンス化する必要があります。他の回答には、より速くて使いやすいソリューションが含まれています。
David FerenczyRogožan15年

1

Visual Studio 2010を使用

ツール->設定->エキスパート設定を選択します

左下隅に「クラスビュー」タブが表示され、右隣に「ソリューションエクスプローラー」タブが表示されます。

「クラスビュー」レイアウトの上部に、クラス名、列挙型、構造体、...のリストが表示されます。「クラスビューレイアウト」の下部に、これらのクラス、列挙型、またはメンバーのリストが表示されます。構造


すでにsagieが回答したように、Dawid Ferenczyはすでにコメントしています、「クラスビューでは、まずクラスを見つける必要があります。インテリセンスを表示するには、クラス名をどこかに記述するか、インスタンス化する必要があります。他の回答には、より速くて使いやすいソリューションが含まれています」
Draco18sは、

1

これを行うためのきれいな方法は、View.SynchronizeClassViewを使用することです。

ここに画像の説明を入力してください

さらに、次のことができます。

  • クラスビューウィンドウを固定する
  • 上部のペインを折りたたみます(すべてのクラスのリスト)

そして今、それはVisual Assistの機能「現在のファイルのメソッドのリスト」(メンバーもリストする)のように感じられます。


どこで見つけたのView.SynchronizeClassView?私はVisual Studioの2017年に「正常な」クラスビューを見つけることができます
user11909

これは、コマンドウィンドウに入力するコマンドです。残念ながら、ClassViewを自動的に同期するように設定することはできず、毎回手動で同期する必要があります。ショートカットを割り当てることができますが、これはまだ不必要な不便です。
mKay

0

Microsoftはこの便利なツールを実装する気にはなれませんが、もし偶然にVisual Assistを使用できる場合は、VAssistX> Tools> VA Outlineにあります。プラグインは無料ではありません。


0

私はずっとUSysWare DPackを使ってきました。これは非常に小さく、邪魔にならないので、使用している現在のファイルのメソッドのリストを表示するクイックショートカットウィンドウが必要な場合は、それだけが提供されます。良いことは、最新のVSリリースに同じ機能を提供し続けるためだけに、作者が10年以上も活動していることです。

https://marketplace.visualstudio.com/items?itemName=SergeyM.DPack-16348

インストール後、を使用Alt + Mしてメソッドリストウィンドウを表示します。代わりにすべてのメンバーを表示することを好みますが、それはあなた次第です。


-1

VS 2012では、[表示]> [クラスビュー]に移動すると、メインタブ領域にクラスビューGUIが表示されます。これをサイドドックにドラッグすると、Eclipseとまったく同じレイアウトになります。

-e


これは何か違うものです。現在のクラス(エディターで開かれたクラス)のメンバーは表示されません。手動で見つける必要があります。現在のファイルと同期できるため、ソリューションエクスプローラー(展開ファイルとその下のクラス)を使用することをお勧めします。
David FerenczyRogožan15年

-1

これを行う最善の方法は、コード定義ウィンドウを表示->コード定義ウィンドウで開くか、Ctrl+ W、を押すことDです。

そして、それを浮かせて、メソッドの定義を別のウィンドウで持っています。

よろしく


OPの質問にどのように答えますか?彼は定義をまったく必要とせず、クラスのメンバーのリストを必要とします。定義を表示するには、通常、そのようなリストでメソッドをダブルクリックします。
David FerenczyRogožan15年

-4

grep -i "sub" filename.vb> methods.txt grep -i "function" filename.vb >> methods.txt


これが質問への回答を提供する方法を説明してください。
AdrianHHH 2015年

そのソリューションはvbクラス内のすべてのサブと関数のリストを提供するので、それは質問に答えます。
John Reichert、2015年

彼はクラスのメソッドのリストを望んでいませんでした。彼は、アクティブなクラスのメソッドのリストを含むVisual Studioのウィンドウを必要としていました。彼はEclipseでも同じことを言及しました。あなたの答えがまったく違うものであることは明らかです。
David FerenczyRogožan15年
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.