Spraw, aby program Visual Studio zrozumiał CamelCase po naciśnięciu klawisza Ctrl i klawiszy kursora

134

Czy istnieje sposób, w jaki mogę skonfigurować program Visual Studio 2008, aby rozumiał CamelCase? W szczególności chciałbym mieć możliwość pobrania Ctrl + rightlub leftkursora, aby przenieść mnie do podsekcji zmiennej lub nazwy typu.

tj. jeśli mój kursor znajdował się na początku tej linii:

LongNamedExampleClass longNamed = new LongNamedExampleClass();

i trafiłem Ctrl + right, chciałbym przeskoczyć do „ Named” w nazwie klasy, a nie do początku nazwy zmiennej. Jeśli uderzę ponownie, chciałbym przejść do „ Example”. Mam nadzieję, że to ma sens.

Często korzystałem z tej funkcji nawigacyjnej w Eclipse i trudno mi oduczyć się czegoś tak zakorzenionego.

serg10
źródło
Resharper obsługuje tę funkcję.
Petter Wigle,
Robi to Resharper . Przypuszczam, że możesz napisać własny dodatek, aby zrobić to samo.
otwarty kołnierz

Odpowiedzi:

133

Dziękuję tym, którzy zasugerowali Resharper. To kolejny powód, by pokochać go jeszcze bardziej. Aby dokładnie określić, gdzie to mieszka - JetBrains nazywa to CamelHumps (urocze) i możesz je włączyć za pomocą menu:

Resharper -> Opcje -> Środowisko -> Edytor -> Zachowanie edytora -> Użyj CamelHumps

... w starszych wersjach Resharper jest;

Resharper -> Opcje -> Edytor -> Użyj CamelHumps

serg10
źródło
3
Czy jest opcja zaznaczenia całego słowa, nawet jeśli włączona jest funkcja CameHumps? W tej chwili muszę kilkakrotnie naciskać w prawo lub w lewo, żeby wybrać słowo. Mam nadzieję, że mnie rozumiesz.
Ozkan,
Aby szybko zaznaczyć całe słowo, gdy funkcja CamelHumps jest włączona, naciśnij dwukrotnie klawisz skrótu Rozszerz zaznaczenie ( Ctrl+ Alt+ Rightlub Ctrl+ W).
Pang
Nie tylko zaznaczyć całe słowo, ale także przeskoczyć przez całe słowo?
Alix
111

Każdemu, kto natknął się na tę stronę po 25 listopada 2008 r. (Kto nie chce płacić za ReSharper lub CodeRush, które nie mają już darmowej wersji ), następujące bezpłatne rozszerzenie dodaje tę funkcjonalność: Nawigacja po słowie podrzędnym autorstwa Olle Westman

(Alternatywnie, rozszerzenie VSTricks zawiera Sub-word Navigation na swojej liście przydatnych funkcji. Istnieje również inne rozszerzenie nawigacji Subword utworzone przez Lauri Vasama, którego nie należy mylić z Olle Westmanem, którego używa ta odpowiedź.)

Strona projektu Subword Navigation zawiera:

Wyszukaj Edit.Subword w powiązaniach klawiatury, aby skonfigurować ustawienia.

Oto jak to skonfigurowałem w Visual Studio 2019:


  1. Przejdź do Narzędzia> Opcje> Środowisko> Klawiatura

  1. W obszarze Use new shortcut inwybierz opcję Edytor tekstu

  1. W poluShow commands containing wpisz Edit.Subword . Powinno to wyświetlić pole autouzupełniania z poniższymi poleceniami.

  1. Wybierz jedno z następujących poleceń, dla których chcesz ustawić jego klawisze skrótów. Po wybraniu wykonaj pozostałe ponumerowane kroki. Następnie wróć do, Step 4aby ustawić kolejny.
    • Edytuj.SubwordNext
      • Traverses camelcases w prawo [ Alt + Right Arrow]
    • Edit.SubwordPrevious
      • Traverses camelcases w lewo [ Alt + Left Arrow]                                                             
    • Edit.SubwordNextExtend
      • Wybiera skrzynki na wielbłądzie po prawej stronie [ Alt + Shift + Right Arrow]
    • Edit.SubwordPreviousExtend
      • Wybiera skrzynki na wielbłądzie po lewej [ Alt + Shift + Left Arrow]                                                              
    • Edit.SubwordDeleteNext
      • Usuwa skrzynie wielbłądów po prawej [ Alt + Delete]
    • Edit.SubwordDeletePrevious
      • Usuwa skrzynie wielbłądów po lewej [ Alt + Backspace]

