Este é um recurso com o qual me acostumei no Eclipse ( Ctrl+ Tab). Existe um equivalente no Visual C ++?
Este é um recurso com o qual me acostumei no Eclipse ( Ctrl+ Tab). Existe um equivalente no Visual C ++?
Respostas:
No Visual Studio 2013 e posterior, há um atalho de teclado padrão para isso: Ctrl+ K, Ctrl+ O (você precisará manter pressionada a tecla Ctrl e digitar ko e depois soltar Ctrl )
Em versões anteriores, consulte:
Macro do Visual Studio para alternar entre arquivos CPP e H
ou
Alt + O
No Visual Studio 2013, um atalho de teclado padrão para isso é Ctrl+ K, Ctrl+O
EditorContextMenus.CodeWindow.ToggleHeaderCodeFile
Você pode adicionar esta macro à configuração do seu VS (via Ferramentas -> Macros -> Macro Explorer) e então atribuir uma tecla de atalho a ela (via Ferramentas -> Opções -> Ambiente -> Teclado).
Eu acabei de escrevê-lo (queria tentar fazer isso há anos!), Mas parece funcionar até agora, tanto no VS2008 quanto no VS2010.
Como é uma macro, você pode editá-la para incluir quaisquer regras que desejar (por exemplo, procurar em outras pastas ou regras de nomenclatura especiais se você tiver um único cabeçalho compartilhado por vários arquivos cpp ou semelhantes).
Aqui está a macro (tenho certeza que poderia ser melhor escrita; não estou familiarizado com os objetos VS e só percebi que as macros estavam usando .Net na metade do processo de escrita :)):
Sub FileSwitch()
Try
Dim CurrentPath As String = DTE.ActiveDocument.FullName
Dim OtherPath As String
If (IO.Path.HasExtension(CurrentPath)) Then
Dim CurrentExtension As String = IO.Path.GetExtension(CurrentPath)
Select Case CurrentExtension
Case ".h", ".hpp", ".hxx"
OtherPath = IO.Path.ChangeExtension(CurrentPath, ".cpp")
If (Not IO.File.Exists(OtherPath)) Then
OtherPath = IO.Path.ChangeExtension(CurrentPath, ".c")
If (Not IO.File.Exists(OtherPath)) Then
OtherPath = IO.Path.ChangeExtension(CurrentPath, ".cxx")
End If
End If
Case ".cpp", ".c", ".cxx"
OtherPath = IO.Path.ChangeExtension(CurrentPath, ".h")
If (Not IO.File.Exists(OtherPath)) Then
OtherPath = IO.Path.ChangeExtension(CurrentPath, ".hpp")
If (Not IO.File.Exists(OtherPath)) Then
OtherPath = IO.Path.ChangeExtension(CurrentPath, ".hxx")
End If
End If
Case Else
End Select
If (OtherPath <> Nothing) Then
DTE.ItemOperations.OpenFile(OtherPath)
End If
End If
Catch ex As System.Exception
MsgBox(ex.Message)
End Try
End Sub
Aqui está uma captura de tela (muito ampla :) que mostra a aparência do editor de macro e das caixas de diálogo de teclas de atalho / opções, para ajudar aqueles que não estão familiarizados com eles:
Experimente o PhatStudio . É gratuito e vem com um instalador fácil.
ALT+ S= Alternar entre cabeçalho / arquivo de origem
ALT+ O= Abrir um arquivo (suporta pesquisa instantânea por meio de digitação, como o menu iniciar no Windows Vista / 7).
Experimente o Visual Assist, que apresenta esse mesmo recurso (entre outros):
A funcionalidade de navegação de código - da qual a troca de cabeçalho / cpp é uma parte - é realmente boa.
(Eu também avaliei seus recursos de intellisense e refatoração, mas nem todo mundo com quem conversei concordou comigo.)
EDITAR: acabei de lembrar, o Nifty Solution Plugin também faz isso - além de outra coisa semelhante ao Visual Assist, embora nada mais - e eles são gratuitos:
http://code.google.com/p/niftyplugins/
(O plugin forçado do cara também é ótimo. Muito melhor do que o lixo VSSCC padrão.)
No Visual Studio 2008 e 2010, você pode clicar com o botão direito em seu arquivo .cpp e escolher Ir para o arquivo de cabeçalho ... que o levará em uma direção. Para a outra direção, se você clicar com o botão direito em algo que está declarando no cabeçalho e escolher Ir para a definição, isso o levará na outra direção. Você pode ter que passar por uma caixa de diálogo de resolução de ambigüidade se escolher o construtor, porque o nome da função corresponde ao nome da classe, mas se você escolher qualquer outra coisa, irá direto para onde quiser. Eu sei que esta é uma abordagem de dois cliques, em vez de um toque de tecla, mas ela faz o que você deseja.
Se você posicionar o mouse sobre uma declaração de função no cabeçalho e pressionar F12, o arquivo cpp será aberto na definição do arquivo cpp ... Eu uso esse recurso extensivamente!
Não vejo essa resposta aqui, mas pelo menos no Visual Studio 2012 (Express incluído!), Você pode simplesmente atribuir seu próprio comando de teclado para ir para o arquivo de cabeçalho (NOTA: só vai para um lado - você não pode ir de volta ao arquivo de origem, infelizmente ...)
Não tenho certeza em quais versões do VS isso funciona, mas não requer nenhum suplemento e parece funcionar em pelo menos uma direção.
Tente usar Switch - é um addin que permite que você alterne entre a fonte e o cabeçalho, o código e o designer, XAML e codebehind etc etc:
http://www.dwmkerr.com/switch/ ou diretamente de Produtos e extensões para Visual Studio
Há também uma macro listada no fórum de suporte do Whole Tomato que possui mais alguns mapeamentos de arquivos.
Para Visual Studio 2013, conforme mencionado por outros, é o comando denominado:
EditorContextMenus.CodeWindow.ToggleHeaderCodeFile
e tem como combinação padrão de teclas: Ctrl+ K, Ctrl+ O, mas pode ser alterado se você introduzir a nova combinação de teclas que você gosta no
Pressione as teclas de atalho:
debaixo
Ferramentas -> Opções -> Ambiente -> Teclado .
Assim, você pode escolher uma combinação de teclas personalizadas, pois a minha opção favorita para .h para .cpp é Ctrl+ Tab.
No Visual Studio 2008 é Alt+ O.
Em sua sabedoria (in) finita, a MS decidiu remover macros no MSVS 2012, portanto, a macro acima não funcionará.
Para o MSVS 2012, descobri este:
http://www.dwmkerr.com/switch/
É altamente configurável + se você quiser ajudar a melhorá-lo, pode fazê-lo no GitHub.
No Visual Studio 2013 é ALT
+O