82 votes

Comment créer un raccourci clavier Supprimer une ligne dans Xcode 5? Les solutions Xcode 3 ne fonctionnent plus

Dans les versions précédentes d' Xcode il était possible de créer un raccourci clavier pour supprimer la ligne courante. Il y a différentes solutions et qu'ils sont décrits par exemple ici:

Xcode: Supprimer la ligne à chaud de la clé

Xcode dupliquer/supprimer la ligne

http://bigdiver.wordpress.com/2009/09/11/configure-homeend-key-bidings-on-mac-os-x/

http://www.betadesigns.co.uk/Blog/2010/02/03/custom-xcode-shortcuts/

Toutes les solutions comprennent la modification de l'un de ces fichiers:

~/Bibliothèque/Application Support/Xcode/Raccourcis/*.pbxkeys
~/Bibliothèque/Claviers/DefaultKeyBinding.dict
~/Bibliothèque/Claviers/PBKeyBinding.dict

Une bonne ressource pour les raccourcis existants en Xcode 4 est http://cocoasamurai.blogspot.com/2011/03/xcode-4-keyboard-shortcuts-now.html . Il y a beaucoup de énumérées quant à la suppression, mais non pas pour "supprimer la ligne".

MAIS, ces solutions ne permettent PAS de travail depuis Xcode 4.

Mise à jour: Problème est toujours le même que d' Xcode 5.1.1

Mise à jour: Problème est toujours le même que d' Xcode 6.1 GM Seed 2

98voto

Kailash Points 2170

Après beaucoup de recherche ici et là, j'en suis venu à la solution suivante:

Appuyez et maintenez le contrôle enfoncée, puis appuyez sur UneKK.

(Note: la seconde K supprime la ligne vide).

En fait c'est une combinaison de deux commandes: Move to Beginning of Paragraph & Delete to End of Paragraph. Vous pouvez également utiliser/mettre autre clé(s) et peut également utiliser/régler/changer les raccourcis clavier de commande autre(s), par exemple l' Move to Beginning of Line & Delete to End of Line. J'ai utilisé ci-dessus (par défaut) raccourcis clavier comme ils me convenait.

Edit:

Pour supprimer plus d'un consécutives lignes, maintenez la touche contrôle enfoncée, puis appuyez surUne (juste pour aller au début de l'alinéa/de ligne), puis maintenez enfoncée la touche K jusqu'à ce que toutes les lignes sont supprimées (ce que le curseur reste au début).

Juste pour rendre la tâche facile (pour moi), j'ai mis la commandeD pour Delete to End of Paragraph et de maison/fin pour aller au début/à la fin du paragraphe.

59voto

Rhubarb Points 16453

De se! Cela fonctionne dans XCode 4.3 à 4.5 et ne nécessite aucune des applications supplémentaires et est XCode spécifiques.

Cette solution est essentiellement la même que la Ligne en Double commande décrite ici:

Modifier le fichier plist

C'est dans /Applications/Xcode.app/Contents/Frameworks/IDEKit.cadre/Ressources/IDETextKeyBindingSet.plist

Notez que:

  • liés réponse suggère d'utiliser XCode pour cela, mais je trouve que cela se bloque XCode
  • ce chemin est pour Lion - il peut varier pour d'autres versions de système d'exploitation
  • vous pourriez avoir à sudo ou de modifier les autorisations pour modifier ce fichier
  • fermer XCode avant de le modifier

Ajouter un nouveau <dict> élément

Ajouter ce texte juste au-DESSUS de la clôture de l' <dict> à la fin de ce fichier

    <key>Custom</key>
    <dict>
      <key>Delete Current Line In One Hit</key>
      <string>moveToEndOfLine:, deleteToBeginningOfLine:, deleteToEndOfParagraph:</string> 
    </dict>

Notez que:

  • C'est à l'intérieur de l'existant, <dict> il y a donc un </dict></plist> après cette
  • On associe le nom de l'action "Supprimer la Ligne Courante d'Un seul coup" à trois actions clés dans la chaîne. J'ai joué un peu avec les différentes options ici pour obtenir la bonne combinaison. Par exemple, si vous essayez moveToBeginningOfLine, deleteToEndOfLine au lieu de vice versa, puis de l'utiliser sur des lignes vides va supprimer la ligne et l'ensemble de la ligne suivante. Ce qui est désagréable

Enregistrer et ouvrir XCode

Ajouter une nouvelle clé de liaison dans XCode

Voir les captures d'écran de ce dans le lié de répondre ou de faire ceci:

  1. Ouvrez XCode Préférences
  2. Sélectionnez Les Raccourcis Clavier
  3. Cliquez sur Tous les
  4. Dans la boîte de Recherche, tapez "Supprimer" et la recherche pour "Supprimer la Ligne Courante d'Un seul coup"
  5. Ajouter votre nouvelle liaison.

Cela devrait le faire, mais pour une mise en garde. Je n'ai jamais pu obtenir XCode pour enregistrer la nouvelle liaison. Le même problème est décrit ici, si ma solution a une légère variation:

  1. Créer un doublon de l'liaisons par Défaut (frapper le bouton + en bas à gauche de l'Liaisons fenêtre et créer un doublon)
  2. Définir la nouvelle liaison dans le double
  3. Fermez la boîte de dialogue préférences (c'est la variation!)
  4. Ouvrir les préférences de nouveau et de faire une copie de l'ancien dupliquer et supprimer l'ancien double.

Quel galimatias, hein? Mais il fonctionne. Maintenant, j'ai Ctrl+D mappé à supprimer toute la ligne actuelle dans XCode 4.3 sur Lion.

2voto

Paul Waldo Points 42

Si vous êtes un utilisateur de Keyboard Maestro, créez simplement une macro qui effectue les opérations suivantes:

  • Commande flèche gauche
  • Maj vers le bas de la flèche
  • Effacer

Je l'ai assigné à Command-D et je l'ai rendu disponible uniquement dans Xcode.

1voto

onteria_ Points 18947

Il semble que XCode utilise maintenant un fichier plist par rapport à un fichier de dict, et le nouveau format ne prend pas en charge l'ajout de plusieurs commandes à une touche de liaison. Aussi il ne semble pas être un moyen d'ajouter des commandes personnalisées à se lier soit. Le seul moyen que j'ai trouvé pour obtenir quelque chose de travail est par définition d'une clé de liaison pour les actions distinctes, telles que l' ^D pour deleteToEndOfLine:, alors ^L pour moveToBeginningOfLine:, vous donnant ^L+^D pour vous donner l'effet combiné.

1voto

LaC Points 7191

Si cela ne vous dérange pas d'avoir cette liaison de clé dans d'autres applications, vous pouvez essayer de la définir dans les liaisons de clé Cocoa générales. Cela a une explication.

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