IntelliJ IDEA

 

[image]
공식 사이트 (영문)
공식 사이트 (한글)
1. 개요
2. 라이선스
3. 공식 지원 언어
4. 시스템 요구 사항
5. 한국어화
6. 공식 매뉴얼
7. 기타
8. 관련 항목
9. 외부 링크


1. 개요


체코 프라하에 본사를 둔 JetBrains(젯브레인즈) 사[1]에서 개발한 통합 개발 환경. 이클립스보다 여러 면에서 뛰어나다고 평가되며[2], 2001년 첫 출시 때부터 편리한 코드 컴플리션[3] 및 리팩토링 기능으로 수많은 IDEA빠(...)들을 양산하였다. 2009년에 무료 커뮤니티 에디션이 나온 이후에는 본격적으로 Java 개발을 위해 많이 사용되기 시작했다. 툴 자체도 Java와 Swing을 이용해서 제작되었으며, 플러그인 개발에 사용되는 언어 역시 Java이다. 2019년 DeveloperWeek에서 'Best Innovation in Coding Tools(가장 혁신적인 코딩 툴)'로 선정된 바 있다. # 윈도우, macOS, 리눅스를 모두 지원한다.
파일 시스템과 용어가 다른 IDE와는 좀 다르기 때문에 사전 학습이 필요하다. 이클립스의 워크스페이스 개념이 없고, 프로젝트 생성 시 기존에 만들어 둔 빈 폴더를 프로젝트 폴더화 시키는 방식이다. 프로젝트 안에 서브 프로젝트를 생성하는 것도 가능한데, 이러한 서브 프로젝트는 '모듈'이라고 불린다. 또한 이클립스의 Project-Specific JRE는 IntelliJ IDEA의 Project SDK와 대응된다.
단점이 있다면, 큰 규모의 프로젝트일 경우 초기 구동 시 파일 인덱싱 과정에서 CPU와 메모리 자원을 꽤 소모한다는 것이다.[4] 아래에 서술된 플러그인들을 다 설치할 경우 로딩해야 하는 플러그인의 개수가 늘어나 자원을 더 잡아먹는다. 특히 자신이 안드로이드 앱을 개발할 게 아니라면(아예 안드로이드 개발용으로 안드로이드 스튜디오를 따로 만들었다) 무거운 Android 관련 플러그인은 비활성화 해놓는 것이 좋다.
또한 GUI Git이 자체 내장되어 있어, 별도의 Git 클라이언트를 쓰지 않고도 간편한 버전 관리가 가능하다.

2. 라이선스


IntelliJ IDEA는 무료 버전인 커뮤니티 에디션과 유료 버전인 얼티밋 에디션으로 나뉜다.
커뮤니티 에디션은 아파치 라이선스 2.0을 따르는 오픈 소스로 배포되며 웹 개발을 비롯한 여러 기능들이 제한된다. 이 기능들을 사용하고 싶다면 유료 정기 구독권으로 판매되는 얼티밋 에디션을 구입해야 한다. 다소 비싸긴 하지만 돈 값은 확실하게 한다는 점만 알아두자. 그리고 많이 혼동하는 사실이지만 커뮤니티 에디션도 회사에서 이용 가능하다. 애초에 아파치 라이선스라는 것 자체가 상업적 이용을 제한하지 않는 라이선스이다. Java의 핵심 기능과 Maven, Gradle, Git 등은 커뮤니티 에디션에서도 지원하는 것들이기 때문에 그 외의 용도가 아니라면 회사 차원에서도 사용할 만하다. 커뮤니티 에디션은 기본적으로 버전 업데이트를 지원하지 않아 새 버전이 나오면 기존의 바이너리를 지우고 다시 설치해야 하지만, JetBrains Toolbox를 통해 IDE를 설치했을 경우 업데이트가 가능하다.
얼티밋 에디션은 개인용 버전이 월간 14.9달러, 연간 149달러에 판매되고 있다. 얼티밋 에디션의 연간 구독권을 구입하거나 월간 구독권을 연속해서 12개월 동안 구입하면 Perpetual Fallback License가 함께 제공되는데, 이건 자신이 구입한 그 버전을 제한 없이 영구적으로 쓸 수 있는 라이선스이다.[5][6] 대신 이 라이선스는 동일 버전(X.Y.Z의 'X.Y')의 IDE에 대한 버그 픽스(X.Y.Z의 'Z')만 제공되며[7][8], 이후 버전에서 추가된 기능을 사용하고 싶으면 새 구독권을 다시 구입해야 한다. 이 때는 월간/연간 상관없이 12개월 내 갱신 시 갱신한 시점의 버전(X.Y)이 제공된다.
연간 구독권을 구입할 경우 1년차에는 풀 프라이스로 판매되고, 2년차에는 30달러가 할인되며, 3년차 이후부터는 60달러가 할인된다.[9] 각 구독권은 IDE 단일 제품과 JetBrains의 모든 상용 제품들[10]이 포함된 묶음 팩으로 나뉘어 있다. IDE 단일 제품에서 묶음팩(All Products Pack)으로 업그레이드할 시 연속 할인(Continuity Discount)은 묶음팩 라이선스로 계속 이관되며, 기존 라이선스의 잔여 사용일자는 새로운 라이선스의 무료사용일자로 변환된다.[11][12] 구독권이 유지되는 동안에는 버전 업데이트가 지속적으로 제공되고 업데이트 시기는 보통 3월, 7월, 11월 말이다.[13]
학생용 무료 라이선스도 존재한다. 특히 학생용 라이선스는 JetBrains의 모든 상용 제품들을 1년간 제약 없이 사용할 수 있으며, 최대 갱신 횟수도 정해져 있지 않다![14] 하지만 이 라이선스는 어디까지나 교육적 목적으로만 제공되기 때문에, 자신이 학교에 다니지 않는다면 사용을 중단하는 것이 맞다.

