사용자 도구

사이트 도구


intellij_idea:config

IntelliJ IDEA Config 설정

JDK 선택

  • 2016.3 혹은 그 이전 버전부터 Ctrl+Shift+A 에서 Switch IDE boot JDK에서 JDK를 지정할 수 있다.

– 구버전 –

VMOptions

  • 기본적으로는 Help → Edit Custom VM Options 메뉴에 나오는 파일에서 JVM Option 조정
    • ${IDEA_HOME}/bin 에 보면 idea.exe.vmoptions/idea.vmoptionsidea64.exe.vmoptions/idea64.vmoptions 두 파일이 32bit/64bit에 따라 IntelliJ IDEA 실행 JVM 옵션을 주는 파일이다.
    • MS Windows의 경우 실행파일이 idea.exeidea.exe.vmoptionsidea64.exe이면 idea64.exe.vmoptions를 실행한다.
  • Linux/Mac 계열은 32/64bit를 자동판단한다.
  • 자기 환경에 맞는 아키텍처의 설정파일을 수정해주면 된다.
  • Intellij Idea JVM options benchmark Java 7에서는 G1 GC로 바꿔볼 것
    -Xms2g
    -Xmx2g
    -XX:ReservedCodeCacheSize=240m
    -XX:+UseCompressedOops
    -XX:+UseG1GC
    ... 기타 옵션들 ...
    -Dawt.useSystemAAFontSettings=lcd
  • -server 옵션은 빼자. 시작 속도가 엄청 느려진다.
  • 한글로 된 HOME 디렉토리(특히 Windows에서) 사용시 Code Coverage가 작동하지 않는 등의 문제가 있다. vmoptions에서 java.io.tmpdir을 영어로 된 디렉토리로 바꿔줘야 한다.
    -Djava.io.tmpdir=C:\Temp

Linux 한글 입력

  • Linux 입력기 문제는 버전에 따른 편차가 매우 크기 때문에, 잘된다면 아래내용 무시할것.
  • Input Method (입력기, 한글)에서 한글 입력이 잘 안 될 경우

fcitx

ibus

ibus-daemon -rd
  • Edit Custom VM Options…
-Drecreate.x11.input.method=true
  • 한글 입력시 공백등이 튈 경우
gsettings set org.freedesktop.ibus.engine.hangul use-event-forwarding true

설정 파일들의 디렉토리 변경

  • config: configuration (idea.config.path)
  • config\plugins: plugins (idea.plugins.path)
  • system: caches, local history, etc (idea.system.path)
  • system\log: logs and thread dumps (idea.log.path)

idea.properties 커스텀 설정에서 아래 값들을 변경해준다.

idea.config.path=/path/to/config
idea.plugins.path=/path/to/config/plugins
idea.system.path=/path/to/system
idea.log.path=/path/to/log
  • Windows 에서 한글 사용자명 폴더일 경우에 config.path와 system.path를 변경시켜줘야한다. 안그러면 일부 기능이 작동하지 않을 수 있다.

Idea Properties

  • 기본적으로는 Help → Edit Custom Properties 메뉴에 나오는 파일에서 편집한다.
  • $IDEA_HOME/bin/idea.properties 파일에서 직접 편집하거나 내용을 가져다가 하나씩 바꾸면된다.

성능

  • Java 7 사용시 메모리 2GB에 G1 GC를 사용하니까 성능이 안정적이었다.
  • 각 프로젝트별로 Settings → Inspections에서 Spelling을 비롯한 불필요한 항목들을 제거해준다.
  • VisualVM + VisualGC 등으로 보면서 안정 상태 확인할 것.
  • Inspection 등의 옵션 바꾸고 성능 확인시 가능하면 껐다 켜 볼 것. 옵션 변경이 즉시 적용이 안되는 경우가 있는 것으로 느껴진다.
  • Windows Defender 혹은 그외 Anti Virus 백신에서 프로젝트 디렉토리를 제외 처리 해야 성능이 좋아진다.

Console Buffer size

  • 과도한 Console 로깅은 IntelliJ의 GC를 유발하며 성능을 현격히 떨어뜨린다. 로깅양이 많을 경우 IntelliJ가 멈춘 것 처럼 보인다.
  • idea.properties 파일에서
  • idea.cycle.buffer.size=1024 항목을 KB 단위로 변경. 나는 보통 10240.

Linux 설정

  • inotify watch 설정값이 작으면 파일 변경사항 확인시 무한 루프 비슷한 상황에 빠질 수도 있다.
  • /etc/sysctl.conf에 충분한 값으로 설정해주기
    fs.inotify.max_user_watches = 524288
  • 아래 명령으로 적용 후 IntelliJ 재시작
    sudo sysctl -p

