Atalho de teclado do Visual Studio para adicionar automaticamente a instrução 'using' necessária


Respostas:


407

Ctrl+ .mostra o menu. Acho isso mais fácil de digitar do que a alternativa, Alt+ Shift+ F10.

Isso pode ser vinculado a algo mais familiar, indo em Ferramentas> Opções> Ambiente> Teclado> Visual C #> View.QuickActions


6
Sim, eu acho que é o que você está acostumado. Eu não tenho dificuldade com Alt + Shift + F10 enquanto Ctrl +. parece totalmente estranho. Acho que vamos aceitar qualquer coisa com condicionamento suficiente. : D
Jeff Yates

6
Eu tenho um dos teclados da Microsoft com seu bloqueio de função ... cara, eu odeio essa coisa.
Orion Adrian

1
Eu tenho um desses em casa. O bloqueio de funções foi uma ideia idiota.
Jeff Yates

3
Uau, não sabia sobre Ctrl +. ou Alt + Shift + F10, mas sempre se perguntou se havia um atalho tão grande. Eu também tenho um teclado de bloqueio de função, mas ele sempre se lembra de seu estado, então não há problema aqui (Microsoft Natural Ergonomics Keyboard 4000).
OregonGhost 29/09/08

1
ctrl + parece escurecer até o final da linha para mim ... não sei por que é diferente.
justin.m.chase

37

Alt+ Shift+ F10mostrará o menu associado à marca inteligente.


2
Seu cursor deverá estar no nome da classe / interface que você digitou para que isso funcione.
Pranav Mahajan

Sim. E também deve ser o cursor do mouse, não apenas o cursor do teclado, e ter que mover o cursor do mouse para acessá-lo derrota completamente o ponto de ter um atalho de teclado.
Neutrino

@ Neutrino Esse certamente não é o meu caso. O cursor do mouse não tem nada a ver com isso.
Jeff Yates

26

Eu recomendo verificar o plug-in do Visual Studio ReSharper. Ele possui um recurso do QuickFix que faz o mesmo (e muito mais).

Mas o ReSharper não exige que o cursor esteja localizado no código real que requer um novo espaço para nome. Digamos, você copia / cola algum código no arquivo de origem e apenas alguns cliques de Alt+ Enter, e todas as utilizações necessárias estão incluídas.

Ah, e também garante que a referência de montagem necessária seja adicionada ao seu projeto. Digamos, por exemplo, que você crie um novo projeto contendo testes de unidade NUnit . Na primeira classe que você escreve, você adiciona o atributo [TestFixture]. Se você já possui um projeto em sua solução que referencia o arquivo DLL do NUnit, o ReSharper poderá ver que o TestFixtureAttribute vem desse arquivo DLL, portanto, ele adicionará automaticamente essa referência de montagem ao seu novo projeto.

E também adiciona namespaces necessários para métodos de extensão. Pelo menos a versão ReSharper versão 5 beta faz. Tenho certeza de que a função de resolução interna do Visual Studio não faz isso.

No lado negativo, é um produto comercial, então você tem que pagar por isso. Mas se você trabalha com software comercialmente, a produtividade obtida (o plug-in faz muitas outras coisas legais) supera o preço.

Sim, sou fã;)


14

No Visual Studio 2010, você encontrará o comando do teclado para resolver os espaços para nome em um comando chamado View.ShowSmartTag . O meu também foi mapeado para Shift+ Alt+, o F10que é muito complicado - então eu costumo remapear isso prontamente.

Sobre Pete comentando sobre o ReSharper - sim, para qualquer pessoa com orçamento limitado, o ReSharper torna a vida um prazer absoluto. O fato de ser inteligente o suficiente para resolver dependências fora das referências atuais e adicioná-las como usos e referências, não apenas poupará inúmeras horas, mas também fará com que você esqueça onde residem todas as classes de estrutura ;-) É fácil assim vida de desenvolvimento ... Então, ainda nem começamos as refatorações do ReSharper.

O CodeRush do DevExpress não oferece assistência a esse respeito; ou nada que seja óbvio para mim - e o DevExpress no modo não especialista é bastante próximo no que ele quer fazer por você :-)

Último comentário - esse recurso do IDE de resolução de dependências é tão maduro e refinado no mundo do Java IDE que a maior parte das amostras da Internet nem mostra mais as importações (usando).

Dito isso, a Microsoft agora finalmente tem algo a oferecer a esse respeito, mas também está claro para mim que o desenvolvimento da Microsoft (para muitos de nós) agora completou um círculo - o foco passou da fonte para os designers visuais de volta ao foco. na fonte novamente - o que significa que o tempo gasto em uma exibição de código-fonte / se é C #, VB ou XAML está em alta e a quantidade de arrastar e soltar nos 'formulários' está em baixo. Com essa suposição básica, é simples dizer que a Microsoft deve começar a se concentrar em tornar o editor mais inteligente, em atalhos de teclado mais fáceis e em verificação e avaliação de código / erro - os dias de um editor idiota deixando você procurar no google uma classe para descobrir em em qual biblioteca ele se foi (ou deveria ser, de qualquer forma) para a maioria de nós.


Era isso que eu estava procurando! Como é o comando chamado para que eu possa remapear. Parabéns por encontrar seu nome ... realmente obscuro.
Swinefeaster

6
  • Tecla Menu de contexto (uma com o menu, ao lado da tecla direita do Windows)
  • Depois escolha "Resolver" no menu. Isso pode ser feito pressionando "s".

0

É ctrl+ .quando, por exemplo, você tenta digitar, Listprecisa digitar <no final e pressionar ctrl+ .para que ele funcione.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.