142 votes

Xcode ligne en double

Il est un Duplicate commande dans le Menu Edition (avec un raccourci par défaut de D), mais il est (comme Halley souligné) signifiait pour la duplication dans Interface Builder partie de Xcode.

Alors, comment faites-vous (facilement) dupliquer une ligne dans Xcode 4?


Liés à la question (réponse) pour Xcode 3 ... et ce qui ne fonctionne pas pour Xcode 4.


Pourquoi ne pas simplement copier-coller?

Parce que c'est fastidieux et comporte trop de main-d'acrobatie:

soit (1): déplacement de la ligne de début, puis en appuyant sur ⇧^E, puis de copier avec ⌘C, le déplacement à la ligne, alligning curseur, et enfin le collage avec ⌘V;

ou (2): ^A (set curseur à la ligne de début), ^de l'ESPACE (jeu de marque), ^E (réglez le curseur en fin de ligne), ⇧^W (Select to Mark; personnalisé), la copie, la nouvelle ligne, etc.

Comme Frank gerhard Schröder (à la question connexe):

Le point est de ne PAS utiliser le Cmd-C/Cmd-V raccourcis.

186voto

Hailei Points 7202
  1. Accédez au dossier qui contient du côté obscur de la force:
    • Xcode 4.2 ou avant: /Developer/Library/PrivateFrameworks/IDEKit.framework/Resources
    • Xcode 4.3: je ne sais pas, c'est peut-être /Applications/Xcode.app/Contents/Frameworks/IDEKit.framework/Resources. Je n'ai pas le Lion de la machine disponibles en ce moment... je vais regarder cela quand j'ai une chance plus tard.
  2. Ouvrez IDETextKeyBindingSet.plist.
  3. Ajouter un nouveau dictionnaire et une nouvelle commande de l'élément comme la capture d'écran ci-dessous (le nom de ce que vous voulez): Editing the plist
  4. Redémarrez Xcode et allez dans les Préférences - les raccourcis clavier, la recherche de votre commande.
  5. Définir une combinaison de touches pour la commande: Key Bindings

  6. Finalement lâché le pouvoir de raccourcis sur Xcode... Profitez-en!

17voto

peerless Points 435

Aujourd'hui, j'ai écrit un petit plugin pour Xcode 5 que supprimer et dupliquer des lignes et des sélections.

Vous pouvez le télécharger à partir de mon dépôt GitHub: XcodeKit Plugin - https://github.com/ptfly/XcodeKit

14voto

Kelan Points 1718

@Hailei la réponse a été assez bonne, mais avaient la fâcheuse conséquence de casser le contenu du presse-papiers (en la laissant remplie avec le contenu de la copie de la ligne), ce qui est précisément la partie du manuel de copier/coller l'approche que j'essayais d'éviter.

Ainsi, j'ai changé la séquence de commande à ceci:

moveToBeginningOfLine:,
deleteToEndOfLine:,
yank:,
insertNewline:,
moveToBeginningOfLine:,
yank:

Les 2 yank:s ne peut pas fonctionner comme prévu si vous avez NSTextKillRingSize ensemble à quelque chose à part 1, mais je suis sûr que 1 est la valeur par défaut, et que vous avez à faire certains non-trivial travailler pour le changer (il nécessite l'ajout d'une entrée à l' ~/Library/Preferences/.GlobalPreferences.plist).

9voto

BB9z Points 474

Pourquoi dupliquer une seule ligne? Dupliquer l'ensemble du paragraphe, c'est mieux. Ma séquence:

Dupliquer Le Paragraphe En Cours

selectParagraph:,
delete:,
yank:,
moveToBeginningOfParagraph:,
yank:,
moveUp:,
moveToEndOfParagraph:

Supprimer Le Paragraphe En Cours

selectParagraph:,
delete:,
moveUp:,
moveToEndOfParagraph:

Fonctionne très bien dans Xcode 4.6

3voto

user570753 Points 31

Je voudrais envisager de revoir la séquence de commande à:

selectLine:,
copy:,
moveToEndOfLine:,
insertNewline:,
deleteToBeginningOfLine:,
paste:,
moveToBeginningOfLine:, 
deleteBackward:

L'ajoutés deleteToBeginningOfLine soutient la mise en retrait de la copie de la ligne.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X