자동 빌드 - auto build

  • 자동 빌드는 클래스가 변경될 때마다 자동으로 컴파일하고, 배포한다.
  • 나는 자동 빌드 활성화 시에 지나치게 잦은 compile & deploy로 인한 성능저하 문제가 더 크다고 보고, 이를 꺼둔 상태로 사용한다.(IntelliJ Idea 자체도 기본값이 끄기)
  • Actions 에서 Registry… 를 찾아서
    • compiler.automake.allow.when.app.running=true 로 변경
  • Settings → Build, Execution, Deployment → Compiler → Build project automatically 활성화.

Tomcat(WAS) 실행 옵션

  • Windows 환경에서 UTF-8 개발시 VMOptions에 -Dfile.encoding=UTF-8을 지정하면 Tomcat등의 WAS 실행시에도 함께 -Dfile.encoding=UTF-8옵션을 줘야한다.
  • 그렇지 않으면 IntelliJ IDEA 콘솔을 UTF-8로, Tomcat로그는 Windows 환경 인코딩(CP949)로 출력해서 한글 로그가 깨지게 된다.
-Dfile.encoding=UTF-8 -Xmx512m -XX:PermSize=64m -XX:MaxPermSize=256m

Settings

Default Settings

  • File → New Project Settings 에서 모든 프로젝트의 기본 설정을 할 수 있다.
  • Annotation Processors → Enable annotation processing : Lombok 사용시 항상 필요하므로 활성화 해 둔다.

Appearance

  • Override default fonts by 에서 원하는 기본 글꼴 지정
  • 테마 등을 변경할 수 있음.
  • Meterial Theme UI를 설치하면 아이콘 등이 Meterial theme로 변경된다.
  • Show Memory Indicator : 메모리 현황을 보여준다.

글꼴 / Font

  • D2Coding ligature 를 사용하면 != 등의 코딩 기호를 간결하게 볼 수 있다.
  • Enable ligature check

Terminal Font

  • Settings → Editor → Color Scheme → Console Font 에서 명시할 수 있다.
  • CodeNewRoman Nerd Font Mono

System Settings

  • Reopen last project on startup : 마지막으로 열었던 프로젝트를 시작시 다시 열기. (나는 꺼둠)

File Colors

  • File Colors 메뉴에서 Test 파일, 프로젝트에 소속되지 않은 파일 등에 대한 배경 색을 지정할 수 있다.
  • 테마와 맞지않는 배경색으로 인해 파일이 잘 안보이는 경우가 있으므로 조정해야 하는 것이 좋다.

Editor -> Appearance

  • Show line numbers 체크
  • Show whitespaces 체크
  • Show method separators 체크 : 메서드 단위로 박스가 쳐져서 보여짐

코드 Color Scheme

Coverage Miss 라인 표시

  • Editor → Color Scheme → General → Line Coverage 에서 Partial과 Uncovered 에 Background 혹은 Error stripe mark를 준다.
  • Effects 는 잘 안먹는 것 같다.

Editor Tabs

  • Mark modified tabs with asterisk 체크 : 수정된 파일에 * 표시

Colors & Fonts -> File Status

  • VCS 에서 파일이 추가/삭제/머지 등의 상태에 따른 색을 지정할 수 있다.
  • Darcula 테마 사용시 몇몇 컬러가 눈에 안 띄므로 변경해주는 것이 좋다.
    • → Diff : Confliect : #0000FF 파란색

Editor -> General -> Code Folding

  • 코드가 너무 축약 돼 보인다.
  • One-line method 이하 ~ End of line comments sequence까지 uncheck

Editor -> General

  • Change font size (Zoom) with Ctrl+Mouse Wheel : 마우스 휠을 이용해 글꼴 크기 변경. Reset Font Size 액션으로 초기화 가능
  • Editor Tabs에서 PlacementNone으로 변경한다. 해보면 거의 사용안하고, Ctrl+E로 최근 탭을 찾게 된다.
  • Render documentation comments : Javadoc HTML을 보기 좋게 변환해서 소스상에서 보여준다.
  • Surround selection on typing quote or brace : 텍스트를 선택하고 , ', {} 를 입력하면 자동으로 감싸준다.
  • Soft Wraps
    • Soft-wrap these files : 지정된 확장자의 파일들을 soft wrap(긴줄을 아래로 내려서 보여주기)한다.

Code Formatter

  • Eclipse Code Formatter 플로그인을 사용하여 Eclipse와 동일한 코드 포매터를 공유할 수 있다. → 최근 버전에서는 IntelliJ 스스로 Eclipse Code Style을 import 할 수 있어서 불필요.
  • 설정의 Eclipse Code Formatter 항목에서
    • Use the Eclipse code formatter를 체크하고,
    • 원하는 Eclipse 포맷 파일 Export 한 것을 선택한다.
  • Java
    • Wrapping and Braces
      • Ensure right margin is not exceeded : “Right margin (cloumns)“를 넘어서는 줄을 포맷팅시 내려쓰기한다.
      • Kepp when reformatting
        • Line breaks : uncheck
  • Groovy
    • Wrapping and Braces
      • Use flying geese braces : closure { } 블록이 보기 좋게 맞게됨.
    • Chained method calls
      • Align when multiline

