As teclas de atalho do Visual Studio mudam ocasionalmente, especificamente F6 versus Ctrl-Shift-B para construção. PORQUE?


94

Eu sempre pressiono F6para construir meu projeto. De repente, algumas das minhas instâncias do Visual Studio estão querendo que eu use Ctrl- Shift- B. Não está relacionado ao teclado - o texto real da opção de menu muda de " F6" para " Ctrl- Shift- B".

Alguma resposta sobre como consertar e o que causa isso ?


Alguma chance de você ter um teclado sofisticado de 'mídia' com FnLock preso?
Joel Coehoorn

Eu atesto isso. Isso aconteceu com meu VS também várias vezes, e eu reiniciei o esquema do VS 05, apesar de já estar definido. Assim como você, fico me perguntando por que e como isso acontece, e como evitá-lo
Vin

@Joel não, é uma mudança de mapeamento no VS2008. Talvez relacionado a mim sempre ter 4-6 instâncias abertas? De repente, metade deles tem esse problema, e todos os novos têm. Talvez fechar tudo, abrir um, redefinir, fechar e reabrir tudo resolva ?! Mas isso não explica o PORQUE ?? !!?!?
TheSoftwareJedi

@Vin, obrigado. Posso perguntar a você - você mantém várias instâncias abertas com frequência? ScottCher sugere que está relacionado a uma corrupção quando muitas instâncias estão alterando as configurações. Parece instável, mas isso é uma coisa que eu faço que os outros não fazem. SEMPRE tenho de 4 a 6 instâncias em execução.
TheSoftwareJedi

Achei que Ctrl + Shift + B fosse o mapeamento padrão de qualquer maneira ...
Pondidum

Respostas:


30

Isso ocorre porque você pode ter selecionado "Configurações Gerais de Desenvolvimento" como suas configurações de ambiente padrão para o Visual Studio (o que geralmente fazemos na primeira inicialização do VS depois de instalá-lo, pois abre uma caixa de diálogo para escolher as configurações de ambiente padrão).

Se você deseja apenas alterar as configurações das teclas de atalho do teclado, basta seguir a solução proposta por outros ( Ferramentas> Opções> Ambiente> Teclado> Visual C # 2015 ). MAS isso apenas mudará as configurações do teclado para C #, mantendo o restante das configurações apenas como configurações gerais.

Se você realmente pretende alterar o ambiente completo para as configurações C #, siga esta abordagem.

SOLUÇÃO 1:

  1. Vá para "Ferramentas" (menu)
  2. "Configurações de importação e exportação"
  3. "Importar configurações de ambiente selecionadas"
  4. Selecione "Sim, salvar minhas configurações atuais" ou "Não, apenas importar novas configurações, substituindo minhas configurações atuais"
  5. "Qual coleção de configurações você deseja importar?"
  6. Na árvore "Configurações padrão", selecione o nó "Visual C #" (você pode ver um sinal de aviso amarelo, NÃO precisa se preocupar com isso) e clique no botão "Concluir".

ou você pode fazer o mesmo como

SOLUÇÃO 2:

  1. Vá para "Ferramentas" (menu)
  2. "Configurações de importação e exportação"
  3. "Redefinir todas as configurações"
  4. Selecione "Sim, salvar minhas configurações atuais" ou "Não, apenas importar novas configurações, substituindo minhas configurações atuais"
  5. Selecione "Visual C #" na lista e clique no botão "Concluir".

Ambas as abordagens forneceriam o mesmo resultado de alterar todo o seu ambiente para 'Visual C # "daí em diante.

Aproveite a codificação :)


1
Muito obrigado, melhor resposta aqui! BTW, para redefinir SOMENTE as configurações do teclado, use a Solução nº 1, mas, na tela final "Escolha as configurações para importar", desmarque "Todas as configurações" e escolha apenas Opções -> Ambiente -> Teclado.
Tobias J

69

Problema de corrupção de mapeamento de teclado, talvez? Verifique Ferramentas / Opções, Ambiente / Teclado. Deve haver uma lista suspensa para o esquema de mapeamento do teclado e, ao lado, um botão Reiniciar. Aperte o botão de reset.

Não sou responsável por bagunçar suas configurações - salve-as antes de fazer isso, apenas no caso de você bagunçar o cão.

Ah, caso os agentes antidrogas por aí se importem, acho que essa é uma pergunta válida e seria colocada fora se alguém votasse para fechá-la. Claro que agora que eu disse isso, é uma certeza, não é?