3. 공식 지원 언어


  • 커뮤니티, 얼티밋 공통 내장
    • Java - JavaFX 지원, Java ME는 얼티밋 전용
    • Groovy
  • 커뮤니티, 얼티밋 공통 플러그인
    • Dart - Flutter 프레임워크는 Flutter 플러그인 필요
    • Kotlin
    • Scala - Play 프레임워크와 Scala.js 컴파일러는 얼티밋 전용
    • Python - PyCharm 커뮤니티 또는 프로페셔널과 기능 동일, Django 프레임워크는 얼티밋 전용
    • Rust - WSL 미지원, 디버깅은 Native Debugging Support 플러그인 필요
  • 얼티밋 전용 플러그인
    • Ruby - RubyMine과 기능 동일, Ruby on Rails 프레임워크 지원
    • PHP - PhpStorm과 기능 동일[15], 컴포저 프로젝트 지원
    • Node.js - WebStorm과 기능 동일, Express 프레임워크 지원
    • Go - GoLand와 기능 동일

4. 시스템 요구 사항


운영 체제
Windows 10/8.1/8 64-bit
macOS 10.13 이상
Linux GNOME 또는 KDE 데스크탑 64-bit
RAM
최소 2GB, 권장 8GB
하드 디스크
최소 2.5GB, SSD 권장
화면 해상도
최소 1024 x 768

5. 한국어화


JetBrains 플러그인 레포지토리에 한국어 언어 팩이 공식 플러그인으로 등록되었다. 현재 얼리 액세스 단계로, 피드백을 받고 있으니 관심이 있다면 참여해 보자. #

6. 공식 매뉴얼



7. 기타


IDE Settings Sync 기능을 활성화한 뒤 JetBrains 계정에 설정 내역을 연동하면 PC를 교체해도 그 설정을 간편하게 불러올 수 있다. 대신 운영체제가 동일해야 하고, 이메일 계정이 변경되지 않아야 한다. 커뮤니티 에디션에서는 이 플러그인을 사용할 수 없다.
2018.2 버전부터 맥북 프로의 터치 바를 정식으로 지원한다. 특히 디버깅 세션에 진입하면 디버거 툴과 관련된 버튼들이 자동으로 표시되어 매우 편리하다.
구글안드로이드 스튜디오는 바로 이 IntelliJ IDEA를 기반으로 만든 IDE다. IntelliJ IDEA의 Android 관련 플러그인이 안드로이드 스튜디오와 거의 동일한 개발 환경을 제공한다. 다만 안드로이드 스튜디오 쪽이 업데이트가 더 빨라서 IntelliJ IDEA에는 즉시 적용되지 않는 경우가 많고, 플레이 스토어 애플리케이션 등록은 안드로이드 스튜디오에서만 가능하다.
공식은 아니지만 서드파티 플러그인을 통해 지원되는 프로그래밍 언어들도 존재한다. Clojure의 경우 Cursive라는 플러그인[16]으로 개발 환경을 제공하고 있으며, Haskell 개발 환경을 지원하는 IntelliJ-Haskell 플러그인과 D언어 개발 환경을 위한 D Language 플러그인, Elixir 개발 환경을 제공하는 Elixir 플러그인도 있다.
Minecraft Development 플러그인을 설치하면 IntelliJ 플랫폼의 강력한 코드 편집 기능을 이용하여 마인크래프트 Java 에디션의 MOD 개발을 할 수 있다.
윈도우 버전은 마이크로소프트DirectWrite API가 제대로 적용되지 않은 상태여서, macOS나 리눅스 버전에 비하면 폰트 렌더링이 썩 좋지 못하다. #[17]

