J'ai vu cela dans TextMate et je me demandais s'il y avait un moyen de le faire dans IDEA.
Disons que j'ai le code suivant:
leaseLabel = "Lease";
leaseLabelPlural = "Leases";
portfolioLabel = "Portfolio";
portfolioLabelPlural = "Portfolios";
buildingLabel = "Building";
Quel est le meilleur moyen d'ajouter '+' foo '' à chaque ligne? Le mode colonne ne fonctionne pas car les lignes ne sont pas correctement alignées sur le côté droit ... sauf s'il existe un moyen facile de justifier le texte à droite: P
Depuis Idea IntelliJ IDEA 13.1, il est possible d’éditer plusieurs lignes.
Utilisation:
Alt + Shift + Clic de souris
pour la sélection. Plus d'informations sur cette nouvelle amélioration dans IntelliJ blogpost here . Fonctionnalité très utile.
J'utilise mode de sélection de colonne (Cmd+Shift+8 sur Mac) qui permet de créer plusieurs curseurs via Shift+Up ou Shift+Down puis éditez toutes les lignes ensemble.
À partir d'IntelliJ IDEA 14, il y a aussi Clone Caret Above/Below:
(maintenez la deuxième touche enfoncée, puis appuyez sur la flèche)
Windows: CTRL + CTRL(Tenez) + ↑ / ↓
Mac: option + option(Tenez) + ↑ / ↓.
Pour placer le curseur à la fin des rangées: déplacez le curseur à la rangée supérieure, clonez-le au bas et cliquez sur END.
Pour ajouter une Keymap personnalisée, CTRL+SHIFT+A, tapez keymap
et cliquez sur celui avec Settings
comme sous-texte. Recherchez Clone Caret Above
et Clone Caret Below
.
J'ai mappé le mien ALT+SHIFT+↑ / ↓ sur Windows et ⌘+↑ / ↓ sur Mac.
Essayez de tenir des combinaisons de CTRL, SHIFTet des flèches pour améliorer le pouvoir de sélection.
Une autre approche de clavier seulement. Il est possible (depuis la version 13.1) d'utiliser Alt+J / Shift+Alt+J (Ctrl+G pour OS X) des raccourcis permettant de créer plusieurs carets. Alt+J sélectionne l'occurrence suivante du texte actuellement sélectionné et ajoute un autre signe d'insertion.
Je viens d'utiliser les macros pour ce genre de chose. Je commence à enregistrer la macro, je le fais une fois, puis je reproduis la macro sur chaque ligne que je souhaite modifier. Vous seriez surpris de voir à quel point vous pouvez avoir la fonction d’enregistrement/lecture de macro.
Il m'a fallu un certain temps pour le savoir, mais sur un Mac, vous pouvez appuyer deux fois sur Option (appuyez dessus une fois, relâchez-le, appuyez à nouveau dessus, maintenez-le enfoncé) et utilisez Up/Down touches pour créer/supprimer des carets comme vous le souhaitez.
Vous pouvez aussi tenir Shift+Option et cliquez pour créer/supprimer des carets à des points spécifiques.
Dans ce cas, vous pouvez aussi simplement sélectionner le code dans lequel vous voulez le faire et le remplacer. Remplacer:
";
avec:
"+" foo ";
Donc, au cas où vous ne le sauriez pas: si du texte est sélectionné pendant que vous effectuez un remplacement (Ctrl + R ou Cmd + R), il ne s'appliquera qu'au texte sélectionné.
Sélectionnez la prochaine occurrence:
Alt+J on Windows, Ctrl-G on Mac OS X
Désélectionner Occurrence:
Alt+Shift+J on Windows, Ctrl-Shift-G on Mac OS X
Sélectionner toutes les occurrences:
Ctrl+Alt+Shift+J on Windows, Ctrl-Cmd-G on Mac OS X
pour plus de référence: link
ALT + CTRL + SHIFT + CLICK sur linux
Tenir ALT et utiliser la souris pour cliquer et faire glisser
Ce que j'utilise habituellement (NetBeans, mais je pense qu'il est simple à utiliser dans n'importe quel IDE) est find&replace
.
Vous venez de trouver ;\n
et de le remplacer par + $foo;\n
alors vous ne vous appliquez pas à TOUTES les lignes mais vous placez le curseur sur la première ligne et vous cliquez simplement sur le bouton "Remplacer" (dépend de votre IDE je suppose) 7 fois pour changer 7 lignes en un rien de temps. Facile et simple, vous devez le trouver avec le plus élémentaire et le plus avancé IDE.
EDIT: Dans IntelliJ (je ne sais pas si cela fonctionne aussi dans d’autres IDE), vous pouvez utiliser votre recherche et remplacement d’expression rationnelle pour la sélection uniquement afin que vous puissiez réellement utiliser "remplacer tout".
Le mode Colonne fonctionne parfaitement: commencez par sélectionner toutes les lignes en mode Colonne, puis appuyez sur la touche FIN: chaque curseur passe à la fin de la ligne correspondante.
Sous Linux ( PAS DE SOURIS ):
ALT
+ SHIFT + INSERT` pour entrer en mode bloc
SHIFT + UP
ou SHIFT + DOWN
pour sélectionner plusieurs lignes
END
pour sauter à la fin de chaque ligne
maintenant, tapez foo
, il sera ajouté à chaque ligne:
Désélectionnez maintenant tout avec ESCAPE
et revenez au mode de sélection normal avec ALT + SHIFT + INSERT
.
Pour les utilisateurs de mac c'est: ALT + SHIFT + Click