Encoding

  • IDE Encoding, Project Encoding 을 현재 사용하는 “UTF-8”로 강제지정.
  • Properties도 UTF-8로 설정.
    • “Transparent native-to-ascii conversion”을 체크한다. 이걸 해주면 native-to-ascii 가 자동으로 수행된다.

Auto import

  • Add unambiguous imports on the fly : 모호하지 않은 import 즉시 처리.
  • Lombok/Groovy 사용시 Annotation이 겹쳐서 혼란을 준다. 둘 중의 하나를 auto import에서 제외한다. Exclude from import and Completion에 다음 추가
    groovy.transform.ToString
    groovy.transform.EqualsAndHashCode
    groovy.transform.Builder
    groovy.util.logging.Slf4j

Compiler

  • Add runtime assertions for not-null-annotated method and parameters 옵션을 끄는게 좋다. @NonNull 혹은 @NotNull 등의 어노테이션이 붙은 코드에 null 값이 들어오면 에러내는 코드를 주입시켜서 혼란을 줄 수 있다. 다만, 로컬 환경에서 테스트시 필요하다 싶으면 켜도 좋다.

XFCE Descktop 사용시

  • 설정 관리자 → 창관리자 → 키보드 에서
    • XFCE 참조
    • Alt-Insert키 해제.
    • Ctrl-FXX 모두 해제.

Plugins

Gradle

  • 가능하면 Gradle Wrapper사용,
  • Auto Import를 켜두면 build.gradle 변경시마다 자동으로 Refresh한다. 스크립트 변경이 잦을 경우에는 오히려 개발속도를 떨어뜨릴 수도 있다.
  • 웹 프로젝트의 경우 가끔 Gradle에서 변경한 라이브러리 의존성이 갱신이 잘 안 되면 Artifact를 지우고 재생성하면 즉시 갱신된다.

Lombok

  • Settings → Compiler → Annotation Processors → Enable annotation processing 체크해야 사용가능.

Gradle

  • gradle 사용시 라이브러리 등이 변경되면 JetGradle에서 새로 고침을 해도 프로젝트 구조(Project Structure)에 반영이 안된다(12.x 버전 현재).
  • 이때 Project Structure에서 오류가 발생하게 되는데 여기서 Fix를 눌러 제거할 라이브러리를 제거하고, Artifacts에 추가할 라이브러리는 추가해주면된다.
  • Libraries 오류 먼저 잡고 그 뒤에 Artifacts 오류를 잡는게 나은 듯.

Clean IDEA

IntelliJ Idea 관련 프로젝트 설정 모두 삭제하기. 프로젝트 디렉토리에서 cleanIdea 실행.

alias cleanIdea="find . -name '*.iml' -exec rm {} \;; rm -rf .idea"

Tomcat Server Log

  • Tomcat Log의 JULI 부분을 참조하여 톰캣 로그가 하나의 콘솔에 모두 찍히도록 한다.

Local Changes

  • 원래 VCS Tool Window (<Alt>+9) 에 Local Changegs 탭(Tasks 목록과 수정된 파일 목록을 보여줌)이 있어야 하는데 안보인다면 Action 에서 Show Local Changes 를 실행해본다.

Issue Navigation

  • VCS 로그에 있는 커밋 메시지를 파싱하여 이슈 트래커로 가능 링크를 자동 생성해준다.
  • Settings → Version Control → IssueNavigation
  • Jira 예. commit 에 [XXX-123] 설명 형태로 적는다고 할 때 → 최신 버전은 자동으로 Add Jira pattern 기능이 생겨서 불필요함.

Server certificate

  • Server’s Certificate is not trusted 팝업이 지속적으로 뜰 경우(회사에서 개별 인증서 등록해서 사용시) 무조건 accept 하려면,
  • Settings → Tools → Server Certificates 에서 Accept non-trusted certificates automatically 를 활성화 해준다.

Windows WLS Linux Terminal & PowerShell

  • Tools → Terminal → Shell Path 에서 경로를 C:\Windows\System32\bash.exe 로 잡아주면 자동으로 Windows Subsystem For Linuxbash를 터미널로 띄워준다.
  • C:\Users\<my_user>\AppData\Local\Microsoft\WindowsApps\ubuntu.exe 도 가능한데, 이 경우 프로젝트 디렉토리를 실행디렉토리로 지정되지 않는다.
  • PowerShell 은 powershell.exe로만 지정해도 된다.

14.1.5

intellij_idea/config.txt · 마지막으로 수정됨: 2023/03/24 13:01 저자 kwon37xi