Как включить обмен быстрым кодом Intellij - программирование
Подтвердить что ты не робот

Как включить обмен быстрым кодом Intellij

Intellij, похоже, не выполняет базовую замену горячего кода при моей установке.

Для этого кода:

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(String[] args) {
        System.out.println("First print here");
        MainTest mainTest = new MainTest();
        mainTest.method1();
        mainTest.method2();
        System.out.println("Line that I do not modify");
    }
}

Я положил точку останова на mainTest.method1();, затем изменил строку в методе2(), ударил ctrl + s и продолжил шаг за шагом. К сожалению, среда выполнения не обновляется, печатается старая строка. Полная остановка - компиляция - запуск печати новой строки. Поэтому мой вывод - "горячая замена", которая не работает.

Есть ли какие-то настройки, которые мне нужно установить для включения обмена горячим кодом?

  • Ubuntu, JDK 1.6
  • Intellij 10.5 Ultimate (оценка)
4b9b3361

Ответ 1

После сохранения вашего класса во время ожидания точки останова просто перекомпилируйте свой класс с помощью Build -> Compile 'MainTest.java' или нажмите Ctrl+Shift+F9 со стандартными привязками клавиш.

Затем IntelliJ IDEA отобразит небольшое диалоговое окно, в котором спрашивается, хотите ли вы перезагрузить этот класс.

Ответ 2

После следующих изменений и включения горячей замены изменение файла Java заняло 1-2 секунды времени перезапуска. (Начальное время запуска для меня составляет около 7 секунд).

Я надеюсь, что ниже метод поможет...


Во-первых, вам нужно проверить "Сделать проект автоматически" в меню настроек.

Открыть меню настроек;

Вы можете перейти в верхнее меню и нажать;

IntelliJ IDEA → Настройки

или вы можете ввести ниже ярлык с помощью клавиатуры;

cmd + option + s

Затем вы можете установить флажок " Make project automatically как показано на рисунке ниже;

enter image description here

Во-вторых, вам нужно изменить параметр реестра compiler.automake.allow.when.app.running на true.

Чтобы открыть реестр, вам нужно нажать ниже сочетание клавиш:

cmd + shift + a

Введите registry как показано на рисунке ниже, выберите Registry и нажмите кнопку ввода на клавиатуре;

enter image description here

После открытия окна Registry введите compiler.automake чтобы увидеть параметр compiler.automake.allow.when.app.running, и отметьте его, как показано на рисунке ниже;

enter image description here

Затем вам нужно перезапустить IntelliJ, чтобы изменения в реестре работали.

Ответ 3

В intellij 11 есть опция Debugger > HotSwap.

Ответ 4

Перейдите в Настройка → Выбрать Debug → HotSwap

введите описание изображения здесь

Ответ 5

Я столкнулся с этой проблемой в Ubuntu. У меня также была явно не связанная с этим проблема, когда IntelliJ выдавал ошибку об ограничении времени просмотра файлов (мои извинения, что у меня больше нет точного сообщения об ошибке). Чтобы решить эту проблему позже, я сделал следующие шаги:

  1. Добавьте следующую строку либо в /etc/sysctl.conf либо в новый файл *.conf (например, idea.conf) в каталоге /etc/sysctl.d/:

    fs.inotify.max_user_watches = 524288
    
  2. Затем выполните эту команду, чтобы применить изменения:

    sudo sysctl -p - система

Теперь мои компоненты React пересобраны и горячая замена просто отлично.

Источник

Ответ 6

Я хотел, чтобы hotswap автоматически запускался каждый раз, когда я сохранял файл Java. Ни один из других ответов не сделал этого, поэтому я просто:

  1. Создан макрос, который будет выполняться при сохранении: fooobar.com/info/18114/...
  2. Добавлено Action: Hotswap в конце макроса