Menu Refactor hilang dari Visual Studio 2015


87

Saya mengalami kesulitan menemukan menu konteks klik kanan di Visual Studio 2015. Saya tahu bahwa tidak ada yang salah dengan proyek saya atau file yang sedang saya kerjakan. Saya dapat menemukan menu konteks refactor klik kanan di Visual Studio 2013. Namun, di Visual Studio 2015 tidak ada menu konteks refactor di menu konteks klik kanan.

Kemana perginya? Bagaimana cara mendapatkannya kembali?

Saran Anda tidak dapat menyertakan menu EditRefactor .

Saya telah mencoba mengatur ulang pengaturan Visual Studio saya kembali ke default menggunakan menu ToolsImport and Export Settings dan itu juga tidak mengembalikan menu.


Maksud saya adalah, menu refactor bilah menu bukanlah yang hilang.
Tuan Muda

Adakah waktu tertentu yang tidak akan datang? seperti metode ganti nama atau ekstrak metode? atau dimana saja?
Kritner

Masalahnya sepertinya ada dimana-mana.
Tuan Muda

1
Ini tidak lagi berfungsi ketika kode tidak dapat dikompilasi. Sebelumnya, Anda dapat menggunakannya pada kode yang tidak lengkap.
PRMan

Jawaban:


93

Beberapa alat pemfaktoran ulang telah dipindahkan atau setidaknya dapat diakses dengan cara yang berbeda dari sebelumnya.

Menggunakan refactor metode ekstrak sebagai contoh, Anda masih dapat menggunakan fungsi ini; tidak dilakukan seperti sebelumnya:

Pilih bagian yang akan diekstrak

Klik kanan

Klik kanan

Tindakan cepat

Tindakan cepat

Klik Metode Ekstrak

Klik metode ekstrak

Saya pikir mereka telah mengubahnya menjadi lebih terasa "ReSharper". Namun, semua fungsi tersebut harus tetap ada.

Berikut informasi lebih lanjut tentang refactoring di Visual Studio 2015 - semoga ini membantu! Refactoring (C #)


ya, itu akan membutuhkan waktu untuk membiasakan diri. Saya berani bertaruh bahwa ini lebih intuitif untuk pengguna biasa resharper meskipun ... mungkin ...
Kritner

2
Terima kasih atas tangkapan layarnya. Saya tidak yakin saya akan menemukan tempat ini dipindahkan jika tidak! :-)
Mr. Young

1
FYI: Tampaknya ada bug di beberapa versi VS di sekitar fungsi ini VS lumpuh saat melakukan refactoring beberapa kode untuk mengekstrak metode baru
Liam

2
Penjelasan yang bagus. + Saya suka gambar-gambar cantik :)
Fetchez la vache

1
@BarthoBernsmann itu konteks spesifik, apakah Anda yakin Anda memiliki sedikit kode yang valid dalam metode yang disorot untuk ekstraksi?
Kritner

2

Anda tidak lagi perlu mengakses refactoring menggunakan klik kanan mouse.

Direkomendasikan agar Anda menggunakan tombol pintasan keyboard dalam Visual Studio.

Untuk semua kemungkinan tombol pintas, lihat Pintasan Keyboard Default di Visual Studio, Refactor .


1
Tautan yang diberikan masuk ke halaman untuk Visual Studio 2008. Daftar VS 2015 ada di msdn.microsoft.com/en-us/library/da5kh0wa.aspx#bkmk_refactor .
Theophilus

Versi pendek: CTRL + R, M. Juga, Edit> Refactor> Extract Method ... (hanya terlihat ketika blok kode disorot).
Chris

1

Anda mungkin perlu membangun proyek agar berhasil.

Lihat Pengeditan Kode Formulir Web ASP.NET di Visual Studio 2013 | Microsoft Docs . (Jika tidak ada maka intinya adalah saya menggunakan contoh yang disediakan oleh Microsoft.). Dalam Refactoring and Renaming, lihat Untuk mengekstrak metode di halaman C # . Ketika saya mengikuti instruksi, saya tidak dapat menemukan fitur untuk mengekstrak kode ke suatu metode. Ketika saya mencoba menu Edit dikatakan saya tidak memiliki kode yang valid. Kemudian saya membangun proyek dan fitur untuk mengekstrak kode tersedia dan berfungsi.


0

Jika Anda mengubah nama objek yang Anda refactoring, bola lampu kemudian muncul ke kiri yang menanyakan apakah Anda ingin mengubah nama objek (yaitu refactor) atau membuat konstruktor baru untuk objek bernama baru.


2
OP saya secara khusus menyebutkan refactor "Klik-Kanan". Aku benci bola lampu, yang memunculkan pertanyaanku.
Tuan Muda

0

Ctrl + . adalah tombol pintas untuk mengekstrak metode dalam Visual Studio 2015 dan seterusnya.

Ctrl+ M, Rtidak berfungsi lagi di versi baru.

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.