109 votes

Comment activer le remplacement de code à chaud dans Intellij

Intellij ne semble pas effectuer de modification de code à chaud de base sur mon installation.

Pour ce code :

public class MainTest {
    public void method1() {
        System.out.println("Point d'arrêt ici");
    }

    public void method2() {
        System.out.println("Ligne qui sera modifiée en 24");
    }

    public static void main(String[] args) {
        System.out.println("Première impression ici");
        MainTest mainTest = new MainTest();
        mainTest.method1();
        mainTest.method2();
        System.out.println("Ligne que je ne modifie pas");
    }
}

J'ai mis un point d'arrêt sur mainTest.method1(); puis j'ai modifié la chaîne à method2(), appuyé sur ctrl+s et continué étape par étape. Malheureusement, le runtime n'est pas mis à jour, l'ancienne chaîne est imprimée. Un arrêt complet - compilation - exécution imprime la nouvelle chaîne. Donc ma conclusion est que le hot-swap ne fonctionne pas.

Y a-t-il des paramètres que je dois définir pour activer la modification de code à chaud ?

  • Ubuntu, JDK 1.6
  • Intellij 10.5 Ultimate (évaluation)

147voto

joschi Points 4278

Après avoir sauvegardé votre classe en attendant sur votre point d'arrêt, il vous suffit de recompiler votre classe avec Build -> Compiler 'MainTest.java' ou d'appuyer sur Ctrl+Shift+F9 avec les raccourcis clavier standard.

IntelliJ IDEA affichera ensuite une petite boîte de dialogue dans laquelle il vous demandera si vous souhaitez recharger cette classe.

34voto

Berk Points 51

Après les modifications ci-dessous et l'activation du hot swap, un changement dans un fichier Java a pris 1 à 2 secondes de temps de redémarrage. (Le temps de démarrage initial est d'environ 7 secondes pour moi).

J'espère que la méthode ci-dessous aide...


Tout d'abord, vous devez vérifier "Faire le projet automatiquement" dans le menu des préférences.

Pour ouvrir le menu des préférences;

vous pouvez aller dans le menu en haut et cliquer;

IntelliJ IDEA -> Préférences

ou vous pouvez taper raccourci clavier ci-dessous;

cmd + option + s

Ensuite, vous pouvez vérifier Faire le projet automatiquement comme sur l'image ci-dessous;

entrer la description de l'image ici

Deuxièmement, vous devez modifier le paramètre de registre compiler.automake.allow.when.app.running en tant que true.

Pour ouvrir le registre, vous devez appuyer sur le raccourci clavier ci-dessous:

cmd + shift + a

Tapez registre comme sur l'image ci-dessous, sélectionnez Registre, et appuyez sur le bouton entrée du clavier;

entrer la description de l'image ici

Après que la fenêtre du Registre soit ouverte, tapez compiler.automake pour voir l'option compiler.automake.allow.when.app.running, et cochez-la comme sur l'image ci-dessous;

entrer la description de l'image ici

Ensuite, vous devez redémarrer IntelliJ pour que les modifications du registre fonctionnent.

10voto

Allez dans Paramètres --> Sélectionnez Debug --> HotSwap

entrez ici la description de l'image

9voto

Pratik Khadloya Points 3481

Il y a une option Debugger > HotSwap dans IntelliJ 11.

8voto

Rajitha Bhanuka Points 147

Je pense que vous parlez de ceci,

  1. Cliquez avec le bouton droit sur votre classe Java
  2. Sélectionnez Compiler et recharger le fichier

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