Uwaga: Przypisując te polecenia Nawigacji podrzędnych do tych nowych klawiszy skrótu, zachowaj wcześniej istniejące funkcje klawiszy skrótów, które chcesz zachować, ustawiając je dla różnych klawiszy. Nie powinno kolidować z żadnymi domyślnie zainstalowanymi klawiszami skrótów.


  1. W obszarze Press shortcut keysnaciśnij klawisze skrótu

  1. Kliknij Assigni nadpisz istniejący skrót
jsea
źródło
2
Dzięki za szefową! Działa świetnie i jest najbardziej otwartym z przedstawionych rozwiązań.
Chester Husk
Miałem na myśli rok 2015 i nie tylko. Jak wspomniano później, użyłem tego w VS 2012. Wyjaśnię to w poście. Dzięki.
jsea
2
Szczególnie doskonała odpowiedź w dostarczaniu szczegółów konfiguracji. Zdecydowanie doceniam wyjaśnienie na temat Next / PreviousExtend
skia.heliou
9
W 2015 roku musiałem nadpisać polecenia TextEditor. * Zamiast poleceń Global. *. ALT + RIGHT było już powiązane z czymś innym.
Seth Flowers
2
@yanyankelevich Właśnie przetestowałem to w VS2019 i działa. Jednak zauważyłem w Menedżerze rozszerzeń, że istnieją dwa rozszerzenia o nazwie „Nawigacja podmłowa”. Chcesz tego, który stworzył Olle Westman. Zaktualizowałem moją odpowiedź, aby to określić i zauważyłem, że działa w VS2019.
jsea
22

Jeśli masz zainstalowany program ReSharper, możesz również skonfigurować skróty klawiaturowe programu Visual Studio „Alt-Right” i „Alt-Left” dla CamelHump, bez utraty standardowego zachowania programu Visual Studio dla „ctrl-right” i „ctrl-left”.

  1. Otwórz okno Opcje programu Visual Studio w menu Narzędzia -> Opcje
  2. Rozwiń Środowisko i przewiń w dół do Klawiatury
  3. W polu Pokaż polecenia zawierające wpisz „garb”. Spowoduje to wyświetlenie wszystkich poleceń związanych z CamelHumps. CamelHumps
  4. Przypisz polecenia do żądanych mapowań klawiszy, wybierając polecenie z listy i wprowadzając mapowanie klawiszy w polu tekstowym Naciśnij klawisze skrótu , a następnie kliknij Przypisz .

Ostrzeżenia:

  • Przypisz mapowania do edytora tekstu , a nie globalnego .
  • Upewnij się, że opcja Use CamelHumps w Resharper -> Options -> Editor -> Editor Behavior jest wyłączona .

Szczegóły tutaj: http://davidrcook.wordpress.com/2009/11/05/working-with-camel-case-in-visual-studio/

keremispirli
źródło
4
Dzięki Tobie mój dzień jest lepszy. Idealnym rozwiązaniem jak garb wielbłąda może być taka przypinka z długimi identyfikatorami (o czym zaświadczy każdy, kto używa Eclipse)
chrisb
8

Nie jest natywny dla programu Visual Studio, ale możesz go pobrać bezpłatnie za pomocą CodeRush Express . (ReSharper i CodeRush wymagają płatności).

Stewart Johnson
źródło
Tylko
wersja
2

Program Visual Studio nie obsługuje tego zachowania. Jednak Devexpress męska CodeRush! produkt obsługuje nawigację w ten sposób (używając Alt-Left i Alt-Right), wraz z mnóstwem innych funkcji pomocnych w nawigacji. CodeRush! produkt jest również dołączony do narzędzia Refactor. Oferują również darmowy CodeRush! Produkt & Refactor Express, chociaż nie jestem pewien, czy nawigacja Camel Casing jest częścią produktu ekspresowego.

Steve Brouillard
źródło
-1

Nie sądzę, aby program Visual Studio wewnętrznie obsługiwał tę funkcję, ponieważ wydaje się, że używa normalnego sposobu pracy Ctrl + Right i Ctrl + Left w środowisku Windows. Ale prawdopodobnie jest to możliwe z jakimś rozszerzeniem lub wtyczką.

Mehrdad Afshari
źródło
7
Zgadywanie, czy inni będą w stanie odpowiedzieć na pytanie, tak naprawdę nie jest odpowiedzią na pytanie.
GregNash