Buat Visual Studio memahami CamelCase ketika menekan tombol Ctrl dan kursor

130

Apakah ada cara saya dapat mengkonfigurasi Visual Studio 2008 untuk memahami CamelCase? Secara khusus, saya ingin bisa mendapatkan Ctrl + rightatau leftkursor untuk membawa saya ke subbagian dari nama variabel atau tipe.

yaitu, jika kursor saya berada di awal baris ini:

LongNamedExampleClass longNamed = new LongNamedExampleClass();

dan saya menekan Ctrl + right, saya ingin melompat ke " Named" dalam nama kelas, daripada awal nama variabel. Jika saya memukulnya lagi, saya ingin pergi ke " Example". Saya harap itu masuk akal.

Saya menggunakan fitur navigasi ini di Eclipse cukup banyak, dan merasa sulit untuk menghapus sesuatu yang sudah berurat berakar.

serg10
sumber
Resharper mendukung fitur itu.
Petter Wigle
Resharper melakukan itu. Saya kira Anda bisa menulis addin Anda sendiri untuk melakukan hal yang sama.
kerah terbuka

Jawaban:

132

Terima kasih untuk mereka yang menyarankan Resharper. Memberiku alasan lain untuk lebih menyukainya. Untuk lebih spesifik tentang tempat ini tinggal - JetBrains menyebutnya CamelHumps (imut) dan Anda dapat mengaktifkannya menggunakan menu:

Resharper -> Opsi -> Lingkungan -> Editor -> Perilaku Editor -> Gunakan CamelHumps

... dalam versi Resharper yang lebih lama, itu adalah;

Resharper -> Opsi -> Editor -> Gunakan CamelHumps

serg10
sumber
2
Apakah ada opsi, untuk memilih seluruh kata, bahkan jika CameHumps aktif? Saat ini saya harus menekan kanan atau kiri beberapa kali untuk memilih kata. Saya harap Anda mendapatkan saya.
Ozkan
Untuk memilih seluruh kata dengan cepat saat CamelHumps aktif, tekan tombol pintas Perpanjang Pilihan dua kali ( Ctrl+ Alt+ Rightatau Ctrl+ W).
Pang
107

Siapa pun yang menemukan halaman ini setelah 25 November 2008 (yang tidak ingin membayar untuk ReSharper atau CodeRush yang tidak lagi memiliki versi gratis ), Ekstensi gratis berikut menambahkan fungsionalitas ini: Subword Navigation oleh Olle Westman

(Atau, ekstensi VSTricks menyertakan Navigasi Sub-kata dalam daftar fitur yang bagus. Ada juga navigasi Subword yang berbeda ekstensi dibuat oleh Lauri Vasama agar tidak bingung dengan Olle Westman yang digunakan jawaban ini.)

Halaman proyek Navigasi Subword menyatakan:

Cari Edit. Kata dalam binding keyboard untuk mengatur segalanya.

Inilah cara saya mengaturnya Visual Studio 2019:


  1. Navigasikan ke Alat> Opsi> Lingkungan> Keyboard

  1. Di bawah Use new shortcut in, pilih Editor Teks

  1. Di bawah Show commands containing, ketik Edit.Subword . Ini akan memunculkan bidang autocomplete dengan perintah yang tercantum di bawah ini.

  1. Pilih salah satu dari perintah berikut yang Anda ingin atur tombol pintasnya. Setelah dipilih, ikuti langkah-langkah bernomor lainnya. Kemudian kembali ke Step 4untuk mengatur yang lain.
    • Edit.SubwordNext
      • Lintasi camelcases ke kanan [ Alt + Right Arrow]
    • Edit.Subword Sebelumnya
      • Lintasi camelcases ke kiri [ Alt + Left Arrow]                                                             
    • Edit.SubwordNextExtend
      • Pilih camelcases ke kanan [ Alt + Shift + Right Arrow]
    • Edit.SubwordPreviousExtend
      • Pilih camelcases ke kiri [ Alt + Shift + Left Arrow]                                                              
    • Edit.SubwordDeleteNext
      • Menghapus camelcases ke kanan [ Alt + Delete]
    • Edit.SubwordDeletePrevious
      • Menghapus camelcases ke kiri [ Alt + Backspace]

