Programing

Intellij 핫 코드 스왑을 활성화하는 방법

crosscheck 2020. 11. 15. 10:57
반응형

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를 누르고 단계적으로 계속합니다. 불행히도 런타임이 업데이트되지 않고 이전 문자열이 인쇄됩니다. Full stop-compile-run은 새 문자열을 인쇄합니다. 그래서 내 결론은 핫스왑이 작동하지 않는다는 것입니다.

핫 코드 스왑을 활성화하기 위해 설정해야하는 설정이 있습니까?

  • Ubuntu, JDK 1.6
  • Intellij 10.5 Ultimate (평가)

중단 점에서 대기하는 동안 클래스를 저장 한 후 클래스를 다시 컴파일 Build -> Compile 'MainTest.java'하거나 Ctrl+Shift+F9표준 키 바인딩으로 누르십시오 .

IntelliJ IDEA는 해당 클래스를 다시로드 할 것인지 묻는 작은 대화 상자를 표시합니다.


아래에서 수정하고 핫 스왑을 활성화 한 후 Java 파일을 변경하면 다시 시작하는 데 1-2 초가 걸렸습니다. (초기 시작 시간은 약 7 초입니다.)

아래 방법이 도움이 되었기를 바랍니다.


먼저 환경 설정 메뉴에서“자동으로 프로젝트 만들기”를 체크해야합니다.

기본 설정 메뉴를 열려면

상단 메뉴로 이동하여 클릭 할 수 있습니다.

IntelliJ IDEA-> 기본 설정

또는 키보드를 통해 바로 가기 아래에 입력 할 수 있습니다.

cmd + 옵션 + s

그러면 Make project automatically아래 그림과 같이 확인할 수 있습니다 .

여기에 이미지 설명 입력

둘째, compiler.automake.allow.when.app.running레지스트리 설정을 true 로 수정해야 합니다.

레지스트리를 열려면 아래 바로 가기 키를 클릭해야합니다.

cmd + 시프트 + a

입력 registry선택 아래 그림과 같이 Registry, 키보드의 버튼을 Enter 키를 누르십시오;

여기에 이미지 설명 입력

Registry창이 열립니다 입력 compiler.automake확인 compiler.automake.allow.when.app.running옵션을, 그리고 아래 그림과 같이 그것을 확인;

여기에 이미지 설명 입력

Than, you need to restart IntelliJ to make registry changes work.


There is a Debugger > HotSwap option in intellij 11.


Go to Setting --> Select Debug --> HotSwap

여기에 이미지 설명 입력


I wanted hotswap to automatically run every time I saved a Java file. None of the other answers did this so I just:

  1. Created a macro that will run on save: https://stackoverflow.com/a/5581992/14731
  2. Added Action: Hotswap at the end of the macro (Run -> Reload Changed Classes)

I encountered this problem on Ubuntu. I also had an apparently unrelated issue where IntelliJ gave an error about the file watch limit (my apologies that I no longer have the exact error message). To solve this later issue I did the following steps:

  1. Add the following line to either /etc/sysctl.conf file or a new *.conf file (e.g. idea.conf) under /etc/sysctl.d/ directory:

    fs.inotify.max_user_watches = 524288
    
  2. 그런 다음이 명령을 실행하여 변경 사항을 적용합니다.

    sudo sysctl -p-시스템

이제 내 React 구성 요소가 다시 빌드되고 핫 스왑됩니다.

출처

참고 URL : https://stackoverflow.com/questions/6402162/how-to-enable-intellij-hot-code-swap

반응형