Modification de plusieurs curseurs dans Xcode 10

89

Qu'est-ce que l'édition multi-curseurs dans l'éditeur Xcode 10. (plus d'informations sur la même chose sont mentionnées dans les notes de version mais incapables de comprendre.)

Comment ça marche exactement?

Krunal
la source
3
il est utilisé pour permettre de modifier rapidement plusieurs plages de code à la fois
Anbu.Karthik
2
Bonne question en fait. J'ai trouvé ce post Twitter sur ce sujet qui semble parler d'un plug-in / d'une solution de contournement tiers. Je ne sais pas comment entrer dans ce mode d'édition, cependant.
LinusGeffarth
3
Voir developer.apple.com/videos/play/wwdc2018/102/?time=2518 pour une démo rapide
Hamish

Réponses:

178

Pour modifier plusieurs instances de texte dans différentes sections d'un document, vous pouvez utiliser la modification multi-curseur. Cela permet de placer plusieurs curseurs à différents endroits afin que le texte puisse être ajouté, modifié ou supprimé .

c'est le nom de l' éditeur de source , à des fins de référence, j'ai pris la réponse de whats-new-in-xcode10 et Sample link 1 et Sample link 2

L'éditeur de source Xcode 10 prend désormais en charge l'édition multi-curseurs vous permettant d'éditer rapidement plusieurs plages de code à la fois.

  • shift+ control+ clic
  • shift+ control+
  • shift+ control+
  • option + faire glisser

Avec un projet activé pour le contrôle de source, l'éditeur de source affiche les modifications apportées par un développeur dans la gouttière et montre les modifications apportées par d'autres développeurs qui n'ont pas encore été intégrées au projet

Anbu.Karthik
la source
1
@MarcusJ - J'ai modifié la réponse, c'est facile à comprendre, pour un exemple que vous obtenez ici
Anbu.Karthik
2
J'aurais aimé qu'ils aient juste fait commande + clic comme Sublime.
Eric Mentele
5
@Dan change juste le raccourci clavier pour "Sélectionner la prochaine occurrence" Cmd + Ddans les préférences :)
RyanM
1
Pour sélectionner plusieurs lignes, utilisez simplement "Shift + Ctrl + Drag" dans Xcode10, ce qui pourrait être réalisé par "Cmd + Drag" plus tôt ✌️✌️✌️✌️
Mohit G.
1
@Dan, regarde ma réponse .
Iulian Onofrei
22

La meilleure façon de l'utiliser est d'utiliser la Select Next Occurrencecommande du Findmenu.

Son raccourci clavier par défaut est alt+ cmd+ e, mais vous pouvez le définir sur cmd+ dpour imiter le comportement de Sublime Text.

De cette façon, vous pouvez modifier des lignes de code différentes, alors que les solutions des autres réponses vous permettent uniquement de modifier des lignes similaires.

Par exemple, si vous avez ce code:

NSString *myStringg = @"stringg";
// print the stringg
NSLog(@"Here is my stringg: %@", myStringg);

vous simplement:

  1. sélectionner manuellement la première Stringgoccurrence de la première ligne à l'aide du curseur
  2. appuyez Select Next Occurrence4 fois sur le raccourci clavier de
  3. appuyez sur la righttouche fléchée
  4. frappé backspace

et vous aurez:

NSString *myString = @"string";
// print the string
NSLog(@"Here is my string: %@", myString);
Iulian Onofrei
la source
6

Shift+ Ctrl+ click lorsque vous souhaitez modifier le même texte dans un fichier plusieurs fois, par exemple

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

en cela, je dois mettre true sur les quatre lignes, alors il devrait être préférable de mettre true à la fois en utilisant shift+ control+click plutôt que d'éditer chaque ligne

jagdeep singh
la source
2

Il existe également un raccourci clavier pour ceux qui, comme moi, utilisent cmd+ Shift+ Ldans Sublime.

Ça s'appelle Selection - Split Selection By Lines. Je l'ai défini sur cmd+ Shift+ Lmais j'ai dû définir le Show Libraryraccourci sur quelque chose d'autre aléatoire que je n'utilise pas pour résoudre le conflit.

Sonastra
la source
Pour moi Select All Find Matchesau lieu de Selection - Split Selection By Linestravaillé.
limfinity