11
votes

créer des macros dans Intellij

J'essaie de créer une macro qui prend une sélection de texte et que vous trouverez certaines recherches / remplacez-la à l'aide d'une regex. J'ai enregistré cette macro dans Intellij, mais quand je l'exécute, tout ce que je reçois est la boîte de dialogue de recherche / remplacement ouverte. Aucune trouvaille / remplacement est exécutée.

Quelqu'un a-t-il eu de chance avec la création d'un trouver / remplacer macro dans Intellij?


3 commentaires

jetbrains.com/help/idea/2016.1/ en utilisant-macros-in-the-editor.ht ml est très utile


J'utilisais AutoIt sur Windows pour créer des macros. C'est une macro très puissante. Si vous utilisez Windows, vous pouvez peut-être l'essayer juste pour la solution de contournement.


Si vous avez déjà la refuge et le remplacement dans la boîte de dialogue Rechercher / Remplacer / Remplacer, puis fermez la barre et utilisez simplement les raccourcis (F3) pour sélectionner l'occurrence suivante à l'aide du dernier élément entré dans Rechercher / Remplacer. puis (Ctrl + R) pour faire le remplacement. Ensuite, certaines choses seront sélectionnées, vous devez donc appuyer sur ESC sinon la prochaine F3 tentera de trouver le texte sélectionné et vous voulez qu'il continue à utiliser l'ancien Regexp.


3 Réponses :


-3
votes

3
votes

Je ne peux pas obtenir la macro trouvez / remplacer au travail, soit je peux vous donner deux choses qui pourraient résoudre votre problème:

  1. Si ce n'est que quelques endroits / fois, vous devez le faire trouver / remplacer a une mémoire de remplaçants antérieurs (flèche vers le bas dans les champs de recherche / remplacement).

  2. Écrivez un plugin (oui sérieusement, il n'est pas du tout difficile) de faire cela. J'ai été surpris à quel point c'était facile, même si la documentation pourrait être améliorée.

    et une façon bonus de le faire, je pensais juste à:

    1. Ouvrez le fichier dans EMACS Enregistrement de la macro (ou écrivez une fonction ELISP pour le faire), c'est ainsi que je l'aurais fait jusqu'à ce que j'avais appris à quel point il était facile de faire des plugins d'une idée.

4 commentaires

Pouvez-vous mettre votre code plugin en ligne par hasard, je pense que ce serait extrêmement utile pour tout le monde;)


Je n'ai pas de plugin de recherche / remplacement général (j'ai quelques autres fonctions que j'ai manquées d'EMACS). Mais si je reçois un peu de temps, je vais en écrire un.


@osundblad Avez-vous déjà écrit le plugin?


Merci d'avoir suggéré d'écrire un plugin. Je l'ai fait dans seulement je suppose que 2 heures. Et maintenant je sais comment ça marche



1
votes

Ceci semble être un Bug de longue date dans Intellij. Une solution de contournement qui a fonctionné pour moi était ceci:

  • Installez le plugin Idevim .
  • Lors de l'enregistrement d'une macro nécessitant une recherche, activez le mode VIM (Outils -> émulation VIM) pendant la macro, positionnez le curseur à l'aide de mesures de VIM standard, désactivez le mode VIM.

    En général, l'émulation de Vim peut être très pratique pour Intellij Macros.


0 commentaires