web-dev-qa-db-fra.com

IntelliJ IDEA mode d'édition de plusieurs lignes

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

48
hdx

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.

100
shobull

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:

  • Les fenêtres: CtrlCtrl+Up/Down
  • MacOS: Option,Option + Up/Down

(maintenez la deuxième touche enfoncée, puis appuyez sur la flèche)

67
Alexander Bogushov

Placez le curseur à la fin

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.

Changer le raccourci clavier multi-caret

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.

Prime

Essayez de tenir des combinaisons de CTRLSHIFTet des flèches pour améliorer le pouvoir de sélection.

10
Gibolt

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.

  1. Sélectionnez le premier point-virgule

enter image description here

  1. Puis appuyez Alt+J quatre fois

enter image description here

  1. Editez ce que vous voulez

enter image description here

  1. Presse Esc pour revenir à la première ligne.

enter image description here

9
DAle

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.

8
Chris Kessel

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.

5
Rafael Eyng

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é.

3
Tom van Zummeren

Vous pouvez également faire une sélection de bloc de code vertical par en cliquant molette de la souris et glissant} [:

 enter image description here

2
DimaSan

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

2
Snehal Parmar

ALT + CTRL + SHIFT + CLICK sur linux

1
metanerd

Tenir ALT et utiliser la souris pour cliquer et faire glisser

1
Davijr

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".

0
Srneczek

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 ):

  1. ALT + SHIFT + INSERT` pour entrer en mode bloc

    entered column edit mode

  2. SHIFT + UP ou SHIFT + DOWN pour sélectionner plusieurs lignes

    enter image description here

  3. END pour sauter à la fin de chaque ligne

    enter image description here

  4. maintenant, tapez foo, il sera ajouté à chaque ligne:

    enter image description here

  5. Désélectionnez maintenant tout avec ESCAPE et revenez au mode de sélection normal avec ALT + SHIFT + INSERT.

0
Andrey Tyukin

Pour les utilisateurs de mac c'est: ALT + SHIFT + Click

0
K-Marouane