Заставить Visual Studio понимать CamelCase при нажатии Ctrl и клавиш курсора

Есть ли способ настроить Visual Studio 2008 для понимания CamelCase? В частности, я хотел бы иметь возможность получить курсор Ctrl + right или left, чтобы перейти к подразделу имени переменной или типа.

то есть, если бы мой курсор был в начале этой строки:

LongNamedExampleClass longNamed = new LongNamedExampleClass();

и я нажимаю Ctrl + right, я бы хотел перейти к «Named» в имени класса, а не на начало имени переменной. Если я нажму еще раз, я бы хотел перейти на "Example". Я надеюсь, что в этом есть смысл.

Я довольно часто использовал эту навигационную функцию в Eclipse, и мне трудно отучиться от чего-то столь укоренившегося.

Решарпер поддерживает эту функцию.
Petter Wigle 24.11.2008 16:23
Решарпер делает это. Я полагаю, вы могли бы написать свой собственный надстройку, чтобы сделать то же самое.
open-collar 24.11.2008 16:28
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
141
2
22 981
7
Перейти к ответу Данный вопрос помечен как решенный

Ответы 7

Я не думаю, что Visual Studio поддерживает эту функцию внутренне, поскольку, похоже, она использует обычный способ работы Ctrl + Right и Ctrl + Left в среде Windows. Но, вероятно, это возможно с помощью какого-то расширения или плагина.

Предположение о том, смогут ли другие люди ответить на вопрос, на самом деле не является ответом на него.

GregNash 29.04.2014 18:35

Visual Studio не поддерживает такое поведение. Однако DevExpres's CodeRush! продукт поддерживает такую ​​навигацию (с использованием Alt-Left и Alt-Right), а также множество других функций, помогающих в навигации. CodeRush! продукт также поставляется вместе с их инструментом Refactor. Они также предлагают бесплатный CodeRush! & Refactor Express, хотя я не уверен, является ли навигация Camel Casing частью экспресс-продукта.

Он не является встроенным в Visual Studio, но вы можете получить его бесплатно с помощью CodeRush Express. (ReSharper и CodeRush требуют оплаты).

Только пробная версия сейчас бесплатна

skia.heliou 22.06.2015 20:17
Ответ принят как подходящий

Спасибо тем, кто предложил Решарпера. Это дает мне еще одну причину любить его еще больше. Просто чтобы уточнить, где это находится - JetBrains называет его Верблюжьи горбы (милый), и вы можете включить его с помощью меню:

Resharper -> Options -> Environment -> Editor -> Editor Behavior -> Use CamelHumps

... в более старых версиях Resharper это так;

Resharper -> Options -> Editor -> Use CamelHumps

Есть ли возможность выделить все слово, даже если CameHumps включен? Сейчас мне нужно несколько раз нажать вправо или влево, чтобы выбрать слово. Надеюсь, ты меня понял.

Ozkan 07.10.2016 17:01

Чтобы быстро выделить все слово при включенном CamelHumps, дважды нажмите Сочетание клавиш "Расширить выделение" (Ctrl + Alt + Right или Ctrl + W).

Pang 14.07.2020 05:57

Не только выделить все слово, но и перепрыгнуть через все слово?

Alix 03.10.2020 08:57

Это правильное решение для ctrl + [стрелка]. Однако есть две команды resharper - Resharper_TextControlPreviousWord и Resharper_TextControlNextWord, чтобы вы могли связывать разные ярлыки для выполнения той же навигации по кейсу верблюда. Однако они не работают, если опция CamelHumps выключена.

viggity 11.01.2021 22:32

Добавьте макрос ниже в визуальную студию.

http://visualstudiomacros.blogspot.com/2008/03/getting-ctrl-right-arrow-to-respect.html

Если у вас установлен ReSharper, вы также можете настроить сочетания клавиш Visual Studio «Alt-Right» и «Alt-Left» для CamelHump, не теряя стандартного поведения Visual Studio для «ctrl-right» и «ctrl-left».

  1. Откройте окно Visual Studio Опции из Инструменты -> Параметры
  2. Разверните Среда и прокрутите вниз до Клавиатура
  3. В поле Показать команды, содержащие введите «горб». Это покажет все команды, связанные с CamelHumps. CamelHumps
  4. Сопоставьте команды с желаемыми сопоставлениями клавиш, выбрав команду из списка и введя сопоставление клавиш в текстовое поле Нажимайте сочетания клавиш, затем щелкните Назначать.

