Comment activer l’échange de code à chaud Intellij

Intellij ne semble pas faire de swap de code chaud de base sur mon installation.

Pour ce code:

public class MainTest { public void method1() { System.out.println("Breakpoint here"); } public void method2() { System.out.println("Line that will get 24 modified"); } public static void main(Ssortingng[] args) { System.out.println("First print here"); MainTest mainTest = new MainTest(); mainTest.method1(); mainTest.method2(); System.out.println("Line that I do not modify"); } } 

Je mets un point d’arrêt sur mainTest.method1(); puis modifiez la chaîne à method2 (), appuyez sur ctrl + s et continuez pas à pas. Malheureusement, le runtime n’est pas mis à jour, l’ancienne chaîne est en cours d’impression. Un arrêt complet – comstackr – exécuter imprime la nouvelle chaîne. Donc, ma conclusion est que le remplacement à chaud ne fonctionne pas.

Y a-t-il des parameters que je dois définir pour activer l’échange de code à chaud?

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

Après avoir enregistré votre classe en attendant votre point d’arrêt, recomstackz votre classe avec Build -> Comstack 'MainTest.java' ou appuyez sur Ctrl+Shift+F9 avec les raccourcis clavier standard.

IntelliJ IDEA affichera alors un petit dialog dans lequel il vous demandera si vous souhaitez recharger cette classe.

Après les modifications ci-dessous et l’activation du remplacement à chaud, un changement de 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 cocher “Créer un projet automatiquement” dans le menu des préférences.

Pour ouvrir le menu des préférences;

vous pouvez aller au menu principal et cliquer;

IntelliJ IDEA -> Préférences

ou vous pouvez taper ci-dessous le raccourci via le clavier;

cmd,

Ensuite, vous pouvez cocher “Créer un projet automatiquement” comme dans l’image ci-dessous;

entrer la description de l'image ici

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

Pour ouvrir le registre, vous devez cliquer sur le raccourci clavier ci-dessous.

cmd déplacer un

Tapez “Registre” comme dans l’image ci-dessous, sélectionnez “Registery”, et appuyez sur le bouton Entrée du clavier;

entrer la description de l'image ici

Après l’ouverture de la fenêtre “Registery”, tapez “comstackr.automake” pour voir l’option “comstackr.automake.allow.when.app.running”, et vérifiez-la comme dans l’image ci-dessous;

entrer la description de l'image ici

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

Il existe une option Debugger > HotSwap dans Intelli 11.

Allez dans Réglage -> Sélectionnez Déboguer -> HotSwap

entrer la description de l'image ici

J’ai rencontré ce problème sur Ubuntu. J’ai également eu un problème apparemment sans rapport où IntelliJ a donné une erreur à propos de la limite de surveillance des fichiers (je m’excuse de ne plus avoir le message d’erreur exact). Pour résoudre ce problème, j’ai suivi les étapes suivantes:

  1. Ajoutez la ligne suivante au fichier /etc/sysctl.conf ou à un nouveau fichier * .conf (par exemple, idea.conf ) sous le répertoire /etc/sysctl.d/ :

     fs.inotify.max_user_watches = 524288 
  2. Ensuite, exécutez cette commande pour appliquer la modification:

    sudo sysctl -p –system

Maintenant, mes composants React se reconstruisent et le remplacement à chaud est parfait.

La source