3
OK, "Redefinir" corrigiu, embora já estivesse definido como C # 2005. Agora a pergunta é: o que o faz mudar? Isso aconteceu muito comigo ao longo dos anos.
TheSoftwareJedi

3
no VS2013 F6 não parece mais ser o padrão, então a redefinição não funciona :(
markmnl

5
@markmnl Certifique-se de escolher "Visual C # 2005". O esquema de mapeamento (padrão) não mudou para mim. O estranho para mim foi que eu tinha F6 com VS2013 Ultimate, mas não com VS2013 Premium.
Bardicer

Isso não é uma solução porque eu preciso saber por que o VS
enlouquece

54

Seu esquema de teclado mudou - vá para Ferramentas / Opções / Ambiente / Teclado e defina o esquema de teclado padrão para 'Visual C # 2005'


@AlekseyBykov se o esquema do teclado C # mudou , você também precisará redefini-lo,
stuartd

Para VS 2013 premium, verifique a resposta de @CYBERNARESH abaixo ( stackoverflow.com/a/35335312/4941886 )
EmilianoPe

9

Se você tiver outras combinações de teclas e não quiser redefinir o lote, use: Tools -> Options -> Environment -> Keyboard

Em seguida, localize Build.BuildSolutionou Build.RebuildSolution(conforme sua preferência) selecione Globalno Use shortcut inmenu suspenso, posicione o cursor Press Shortcut Keye dê um tapa F6. Ele vai mostrar a você o que está atualmente atribuído, para mim é atravessar painéis divididos (talvez substitua F6quando você usa painéis divididos pela primeira vez? Eu sempre me perguntei por que minha máquina de desenvolvimento doméstico foi construída com F6e minha de trabalho não e, pensando bem, nunca usei painéis divididos em casa) e clique em Atribuir.


6

É porque você instalou o VMWare. Ele remapeia essa chave para que F6 possa ser usado para iniciar a depuração em uma máquina virtual.

Me irritou também.


1
não. Não instalei o VMWare. Além disso, o texto da opção de menu mudou para mostrar Ctrl-Shift-B como versão em vez de F6.
TheSoftwareJedi

1
Eu votei positivamente porque foi isso que definitivamente aconteceu comigo
Proviste

1
Adicione o Parallels ao VMWare. "Mostrar / ocultar aplicativo" no Parallels.
LosManos

4

Você pode reatribuir SHIFT+ F6para construir apenas o projeto atual:

1 / Vá para Tools -> Options -> Environment -> Keyboard

2 / Mostrar comandos contendo: Build.BuildSelection

3 / Focalize o campo Press shortcut keyse pressione Shift+ F6para atribuí-lo


2

O plugin NPPscripting do Notepad ++ quebrou o Ctrl-Shift-B para todo o meu sistema operacional enquanto o NP ++ estava em execução. Desinstalar o plug-in (tive que excluir a DLL manualmente da pasta de plug-ins do Notepad ++) consertou o mapeamento de teclas quebrado para mim.


Sim, foi isso para mim. Obrigado, eu nunca teria feito essa conexão.
Matthew Nichols

1
Eu gostaria de poder votar a favor da minha própria resposta - ela me pegou de novo! Obrigado Google. Ei, vocês todos serão tão velhos um dia. : p
CAD cara de

1

Eu tinha o TPFanControl instalado, que capturou Ctrl+ Shift+ Bglobalmente. Usei uma ferramenta mencionada nesta resposta para descobrir qual programa está registrado para quais atalhos.


Sim, foi TPFanControl. Porém, não execute o HotKey Commander no Windows 10. As coisas começam a quebrar.
Mark Lopez

0

Eu tinha uma compilação desatualizada em minha solução (as bibliotecas incluídas aparentemente estavam usando versões antigas de DLL e eu estava recebendo MissingMethodException em tempo de execução), então excluí todos os diretórios \ bin em meus projetos C #, reiniciei o Visual Studio e, de repente, esse problema agora está me afetando pela primeira vez em mais de 3 anos desde que comecei a usar o Visual Studio.

Não tenho ideia de como isso pode ter afetado minhas configurações de usuário, mas aparentemente afetou. Eles deixaram de usar o perfil de teclado "Visual C # 2005" para "padrão"


0

Ferramentas -> Opções -> Ambiente -> Teclado

pesquise este comando: "ClassViewContextMenus.ClassViewProjectBuild"

Atribuir F6

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.