131 votes

Ligne double/supprimer Xcode

En venant de Eclipse et ayant été utilisé pour reproduire des lignes tout le temps, c’est assez étrange de découvrir que Xcode n’a pas une telle fonction. Ou faut-il ?

Je sais que c’est possible de changer les combinaisons de touches système large mais ce n’est pas ce que je suis après.

111voto

Tom Alsberg Points 3253

Pour supprimer une ligne: Ctrl-A pour aller au début de la ligne, puis Ctrl-K pour le supprimer, et une autre fois Ctrl-K pour supprimer la ligne vide. (Je ne suis pas d'utiliser Xcode très souvent, mais je suis habitué dans Emacs et d'autres saisies de texte avec Emacs-comme les liaisons, et il semble fonctionner dans Xcode).

Et pour dupliquer une ligne: je ne sais pas de beaucoup de programmes qui ont une commande pour que, d'habitude, mais je viens de l'utiliser Copier+Coller - dans Xcode c'est CUA: Ctrl+A pour aller au début de la ligne, Maj+ pour sélectionner, Commande+C pour copier et de Commande+*Y coller deux fois (une fois substitution de la ligne et une fois en ajoutant à cela).

(à partir d'une personne que les types et les modifications de texte de tous les temps, souvent dans les différents programmes, et occasionnellement dégoûté d'avoir de se distraire avec un muet widget tout en faisant un peu de correction de saisie de texte, qu'il ne peut pas éviter de se souvenir de ces séquences et les habitudes)

93voto

Frank Schröder Points 704

Le point est de ne PAS utiliser l' Cmd-C/Cmd-V raccourcis. J'ai le même problème venant de l'Ide, et d'être capable de simplement dupliquer les lignes avec Cmd-D et les supprimer avec Cmd-Y est un gain de temps.

Il a été m'énerve depuis. Toutefois, il ressemble à quelqu'un d'autre a trouvé une solution qui fonctionne.

En bref, créer un fichier ~/Library/KeyBindings/PBKeyBinding.dict avec le contenu suivant et le redémarrage de Xcode.

{
    "^$K" = (
        "selectLine:",
        "cut:"
    );

    "^$D" = (
        "selectLine:",
        "copy:",
        "moveToEndOfLine:",
        "insertNewline:",
        "paste:",
        "deleteBackward:"
    );
}

Cela va créer deux raccourcis: Ctrl-Maj-K pour supprimer la ligne en cours et Ctrl-Maj-D pour dupliquer la ligne courante. Veuillez noter que ce sera seulement le travail si vous êtes PAS à l'aide d'une clé personnalisée de liaison situé dans Xcode. Le passage à "XCode par Défaut" et les choses devraient fonctionner. Testé sur XCode 3.2 sur Snow Leopard.

Plus d'informations sur Mac OS X sur les liens: http://funkworks.blogspot.it/2013/03/republishing-of-wwwerasetotheleftcompos.html

78voto

Opena Points 441

Supprimer une ligne comme eclipse CTRL+D (testé sur Xcode 4.5.1) :

Tout d'abord, la modification de ces droits :

sudo chmod 666 /Applications/Xcode.app/Contents/Frameworks/IDEKit.framework/Resources/IDETextKeyBindingSet.plist

sudo chmod 777 /Applications/Xcode.app/Contents/Frameworks/IDEKit.framework/Resources/

Ouvrez /Applications/Xcode.app/Contents/Frameworks/IDEKit.framework/Resources/IDETextKeyBindingSet.plist avec Xcode lui-même et d'ajouter cette nouvelle entrée :

deleteToBeginningOfLine:, moveToEndOfLine:, deleteToBeginningOfLine:, deleteBackward:, moveDown:, moveToBeginningOfLine:

enter image description here

Redémarrez Xcode et ouvrez Xcode > Préférences > Raccourcis clavier. Trouvez votre macro et de définir un raccourci clavier :

enter image description here

9voto

leviathan Points 5207

J'ai essayé la clé de liaisons de solution, mais je ne pouvais pas le faire fonctionner. Cependant l'édition de mon XCode raccourcis clavier fonctionne comme un charme. Voici comment j'ai fait.

Cette solution ne permet pas de modifier le contenu du presse-papiers!

Ouvrez XCode sur les liens:

alt text

Dans l'Édition des Scripts Utilisateur boîte de Dialogue:

  1. Dupliquer le "Déplacer la Ligne vers le Bas" de script et de le renommer
  2. Dupliquer le "Déplacer la Ligne vers le Bas.scpt" fichier, renommer le script, sélectionnez fichier via (double-clic) dans l'Éditeur de Script
  3. Modifier le script (s'Ouvre "l'Éditeur AppleScript") et de supprimer le "supprimer (paragraphes startLine par le biais de finale)" le passage.
  4. Si vous ne souhaitez pas redémarrer XCode, vous semblez avoir à supprimer et rajouter le script. Assurez-vous que vous avez une "Sortie" réglé sur "annuler Sortie", sinon vous aurez un "(null)" dans votre fichier source
  5. J'ai légèrement modifié les scripts un peu plus pour avoir le droit de lignes sélectionnées:

Ligne En Double:

using terms from application "Xcode"
tell first text document
    set {startLine, endLine} to selected paragraph range

    if startLine > 1 then
        set theText to (paragraphs startLine through endLine)
        set theText to (theText as string)
        make new paragraph at beginning of paragraph (startLine) with data theText
        set selected paragraph range to {endLine + 1, endLine + endLine - startLine + 1}
    else
        beep 1
    end if
end tell
end using terms from

Double Ligne Vers Le Bas:

using terms from application "Xcode"
tell first text document
    set {startLine, endLine} to selected paragraph range
    if endLine < (count paragraphs) then
        set theText to (paragraphs startLine through endLine)
        set theText to (theText as string)
        (* delete (paragraphs startLine through endLine) *)
        make new paragraph at beginning of paragraph (endLine + 1) with data theText
        set selected paragraph range to {startLine, endLine}
    else
        beep 1
    end if
end tell
end using terms from

alt text

6voto

raheel Points 556

Comme Xcode 4, c’est difficile à mettre en œuvre à l’aide de raccourcis clavier, j’ai eu recours à l’utilisation de Keyboard Maestro (Quickeys devrait fonctionner aussi bien, mais ce n’est pas entièrement compatible Lion). Pour par exemple, voici mon raccourci Keyboard Maestro (lié à ⌘-⇧-D) :

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