Faça o Visual Studio entender o CamelCase ao pressionar as teclas Ctrl e cursor

130

Existe uma maneira de configurar o Visual Studio 2008 para entender o CamelCase? Especificamente, eu gostaria de conseguirCtrl + right ou leftcursor para me levar a uma subseção de um nome de variável ou tipo.

ou seja, se meu cursor estivesse no início desta linha:

LongNamedExampleClass longNamed = new LongNamedExampleClass();

e eu bati Ctrl + right, eu gostaria de pular para "Named " no nome da classe, em vez do início do nome da variável. Se eu acertar novamente, gostaria de ir para " Example". Espero que faça sentido.

Usei bastante esse recurso de navegação no Eclipse e acho difícil desaprender algo tão arraigado.

serg10
fonte
O compartilhador suporta esse recurso.
Petter Wigle
O compartilhador faz isso. Suponho que você possa escrever seu próprio complemento para fazer o mesmo.
colar aberto

Respostas:

132

Obrigado por quem sugeriu o Resharper. Dá-me outra razão para amar ainda mais. Apenas para ser específico sobre onde isso mora - o JetBrains chama CamelHumps (fofo) e você pode ativá- lo usando o menu:

Re-compartilhador -> Opções -> Ambiente -> Editor -> Comportamento do editor -> Usar CamelHumps

... nas versões mais antigas do Resharper, é;

Re-compartilhador -> Opções -> Editor -> Usar CamelHumps

serg10
fonte
2
Existe uma opção para selecionar a palavra inteira, mesmo se CameHumps estiver ativado? No momento, tenho que pressionar a direita ou a esquerda várias vezes para selecionar uma palavra. Espero que você me entenda.
Ozkan
Para selecionar rapidamente a palavra inteira enquanto o CamelHumps está ativado, pressione a tecla de atalho Estender seleção duas vezes ( Ctrl+ Alt+ Rightou Ctrl+ W).
Pang
107

Qualquer pessoa que tropeça nesta página após 25 de novembro de 2008 (que não deseja pagar pelo ReSharper ou CodeRush que não possui mais uma versão gratuita ), a seguinte extensão gratuita adiciona esta funcionalidade: Navegação de palavras - chave por Olle Westman

(Como alternativa, a extensão VSTricks inclui Navegação por sub-palavras em sua lista de recursos bacanas. Há também uma extensão diferente de navegação por sub-palavras criada por Lauri Vasama, que não deve ser confundida com a de Olle Westman, que esta resposta usa.)

A página do projeto Subword Navigation declara:

Consulte Edit.Subword nas ligações do teclado para configurar as coisas.

Aqui está como eu o configurei Visual Studio 2019:


  1. Navegue para Ferramentas> Opções> Ambiente> Teclado

  1. Em Use new shortcut in, selecione Editor de texto

  1. Em Show commands containing, digite Edit.Subword . Isso deve exibir um campo de preenchimento automático com os comandos listados abaixo.

  1. Selecione um dos seguintes comandos para os quais você deseja definir suas teclas de atalho. Depois de selecionado, siga as demais etapas numeradas. Depois volte Step 4para definir outro.
    • Edit.SubwordNext
      • Atravessa camelcases para a direita [ Alt + Right Arrow]
    • Edit.SubwordHistórico
      • Atravessa camelcases para a esquerda [ Alt + Left Arrow]                                                             
    • Edit.SubwordNextExtend
      • Seleciona camelcases para a direita [ Alt + Shift + Right Arrow]
    • Edit.SubwordPreviousExtend
      • Seleciona camelcases para a esquerda [ Alt + Shift + Left Arrow]                                                              
    • Edit.SubwordDeleteNext
      • Exclui camelcases à direita [ Alt + Delete]
    • Edit.SubwordDeleteHistórico
      • Exclui camelcases à esquerda [ Alt + Backspace]

Nota: Ao atribuir esses comandos de Navegação de subpalavras a essas novas teclas de atalho, preserve todas as funcionalidades de teclas de atalho já existentes que deseja manter previamente, definindo-as para teclas diferentes. Não deve entrar em conflito com nenhuma tecla de atalho instalada por padrão.


  1. Em Press shortcut keys, pressione Suas teclas de atalho

  1. Clique Assigne substitua o atalho existente
jsea
fonte
2
Obrigado pela atenção! Isso funciona muito bem e é a mais aberta das soluções apresentadas.
Chester Husk
Eu quis dizer o ano de 2015 e além. Como mencionado mais adiante, usei isso no VS 2012. Esclareço no post. Obrigado.
Jsea #
2
Resposta particularmente excelente ao fornecer os detalhes da configuração. Eu definitivamente aprecio a explicação sobre Next / PreviousExtend
skia.heliou
9
Em 2015, tive que substituir os comandos TextEditor. *, Em vez dos comandos Global. *. ALT + RIGHT já estava vinculado a outra coisa.
Seth Flowers
2
@yanyankelevich Acabei de o testar no VS2019 e funciona. No entanto, notei no Gerenciador de extensões, havia duas extensões chamadas "Navegação por subpalavras". Você quer o criado por Olle Westman. Atualizei minha resposta para especificar isso e observe que funciona no VS2019.
jsea
22

Se você tiver o ReSharper instalado, também poderá configurar os atalhos de teclado do Visual Studio "Alt-Right" e "Alt-Left" para o CamelHump, sem perder o comportamento padrão do Visual Studio para "ctrl-right" e "ctrl-left".

  1. Abra a janela Opções do Visual Studio em Ferramentas -> Opções
  2. Expanda Ambiente e role para baixo até Teclado
  3. Na caixa Mostrar comandos contendo , digite "hump". Isso mostrará todos os comandos relacionados ao CamelHumps. CamelHumps
  4. Mapeie os comandos para os mapeamentos de teclas que você deseja, selecionando o comando da lista e inserindo o mapeamento de teclas na caixa de texto Pressione teclas de atalho e clique em Atribuir .

Ressalvas:

  • Atribua os mapeamentos para o Editor de texto , não Global .
  • Verifique se a opção Usar CamelHumps em Resharper -> Opções -> Editor -> Comportamento do editor está desativada .

Detalhes aqui: http://davidrcook.wordpress.com/2009/11/05/working-with-camel-case-in-visual-studio/

keremispirli
fonte
4
Você fez meu dia. A solução perfeita como corcovas de camelo pode ser um tal pino com longas identificadores (como qualquer um que usa Eclipse irá atestar)
chrisb
8

Não é nativo do Visual Studio, mas você pode obtê-lo gratuitamente usando o CodeRush Express . (ReSharper e CodeRush requerem pagamento).

Stewart Johnson
fonte
Somente o teste é gratuito hoje em dia
skia.heliou
2

Visual Studio não suporta esse comportamento. No entanto, o CodeRush do DevExpres ! O produto suporta navegação como esta (usando Alt-Esquerda e Alt-Direita), além de vários outros recursos para ajudar na navegação. O CodeRush! O produto também é fornecido com a ferramenta Refactor. Eles também oferecem um CodeRush grátis! & Refactor Express, embora não tenha certeza se a navegação Camel Casing faz parte do produto expresso.

Steve Brouillard
fonte
-1

Eu não acho que o Visual Studio ofereça suporte a esse recurso internamente, pois parece estar usando a maneira normal Ctrl + Direita e Ctrl + Esquerda funcionam no ambiente Windows. Mas provavelmente é possível com algum tipo de extensão ou plugin.

Mehrdad Afshari
fonte
6
Adivinhar se outras pessoas serão ou não capazes de responder à pergunta não é realmente uma resposta para a pergunta.
precisa saber é o seguinte