Vindo do Eclipse e tendo sido usado para duplicar linhas o tempo todo, é muito estranho descobrir que o Xcode não tem essa função. Ou faz?
Eu sei que é possível alterar as combinações de teclas em todo o sistema, mas não é isso que eu estou procurando.
xcode
line
duplicate-data
verão
fonte
fonte
Respostas:
O ponto principal é NÃO usar os atalhos
Cmd-C
/Cmd-V
. Eu tenho o mesmo problema vindo do IntelliJ, e poder duplicar linhasCmd-D
e excluí-las com issoCmd-Y
economiza muito tempo.Está me incomodando desde então. No entanto, parece que alguém encontrou uma solução que funciona.
Em resumo, crie um arquivo
~/Library/KeyBindings/PBKeyBinding.dict
com o seguinte conteúdo e reinicie o Xcode.Isso criará dois atalhos: Ctrl- Shift- Kpara excluir a linha atual e Ctrl- Shift- Dpara duplicar a linha atual. Observe que isso só funcionará se você NÃO estiver usando uma ligação de chave personalizada definida no Xcode. Mude para "XCode Default" e tudo deve funcionar. Testado no XCode 3.2 no Snow Leopard.
Mais informações sobre as combinações de teclas do Mac OS X: http://funkworks.blogspot.it/2013/03/republishing-of-wwwerasetotheleftcompos.html
fonte
Duplicate
comando (inEdit -> Duplicate
) parece estar "sempre" acinzentado (e não para duplicar linha).Para excluir uma linha : Ctrl-A para ir para o início da linha, depois Ctrl-K para excluí-la e outra vez Ctrl-K para remover a linha vazia. (Eu não uso o Xcode com muita frequência, mas estou acostumado a isso no Emacs e em outras entradas de texto com ligações do tipo Emacs, e parece funcionar também no Xcode.)
E para duplicar uma linha : eu não conheço muitos programas que possuem um comando para isso, mas geralmente apenas uso Copiar + Colar - no Xcode é semelhante a CUA: Ctrl+A para ir para o início da linha, Shift+↓ para selecionar -lo, Command + Cpara copiar e Command + * Vpara colar duas vezes (uma vez substituindo a linha e uma vez anexando a ele).
(de uma pessoa que digita e edita texto o tempo todo, com freqüência em programas diferentes, e ocasionalmente fica irritada por ter que se distrair com um widget idiota enquanto faz uma pequena correção em uma entrada de texto, que simplesmente não consegue evitar lembrar essas sequências e hábitos)
fonte
Exclua uma linha como eclipse CTRL+ D(testada no Xcode 4.5.1):
Antes de tudo, altere estes direitos:
Abra
/Applications/Xcode.app/Contents/Frameworks/IDEKit.framework/Resources/IDETextKeyBindingSet.plist
com o próprio Xcode e adicione esta nova entrada:Reinicie o Xcode e abra o Xcode> Preferências> KeyBindings. Encontre sua macro e defina uma tecla de atalho:
fonte
Tentei a solução de atalhos de teclas, mas não consegui fazê-lo funcionar. No entanto, editar minhas ligações de teclas XCode funciona como um encanto. Aqui está como eu fiz isso.
Esta solução não altera o conteúdo da área de transferência!
Abra as associações de teclas XCode:
Na caixa de diálogo Editar scripts do usuário:
Linha duplicada:
Linha duplicada abaixo:
fonte
OK, então eu trabalhei por um tempo e de repente ele quebrou. Agora eu combinei aqui diferentes posts e encontrei uma solução que funciona para o XCode 6.3.1.
Vá para
/Applications/Xcode.app/Contents/Frameworks/IDEKit.framework/Versions/A/
com o Finder.encontre a pasta chamada Recursos. Clique com o botão direito do mouse, pressione Obter informações, desbloqueie a configuração de compartilhamento e permissões (pressionando o cadeado) e defina como Leitura e gravação para todos.
Digite a pasta e localize o arquivo IDETextKeyBindingSet.plist. Clique com o botão direito do mouse, pressione Obter informações, desbloqueie a configuração de compartilhamento e permissões (pressionando o cadeado) e defina como Leitura e gravação para todos.
Abra o arquivo com XCode (padrão)
Encontre exclusões, clique com o botão direito do mouse e adicione uma nova linha. Nomeie-o, por exemplo, Excluir linha. No campo valor, digite:
selectLine:, deleteBackward:
. (Isso também pode ser feito para a linha duplicada:selectLine:,copy:,moveToEndOfLine:,insertNewline:,paste:,deleteBackward:
)fonte
Como o Xcode 4 dificulta a implementação usando o pressionamento de teclas, eu usei o Keyboard Maestro (o Quickeys também deve funcionar bem, mas não é totalmente compatível com o Lion). Por exemplo, aqui está o atalho do Keyboard Maestro (vinculado a ⌘-⇧-D):
http://bit.ly/thC6yf
fonte
Para excluir linha no Xcode 10.1, siga as etapas da captura de tela abaixo para adicionar uma tecla de atalho.
fonte
Eu sei que esse encadeamento é bastante antigo, mas encontrei outra solução usando o BetterTouchTool , você pode executar a sequência Ctrl+ A, Ctrl+ K, Ctrl+ Kem um atalho, configurando assim no BTT:
(Use o botão Anexar ação adicional para anexar o segundo e o terceiro atalho)
PS: Vindo do Eclipse, onde Cmd+ Dé excluir a linha ^^
fonte
Clique três vezes para selecionar a linha inteira, comando-c para selecionar e comando-v duas vezes para duplicá-la. Não é uma função do Xcode, é apenas parte do sistema operacional.
fonte
Use scripts de usuário.
Ainda existem scripts para mover e excluir linhas. É necessário definir as combinações de teclas para esses scripts (menu Scripts -> Editar scripts do usuário ... , no xCode 3.2).
Para duplicar a linha, você deve criar seu próprio script. Mas é muito simples! Duplique o script "Mover linha para baixo" e remova a linha que exclui o texto selecionado:
fonte
Há uma solução para duplicação de linha XCode4 por aqui
Também adicionei a exclusão de linha ao plist:
<key>Remove Line</key> <string>selectLine:, deleteBackward:</string>
fonte
Estamos no Xcode 9.0 e as combinações de teclas ainda não estão funcionando. Suspiro.
Eu achei essa essência muito útil, então, repita-a aqui para referência futura:
/Applications/Xcode.app/Contents/Frameworks/IDEKit.framework/Versions/A/Resources/IDETextKeyBindingSet.plist
</dict>
<key>Duplication</key> <dict> <key>Duplicate Current Line</key> <string>moveToBeginningOfLine:, deleteToEndOfLine:, yank:, insertNewline:, moveToBeginningOfLine:, yank:</string> <key>Duplicate Lines</key> <string>selectLine:, copy:, moveToEndOfLine:, insertNewline:, paste:, deleteBackward:</string> <key>Delete Line</key> <string>selectLine:, deleteBackward:</string> </dict>
fonte
Não há necessidade de modificar o Xcode. Você pode apenas usar a extensão Xcode Linex
fonte
A solução damien.flament funciona muito bem e você pode precisar definir a saída como "Descartar saída", veja a figura abaixo
PS: Não sei como comentar sua resposta.
fonte
Como dito acima, feche o XCode e insira o seguinte para
~/Library/Application Support/Xcode/Key Bindings/ <user>.pbxkeys
dentro<dict>
na<key>text</key>
seção:Inicie o XCode e aproveite CTRL- SHIFT- De CTRL- SHIFT- K.
Se você quiser CTRL- De CTRL- K, use
^d
e^k
nas principais definições. Verifique se não há ligações de teclas duplicadas no arquivo.Funciona bem para mim com o XCode 3.2
fonte
Isso é possível usando o BetterTouchTool . CMD + D duplicará uma linha. Crie um novo atalho como este:
Use o botão Anexar ação adicional para anexar o segundo e o terceiro atalho
fonte
Se você já personalizou suas teclas Xcode, você terá que editar o arquivo:
~/Library/Application Support/Xcode/Key Bindings/<user>.pbxkeys
. Basta adicionar as duas matrizes (descritas acima) aoRoot/text
dicionário.fonte
Três etapas para excluir a linha atual (veja por muito tempo, mas faça muito rápido: D)
Cmd+ →: mover para o final da linha
Cmd+ Delete: excluir para iniciar a linha
Delete: excluir linha vazia
fonte
Para o Xcode 6.1, acesse Xcode> Preferences> KeyBindings> Text E existe "Delete to End of Line" e atribua a chave desejada.
fonte
O plugin de linha de exclusão do XCodePlus, é um XCode que faz isso por você. Ele veio pré-instalado com o gerenciador de pacotes Alcatraz ...
https://github.com/payliu/XcodePlus
fonte
Ainda não existe uma maneira integrada de duplicar linhas, a partir do Xcode 9. E as combinações de teclas personalizadas parecem ter problemas.
Atualização: Xcode 10.0 beta 6 (10L232m) é o mesmo.
fonte
Vá para este endereço:
/Applications/Xcode.app/Contents/Frameworks/IDEKit.framework/Resources/IDETextKeyBindingSet
copie o arquivo IDETextKeyBindingSet.plist em alguns locais e abra o arquivo copiado e insira
selecioneLinha :, copie :, cole :, cole: como esta imagem, digite a descrição da imagem aqui e salve-a e substitua o arquivo copiado neste endereço /Applications/Xcode.app/Contents/Frameworks/IDEKit.framework/Resources/IDETextKeyBindingSet
em seguida, reinicie o xcode, abra as preferências do xcode, vá para a guia de combinação de teclas, procure uma linha duplicada (personalizada) e defina a tecla de atalho como na imagem abaixo
[1]: https://i.stack.imgur.com/UTeZu.png
fonte