Предостережения:

  • Назначьте сопоставления для Текстовый редактор, а не Глобальный.
  • Убедитесь, что параметр Используйте CamelHumps в Resharper -> Параметры -> Редактор -> Поведение редактора - выключено.

Подробности здесь: http://davidrcook.wordpress.com/2009/11/05/working-with-camel-case-in-visual-studio/

Вы просто сделали мой день. Идеальным решением, поскольку верблюжьи горки могут быть такие булавки с длинными идентификаторами (это подтвердит любой, кто использует Eclipse).

chrisb 19.03.2013 20:47

Всем, кто наткнется на эту страницу после 25 ноября 2008 г. (кто не хочет платить за ReSharper или CodeRush у которого больше нет бесплатной версии), следующее бесплатное расширение добавляет эту функциональность: Подсловная навигация - Олле Вестман

(В качестве альтернативы, расширение VSTricks включает Sub-word Navigation в свой список изящных функций. Существует также другое расширение Подсловная навигация, созданное Лаури Васамой, не путать с Olle Westman, которое используется в этом ответе.)

На странице проекта «Навигация по подсловам» указано:

Look up Edit.Subword in keyboard bindings to set things up.

Вот как я это настроил в Visual Studio 2019:


  1. Перейдите к Инструменты> Параметры> Среда> Клавиатура

  1. В Use new shortcut in выберите Текстовый редактор

  1. В Show commands containing введите Edit.Subword. Должно появиться поле автозаполнения с перечисленными ниже командами.

  1. Выберите одну из следующих команд, для которой вы хотите настроить сочетания клавиш. После выбора выполните остальные пронумерованные шаги. Затем вернитесь к Step 4, чтобы установить еще один.
    • Edit.SubwordNext
      • Проходит верблюжьи ящики вправо [Alt + Right Arrow]
    • Edit.SubwordPrevious
      • Обходит верблюжьи ящики влево [Alt + Left Arrow]
    • Edit.SubwordNextExtend
      • Выбирает верблюжьи ящики справа [Alt + Shift + Right Arrow]
    • Edit.SubwordPreviousExtend
      • Выбирает верблюжьи ящики слева [Alt + Shift + Left Arrow]
    • Edit.SubwordDeleteNext
      • Удаляет верблюжьи ящики справа [Alt + Delete]
    • Edit.SubwordDeletePrevious
      • Удаляет верблюжьи ящики слева [Alt + Backspace]

Note: When assigning these Subword Navigation commands to these new shortcut keys, preserve any already-existing shortcut-key functionality you want to keep beforehand by setting them to different keys. It should not conflict with any default-installed shortcut keys.


  1. Под Press shortcut keys нажмите Ваши горячие клавиши

  1. Нажмите Assign и перезапишите существующий ярлык

Спасибо, что подняли голову! Это прекрасно работает и является наиболее открытым из представленных решений.

Chester Husk 19.05.2015 19:05

Я имел в виду 2015 год и последующие годы. Как упоминалось позже, я использовал это в VS 2012. Я поясню в этом посте. Спасибо.

jsea 01.06.2015 22:55

Особенно отличный ответ в деталях настройки. Я определенно ценю объяснение на Next / PreviousExtend

skia.heliou 22.06.2015 20:27

В 2015 году мне пришлось перезаписать команды TextEditor. *, А не команды Global. *. ALT + RIGHT уже был привязан к чему-то другому.

Seth Flowers 13.09.2016 18:16

Похоже, это больше не работает в Visual Studio 2019

yan yankelevich 22.10.2019 10:45

@yanyankelevich Я только что тестировал его в VS2019, и он работает. Тем не менее, я заметил в диспетчере расширений расширения два, называемые «Subword Navigation». Вам нужен тот, который создал Олле Вестман. Я обновил свой ответ, чтобы указать это и отметить, что он работает в VS2019.

jsea 22.10.2019 23:11

Другие вопросы по теме