Catatan: Saat menetapkan perintah Navigasi Kata Kunci ini ke tombol pintasan baru ini, pertahankan fungsionalitas tombol pintas yang sudah ada yang ingin Anda pertahankan sebelumnya dengan mengaturnya ke tombol yang berbeda. Seharusnya tidak bertentangan dengan kunci pintas yang diinstal default.


  1. Di bawah Press shortcut keys, tekan Tombol Pintas Anda

  1. Klik Assigndan timpa pintasan yang ada
jsea
sumber
2
Terimakasih atas peringatannya! Ini berfungsi dengan baik, dan merupakan solusi yang paling terbuka dari yang disajikan.
Chester Husk
Maksud saya tahun 2015 dan seterusnya. Seperti yang disebutkan nanti, saya menggunakan ini di VS 2012. Saya akan mengklarifikasi dalam posting. Terima kasih.
jsea
2
Jawaban yang sangat bagus dalam memberikan detail pengaturan. Saya sangat menghargai penjelasannya pada Next / PreviousExtend
skia.heliou
9
Pada 2015, saya harus menimpa perintah TextEditor. *, Daripada perintah Global. *. ALT + KANAN sudah terikat dengan sesuatu yang lain.
Seth Flowers
2
@Yanyankelevich Saya baru saja mengujinya di VS2019 dan berhasil. Namun, saya perhatikan di Extensions Manager, ada dua ekstensi yang disebut "Subword Navigation". Anda ingin yang dibuat oleh Olle Westman. Saya telah memperbarui jawaban saya untuk menentukannya dan mencatatnya berfungsi di VS2019.
jsea
22

Jika Anda menginstal ReSharper, Anda juga dapat mengonfigurasi pintasan keyboard Visual Studio "Alt-Right" dan "Alt-Left" untuk CamelHump, tanpa kehilangan perilaku Visual Studio standar untuk "ctrl-kanan" dan "ctrl-kiri".

  1. Buka jendela Visual Studio Options dari Tools -> Options
  2. Buka Lingkungan dan gulir ke bawah ke Keyboard
  3. Di kotak Tampilkan perintah yang berisi , ketik "punuk". Ini akan menampilkan semua perintah yang terkait dengan CamelHumps. CamelHumps
  4. Petakan perintah ke pemetaan kunci yang Anda inginkan dengan memilih perintah dari daftar dan memasukkan pemetaan kunci di kotak teks Tekan tombol pintas , lalu klik Tetapkan .

Peringatan:

  • Tetapkan pemetaan untuk Editor Teks , bukan Global .
  • Pastikan opsi Use CamelHumps dari Resharper -> Options -> Editor -> Editor Behavior dimatikan .

Detail di sini: http://davidrcook.wordpress.com/2009/11/05/working-with-camel-case-in-visual-studio/

keremispirli
sumber
4
Kau mencerahkan hariku. Solusi sempurna sebagai punuk unta dapat menjadi pin dengan pengidentifikasi panjang (seperti siapa pun yang menggunakan Eclipse akan membuktikan)
chrisb
8

Ini bukan asli dari Visual Studio, tetapi Anda bisa mendapatkannya secara gratis menggunakan CodeRush Express . (ReSharper dan CodeRush membutuhkan pembayaran).

Stewart Johnson
sumber
Hanya persidangan yang gratis saat ini
skia.heliou
2

Visual Studio tidak mendukung perilaku ini. Namun, CodeRush dari DevExpres ! produk mendukung navigasi seperti ini (menggunakan Alt-Kiri & Alt-Kanan), bersama dengan banyak fitur lain untuk membantu dalam navigasi. CodeRush! produk juga dibundel dengan alat Refactor mereka. Mereka juga menawarkan CodeRush gratis! & Produk Refactor Express, meskipun saya tidak yakin apakah navigasi Camel Casing adalah bagian dari produk ekspres.

Steve Brouillard
sumber
-1

Saya tidak berpikir Visual Studio mendukung fitur ini secara internal, karena tampaknya menggunakan cara normal Ctrl + Kanan dan Ctrl + Kiri bekerja di lingkungan Windows. Tapi itu mungkin dengan beberapa jenis ekstensi atau plugin.

Mehrdad Afshari
sumber
6
Membuat tebakan tentang apakah orang lain akan dapat menjawab pertanyaan itu sebenarnya bukanlah jawaban untuk pertanyaan itu.
GregNash