Как включить горячую замену кода 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();
затем измените строку в method2 (), нажмите ctrl+s и продолжайте шаг за шагом. К сожалению, среда выполнения не обновляется, старая строка печатается. Полная остановка-компиляция-запуск печатает новую строку. Поэтому мой вывод-горячая замена не работает.
есть ли какие-либо настройки, которые мне нужно установить, чтобы включить горячую замену кода?
- Ubuntu, JDK 1.6
- Intellij 10.5 Ultimate (оценка)
5 ответов:
после сохранения класса во время ожидания точки останова просто перекомпилируйте свой класс с
Build -> Compile 'MainTest.java'
илиCtrl+Shift+F9
стандартные комбинации клавиш.IntelliJ IDEA покажет небольшое диалоговое окно, в котором он спрашивает вас, Хотите ли вы перезагрузить этот класс.
после приведенных ниже изменений и включения горячей замены изменение в файле Java заняло 1-2 секунды времени перезапуска. (Начальное время запуска составляет около 7 секунд для меня).
Я надеюсь, что ниже метод помогает...
во-первых, нужно проверить "сделать проект автоматически" в меню Настройки.
открыть меню настроек;
вы можете перейти в верхнее меню и нажать;
IntelliJ IDEA - > Предпочтения
или вы можете ввести ниже ярлык с помощью клавиатуры;
cmd + option + s
тогда вы можете проверить
Make project automatically
как на рисунке ниже;во-вторых, вам нужно изменить
compiler.automake.allow.when.app.running
параметр реестра как true.открыть реестр, вам нужно нажать ниже комбинации клавиш:
cmd + shift + а
тип
registry
как на картинке ниже, выберитеRegistry
, и нажмите кнопку enter на клавиатуре;после типа
compiler.automake
посмотретьcompiler.automake.allow.when.app.running
опции и проверить его как на рисунке ниже;чем, вам нужно перезапустить IntelliJ, чтобы изменения в реестре работали.
я столкнулся с этой проблемой на Ubuntu. У меня также была, по-видимому, несвязанная проблема, когда IntelliJ дал ошибку о пределе просмотра файла (мои извинения, что у меня больше нет точного сообщения об ошибке). Чтобы решить эту более позднюю проблему, я сделал следующие шаги:
добавить следующую строку либо
/etc/sysctl.conf
файл или новый *.файл conf (например,idea.conf
) под :fs.inotify.max_user_watches = 524288
затем выполните эту команду, чтобы применить изменение:
sudo sysctl-p -- system
теперь мои компоненты React перестраиваются и горячая замена просто отлично.