Visual Studio2015にリファクタリングメニューがありません


87

Visual Studio2015で右クリックのコンテキストメニューを見つけるのに問題があります。プロジェクトまたは作業中のファイルに問題がないことを知っています。Visual Studio 2013で右クリックのコンテキストリファクタリングメニューを見つけることができます。ただし、Visual Studio 2015では、右クリックのコンテキストメニューにリファクタリングのコンテキストメニューがありません。

どこに行ったの?どうすれば元に戻すことができますか?

メニューの[編集] →[リファクタリング]を提案に含めることはできません。

メニューの[ツール] → [設定のインポートとエクスポート]を使用してVisualStudioの設定をデフォルトにリセットしようとしましたが、メニューも元に戻りませんでした。


私のポイントは、メニューバーのリファクタリングメニューが欠けているものではないということです。
ヤング氏

それが出てこない特定の時間はありますか?メソッドの名前変更やメソッドの抽出のように?またはどこでも?
クリトナー2015

問題はどこにでも存在するようです。
ヤング氏

1
コードがコンパイルされない場合は機能しなくなりました。以前は、不完全なコードで使用できました。
PRMan 2016

回答:


93

一部のリファクタリングツールは再配置されているか、少なくとも以前とは異なる方法でアクセスできます。

例としてextractメソッドのリファクタリングを使用すると、この関数を引き続き使用できます。以前と同じように行われるわけではありません。

抽出するパーツを選択します

右クリック

右クリック

クイックアクション

クイックアクション

抽出方法をクリックします

抽出方法をクリックします

彼らはもっと「ReSharper」を感じるようにそれを変えたと思います。ただし、すべての機能は引き続き存在するはずです。

Visual Studio 2015でのリファクタリングの詳細については、こちらをご覧ください。これがお役に立てば幸いです。リファクタリング(C#)


ええ、確かに慣れるのに少し時間がかかります。私はそれが...多分... ReSharperのの通常のユーザーのために、より直感的だと賭けたい
Kritner

2
スクリーンショットをありがとうございます。これが他の方法で移動された場所を見つけたかどうかはわかりません!:-)
ヤング氏

1
参考:VSの一部のバージョンには、この機能に関するバグがあるようです。新しいメソッドを抽出するためにコードをリファクタリング
Liam

2
いい説明。+私はきれいな写真の吸盤です:)
Fetchez la vache 2015

1
@BarthoBernsmannコンテキスト固有ですが、抽出用に強調表示されたメソッド内に有効なコードがありますか?
クリトナー2016年

2

マウスの右クリックを使用してリファクタリングにアクセスする必要がなくなりました。

VisualStudio内でキーボードショートカットキーを使用することをお勧めします。

可能なすべてのショートカットキーについては、「Visual Studioのデフォルトのキーボードショートカット、リファクタリング」を参照してください。


1
指定されたリンクは、Visual Studio2008のページに移動します。VS2015のリストはmsdn.microsoft.com/en-us/library/da5kh0wa.aspx#bkmk_refactorにあります。
テオフィラス2017

ショートバージョン:CTRL + R、M。また、[編集]> [リファクタリング]> [メソッドの抽出...](コードブロックが強調表示されている場合にのみ表示されます)。
クリス

1

プロジェクトを機能させるには、プロジェクトをビルドする必要がある場合があります。

Visual Studio2013でのASP.NETWebフォームのコード編集を参照してくださいMicrosoftDocs。(欠落している場合は、Microsoftが提供する例を使用していることが重要です。)でリファクタリングと名前の変更を参照C#のページにある方法を抽出します。指示に従うと、コードをメソッドに抽出する機能が見つかりません。[編集]メニューを試したところ、有効なコードがないと表示されました。次に、プロジェクトをビルドし、コードを抽出する機能が利用可能になり、機能しました。


0

リファクタリングするオブジェクトの名前を変更すると、電球が左側に表示され、オブジェクトの名前を変更する(つまり、リファクタリングする)か、新しい名前のオブジェクトの新しいコンストラクターを生成するかを尋ねられます。


2
私のOPは、特に「右クリック」リファクタリングについて言及しました。私は電球が嫌いです。それが私の質問の根幹です。
ヤング氏

0

Ctrl+.は、Visual Studio2015以降でメソッドを抽出するためのショートカットキーです。

Ctrl+ MR新しいバージョンでは機能しなくなりました。

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