Xcode: várias combinações de teclas por função


12

No Xcode, eu gostaria da capacidade de configurar várias combinações de teclas para a mesma função. Por exemplo, eu gostaria que a step overfunção fosse mapeada para ambos F6e F16. Não vejo uma maneira de fazer isso no próprio Xcode.

Alguém conhece uma maneira de fazer isso? (Estou usando o Xcode 4.2.1)

Respostas:


4

Eu pesquisei um pouco sobre sua pergunta. Nativamente, parece que não há como especificar vários atalhos para a mesma função - tentei abrir o ~/Library/Prefences/com.apple.dt.Xcode.plistarquivo e editar manualmente a NSUserKeyEquivalentsadição de um elemento duplicado Step Over, mas, na inicialização do Xcode, o elemento duplicado foi excluído automaticamente (faz sentido, pois o elemento de quebra automática é nomeado <dict>).

Encontrei uma maneira aproximada de definir o segundo atalho, inspirado neste artigo . As instruções são para o OS X 10.8:

  1. in System Preferences, under Accessibilityenable Enable access for assistive devices;
  2. faça o download e instale o Quicksilver , um iniciador gratuito para OS X;
  3. salve a seguinte pasta AppleScript na pasta Documents (por exemplo, com nome StepOver.scpt) - copie também os ¬caracteres. Este script ativa o Xcode e seleciona a Step Overfunção.

    tell application "Xcode"
        activate
    end tell
    
    tell application "System Events" ¬
    to tell process "Xcode" ¬
    to click menu item "Step Over" ¬
    of menu "Debug" of menu item "Debug" ¬
    of menu "Product" of menu bar item "Product" ¬
    of menu bar 1
    
  4. inicie o QuickSilver e navegue até Preferências -> Gatilhos -> Gatilhos personalizados

  5. crie um novo gatilho, no qual você abrirá o StepOver.scptscript usando a tecla de atalho desejada (na captura de tela que usei F10). Na guia Escopo, você pode especificar que o gatilho funcione apenas no Xcode. exemplo de gatilho
  6. Nesse ponto, o atalho adicional deve funcionar. Criei um aplicativo C ++ básico do console no Xcode e pude passar usando usando F6(como atalho "padrão") e F10(como atalho adicional configurado com o QuickSilver).

Como nota final, você também pode avaliar o software para criar macros como o Keyboard Maestro - é comercial e eu não tentei.


1
tell application "System Events" to tell process "Xcode" to click menu item "Step Over" of menu "Debug" of menu item "Debug" of menu "Product" of menu bar item "Product" of menu bar 1funciona tão bem sem código de configuração adicional.
Daniel Beck

Obrigado @DanielBeck, eu não estou familiarizado com AppleScript. Editei minha resposta e simplifiquei esta parte usando sua sugestão - agora o código é mais legível.
edymtt

Isso funciona! É um pouco complicado de configurar, mas levou apenas 2 minutos. Acho que gosto do Quicksilver como uma ferramenta que eu poderia usar para outras coisas. Obrigado por descobrir isso!
Joseph.hainline

0

Você pode usar o mapeador de atalhos do teclado para esse processo, veja a imagem em anexo.

insira a descrição da imagem aqui

Espero que isso ajude você


Eu estava tão esperançoso que isso funcionaria! Quando tentei, apenas o atalho de teclado F16 funcionou e o F6 não funcionou mais no XCode (apenas emitiu o erro ao invés de fazer qualquer coisa). Os mapeamentos no nível do sistema parecem substituir os mapeamentos no nível do aplicativo. Estou usando o XCode 4.5.2 e o OSX 10.8.2. Isso funcionou para você e quais versões você está usando?
Joseph.hainline

Olá desculpe, não foi concluída; y use corretamente as teclas Ctrl + F6, isso funcionará ao lado de f16, que é o melhor que você pode obter minhas desculpas.
Justin Erswell

Obrigado pela tentativa, mas acho que o que estou procurando simplesmente não é possível. Ctrl + F6 é um comando diferente de F6. Quando mapeio no nível do sistema, ele simplesmente substitui o nível do aplicativo. Estou realmente tentando mapear duas teclas ao mesmo tempo para a mesma função.
Joseph.hainline

0

Eu faço isso com o Keyboard Maestro. Você pode atribuir um comando a um ou mais aplicativos ou global. É um software fantástico, sem o qual não posso viver. É o melhor software que já comprei. Você ficaria chocado ao ver quantas teclas eu tenho.

Em anexo está uma imagem em que mapeio uma tecla de atalho para um item de menu. Ignore a ação acinzentada na imagem. Começa com "Executar macro". Seleção de menu é a ação que você deseja

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.