8. 관련 항목



9. 외부 링크




[1] 다만 핵심 개발진은 대부분 러시아 지부의 R&D 센터에 있다.[2] 2012년에는 IDE 시장에서 20%대에 머루르던 IntelliJ IDEA의 점유율이 2020년에는 62%로 상승하였다. #[3] 히스토리 기반 자동완성 기능을 제공한다. 일반적으로 자동완성 리스트는 알파벳 순으로 나열되지만, 유사한 텍스트를 이미 코드 상에 작성했다면 그 단어를 먼저 띄우는 기능이다.[4] 파일의 개수가 많은 편이라면 인덱싱을 할 때 메모리 사용량이 1~1.5GB 가까이 치솟는다. 이 인덱싱은 IntelliJ IDEA의 코드 분석 기능을 위한 핵심 작업이라 어쩔 수 없는 듯하다.[5] 월간 구독권의 경우 1개월차에 구입한 버전.[6] 만약 구독 기간 중에 버전 업데이트가 이루어졌을 경우, 해당 버전이 출시된 시점부터 12개월이 될 때까지 추가적인 구입을 해 줘야 업데이트된 버전에 대해서도 Perpetual License를 획득할 수 있다. #[7] 'IDE에 대한 버그 픽스'는 IntelliJ IDEA와 플러그인으로 공유되는 JetBrains의 모든 IDE에 적용된다. 예를 들어 GoLand에 버그 픽스 패치가 이루어졌을 경우, GoLand와 버전이 동일한 IntelliJ IDEA의 Go 플러그인에도 같은 패치가 적용되는 식이다.[8] JetBrains IDE용 플러그인들은 타겟 IDE의 빌드 번호가 해당 플러그인의 호환성(Compatibility) 범위 내에 있기만 하면 라이선스에 관계 없이 업데이트를 제공한다. 호환성 범위는 JetBrains Plugins Repository의 각 플러그인별 페이지에서 확인할 수 있다.[9] 그 대신 기존 구독권이 만료되고 6개월이 지나면 할인이 취소되어 다시 풀 프라이스에 구입해야 한다.[10] IDE + 비주얼 스튜디오용 플러그인.[11] https://sales.jetbrains.com/hc/en-gb/articles/360001409224-Upgrading-from-one-IDE-to-another[12] 관련 메일 문의 결과, 다음과 같이 회신 받음: Your continuity discount would be carried over when upgrading to this licence. The unused portion of the current licence would be converted into free days on the new license also.[13] IDE마다 시기는 다소 상이할 수 있지만, 1년에 버전 업데이트가 3회 제공되는 방식은 JetBrains의 모든 제품에 똑같이 적용된다.[14] JetBrains 웹사이트에 로그인한 뒤 Licenses 페이지를 보면 자신이 사용 중인 학생용 라이선스를 갱신하는 버튼이 있다.[15] PhpStorm은 WebStorm의 모든 기능을 포함한다. 참고로 PhpStorm과 WebStorm은 모두 로컬 웹 서버(기본 포트번호 63342)를 내장하고 있다.[16] 기본 유료, 비상업적 용도 무료.[17] 물론 아예 못 봐줄 수준은 아니고 직접 비교하지 않는 이상 크게 거슬리진 않는다. 수동으로 DirectWrite 옵션을 줄 수는 있지만, 활성화하면 글꼴이 뿌옇게 번지는 느낌으로 변해서 가독성이 오히려 더 떨어진다.