Edição de múltiplos cursores no Xcode 10

90

O que é 'Edição de múltiplos cursores' no editor Xcode 10. (mais informações sobre o mesmo são mencionadas nas notas de versão, mas não conseguimos entender).

Como exatamente isso funciona?

Krunal
fonte
3
é usado para permitir a edição rápida de vários intervalos de código de uma vez
Anbu.Karthik
2
Boa pergunta, na verdade. Eu encontrei este post no Twitter sobre este assunto que parece falar sobre algum plug-in / solução alternativa de terceiros. Não tenho certeza de como entrar nesse modo de edição, no entanto.
LinusGeffarth
3
Consulte developer.apple.com/videos/play/wwdc2018/102/?time=2518 para uma demonstração rápida
Hamish

Respostas:

183

Para editar várias instâncias de texto em diferentes seções de um documento, você pode usar a edição com vários cursores. Isso permite que vários cursores sejam colocados em locais diferentes para que o texto possa ser adicionado, modificado ou excluído .

é o nome de Editor de código-fonte , para fins de referência, peguei a resposta do whats-new-in-xcode10 e do link de amostra 1 e do link de amostra 2

O editor de código-fonte Xcode 10 agora oferece suporte à edição de vários cursores, permitindo que você edite rapidamente vários intervalos de código de uma vez.

  • shift+ control+ clique
  • shift+ control+
  • shift+ control+
  • option + arrastar

Com um projeto habilitado para controle de origem, o editor de origem exibe as alterações feitas por um desenvolvedor na sarjeta e mostra as alterações feitas por outros desenvolvedores que ainda não foram puxadas para o projeto

Anbu.Karthik
fonte
1
@MarcusJ - Eu modifiquei a resposta, é fácil de entender, por exemplo você consegue aqui
Anbu.Karthik
2
Eu gostaria que eles tivessem feito command + click como Sublime.
Eric Mentele
5
@Dan basta alterar o atalho do teclado para "Selecionar próxima ocorrência" para Cmd + Dnas preferências :)
RyanM
1
Para selecionar várias linhas, basta usar "Shift + Ctrl + Drag" no Xcode10, o que poderia ser feito por "Cmd + Drag" anteriormente ✌️✌️✌️✌️
Mohit G.
1
@Dan, dê uma olhada na minha resposta .
Iulian Onofrei
24

A melhor maneira de usá-lo é usando o Select Next Occurrencecomando do Findmenu.

Seu atalho de teclado padrão é alt+ cmd+ e, mas você pode defini-lo como cmd+ dpara imitar o comportamento do Sublime Text.

Dessa forma, você pode editar as linhas de código que são diferentes, enquanto as soluções nas outras respostas permitem apenas a edição de linhas semelhantes.

Por exemplo, se você tiver este código:

você simplesmente:

  1. selecione manualmente a primeira Stringgocorrência da primeira linha usando o cursor
  2. aperte o Select Next Occurrenceatalho do teclado 4 vezes
  3. aperte a righttecla de seta
  4. acertar backspace

e você terá:

Iulian Onofrei
fonte
6

Shift+ Ctrl+ click quando você deseja editar o mesmo texto no arquivo várias vezes, por exemplo

    option_A.isEnabled = false
    option_B.isEnabled = false
    option_C.isEnabled = false
    option_D.isEnabled = false

neste eu tenho que colocar verdadeiro em todas as quatro linhas, então deve ser melhor para colocar verdadeiro de uma vez usando shift+ control+click ao invés de editar cada linha

Jagdeep Singh
fonte
2

Há também um atalho de teclado disponível para aqueles como eu que usam cmd+ Shift+ Lno Sublime.

É chamado Selection - Split Selection By Lines. Eu defini para cmd+ Shift+, Lmas tive que definir o Show Libraryatalho para outra coisa aleatória que não uso para resolver o conflito.

Sonastra
fonte
Para mim, em Select All Find Matchesvez de Selection - Split Selection By Linesfuncionou.
limfinity