문서의 임의 삭제는 제재 대상으로, 문서를 삭제하려면 삭제 토론을 진행해야 합니다. 문서 보기문서 삭제토론 IntelliJ IDEA (문서 편집) || [[파일:IntelliJ IDEA 로고.svg|width=100%]] || || [[https://www.jetbrains.com/idea/|[[파일:홈페이지 아이콘.svg|width=20px]]]] [[https://www.jetbrains.com/ko-kr/idea/|[[파일:홈페이지 아이콘.svg|width=20px]]한국어]] || [목차] [clearfix] == 개요 == ||{{{#!wiki style="margin:-5px -10px" [[파일:intellij_idea_2023.2.png|width=100%]]}}} || || Ultimate 2023.2 버전 실행시 나타나는 스플래시 디자인. || [[체코]] [[프라하]]에 본사를 둔 [[JetBrains]] 사에서 개발한 [[통합 개발 환경]]. [[이클립스(통합 개발 환경)|이클립스]]보다 여러 면에서 뛰어나다고 평가되며[* 2012년에는 IDE 시장에서 20%대에 머루르던 IntelliJ IDEA의 점유율이 2020년에는 62%로 상승하였다. [[https://snyk.io/blog/intellij-idea-dominates-the-ide-market-with-62-adoption-among-jvm-developers/|#]]], 2001년 첫 출시 때부터 편리한 코드 컴플리션[* 히스토리 기반 자동완성 기능을 제공한다. 일반적으로 자동완성 리스트는 알파벳 순으로 나열되지만, 유사한 텍스트를 이미 코드 상에 작성했다면 그 단어를 먼저 띄우는 기능이다. 이게 얼마나 효율적이고 편리하냐면, 작업시 클래스 명, 메서드 명, 디렉터리 명, 필드 명을 제외하곤 타이핑을 끝까지 안 해도 될 정도로 자동완성이 뛰어나다. 조금만 익숙해지면 자동완성을 역으로 예측해 활용하여 번개같은 속도로 코드 작성이 가능하다.] 및 리팩토링 기능으로 수많은 IDEA빠(...)들을 양산하였다. 2009년에 무료 커뮤니티 에디션이 나온 이후에는 본격적으로 [[Java]] 개발을 위해 많이 사용되기 시작했다. 툴 자체도 Java와 Swing을 이용해서 제작되었으며, 플러그인 개발에 사용되는 언어 역시 Java이다. 2019년 DeveloperWeek에서 'Best Innovation in Coding Tools(가장 혁신적인 코딩 툴)'로 선정된 바 있다. [[https://www.jetbrains.com/company/customers/awards/#year=2019|#]] [[Microsoft Windows|윈도우]], [[macOS]], [[Linux|리눅스]]를 모두 지원한다. 파일 시스템과 용어가 다른 IDE와는 좀 다르기 때문에 사전 학습이 필요하다. 이클립스의 워크스페이스 개념이 없고, 프로젝트 생성 시 기존에 만들어 둔 빈 폴더를 프로젝트 폴더화 시키는 방식이다. 프로젝트 안에 서브 프로젝트를 생성하는 것도 가능한데, 이러한 서브 프로젝트는 '모듈'이라고 불린다. 또한 이클립스의 Project-Specific JRE는 IntelliJ IDEA의 Project SDK와 대응된다. 단점이 있다면, 큰 규모의 프로젝트일 경우 초기 구동 시 파일 인덱싱 과정에서 CPU와 메모리 자원을 꽤 소모한다는 것이다. 파일의 개수가 많은 편이라면 인덱싱을 할 때 메모리 사용량이 1~1.5GB 가까이 치솟고, [[언리얼 엔진]]처럼 엔진 본체를 포함한 프로젝트를 통으로 구문분석해야 하는 경우엔 기본 4GB를 깔고 들어간다. 이 인덱싱은 IntelliJ IDEA의 코드 분석 기능을 위한 핵심 작업이라 어쩔 수 없는 듯하다.[* 반대로 프로젝트 규모가 커질수록 자원만 빵빵하다면 다른 IDE보다 편안한 환경을 제공해준다.] 아래에 서술된 플러그인들을 다 설치할 경우 로딩해야 하는 플러그인의 개수가 늘어나 자원을 더 잡아먹는다. 특히 자신이 [[안드로이드(운영체제)|안드로이드]] 앱을 개발할 게 아니라면(아예 안드로이드 개발용으로 [[안드로이드 스튜디오]]를 따로 만들었다) 무거운 Android 관련 플러그인은 비활성화 해놓는 것이 좋다. --근데 무거운 건 이클립스도 마찬가지다.-- Spring 및 Java EE 플러그인들도 코드 분석과 문법 색상 강조에 큰 영향을 미치므로 Java 웹 개발을 하지 않는다면 비활성화를 권장한다. 또한 GUI [[Git]]이 자체 내장되어 있어, 별도의 Git 클라이언트를 쓰지 않고도 간편한 버전 관리가 가능하다. 줄여서 [[IJ]], IDEA라고 부르며 한국에서는 인텔리~~킹텔리~~라고도 한다. == 라이선스 == IntelliJ IDEA는 무료 버전인 커뮤니티 에디션과 유료 버전인 얼티밋 에디션으로 나뉜다. 커뮤니티 에디션은 [[아파치 라이선스]] 2.0을 따르는 [[오픈 소스]]로 배포되며 웹 개발을 비롯한 여러 기능들이 제한된다. 이 기능들을 사용하고 싶다면 유료 정기 구독권으로 판매되는 얼티밋 에디션을 구입해야 한다. 다소 비싸긴 하지만 돈 값은 확실하게 한다는 점만 알아두자. 그리고 많이 혼동하는 사실이지만 커뮤니티 에디션도 회사에서 이용 가능하다. 애초에 아파치 라이선스라는 것 자체가 상업적 이용을 제한하지 않는 라이선스이다. Java의 핵심 기능과 [[Maven]], [[Gradle]], [[Git]] 등은 커뮤니티 에디션에서도 지원하는 것들이기 때문에 그 외의 용도가 아니라면 회사 차원에서도 사용할 만하다. 커뮤니티 에디션은 기본적으로 버전 업데이트를 지원하지 않아 새 버전이 나오면 기존의 바이너리를 지우고 다시 설치해야 하지만, [[https://www.jetbrains.com/toolbox/app/|JetBrains Toolbox]]를 통해 IDE를 설치했을 경우 업데이트가 가능하다. 얼티밋 에디션은 개인용 버전이 월간 14.9달러, 연간 149달러에 판매되고 있다. 얼티밋 에디션의 연간 구독권을 구입하거나 월간 구독권을 연속해서 12개월 동안 구입하면 Perpetual Fallback License가 함께 제공되는데, 이건 자신이 구입한 그 버전을 제한 없이 영구적으로 쓸 수 있는 라이선스이다.[* 월간 구독권의 경우 1개월차에 구입한 버전.][* 만약 구독 기간 중에 버전 업데이트가 이루어졌을 경우, 해당 버전이 출시된 시점부터 12개월이 될 때까지 추가적인 구입을 해 줘야 업데이트된 버전에 대해서도 Perpetual License를 획득할 수 있다. [[https://sales.jetbrains.com/hc/en-gb/articles/207240845-What-is-a-perpetual-fallback-license-|#]]] 대신 이 라이선스는 동일 버전(X.Y.Z의 'X.Y')의 IDE에 대한 버그 픽스(X.Y.Z의 'Z')만 제공되며[* 'IDE에 대한 버그 픽스'는 IntelliJ IDEA와 플러그인으로 공유되는 JetBrains의 모든 IDE에 적용된다. 예를 들어 GoLand에 버그 픽스 패치가 이루어졌을 경우, GoLand와 버전이 동일한 IntelliJ IDEA의 Go 플러그인에도 같은 패치가 적용되는 식이다.][* JetBrains IDE용 플러그인들은 타겟 IDE의 빌드 번호가 해당 플러그인의 호환성(Compatibility) 범위 내에 있기만 하면 라이선스에 관계 없이 업데이트를 제공한다. 호환성 범위는 [[https://plugins.jetbrains.com/|JetBrains Plugins Repository]]의 각 플러그인별 페이지에서 확인할 수 있다.], 이후 버전에서 추가된 기능을 사용하고 싶으면 새 구독권을 다시 구입해야 한다. 이 때는 월간/연간 상관없이 12개월 내 갱신 시 갱신한 시점의 버전(X.Y)이 제공된다. 연간 구독권을 구입할 경우 1년차에는 풀 프라이스로 판매되고, 2년차에는 30달러가 할인되며, 3년차 이후부터는 60달러가 할인된다.[* 그 대신 기존 구독권이 만료되고 6개월이 지나면 할인이 취소되어 다시 풀 프라이스에 구입해야 한다.] 각 구독권은 IDE 단일 제품과 JetBrains의 모든 상용 제품들[* IDE + [[Visual Studio|비주얼 스튜디오]]용 플러그인.]이 포함된 묶음 팩으로 나뉘어 있다. IDE 단일 제품에서 묶음팩(All Products Pack)으로 업그레이드할 시 연속 할인(Continuity Discount)은 묶음팩 라이선스로 계속 이관되며, 기존 라이선스의 잔여 사용일자는 새로운 라이선스의 무료사용일자로 변환된다.[* [[https://sales.jetbrains.com/hc/en-gb/articles/360001409224-Upgrading-from-one-IDE-to-another]]][* 관련 메일 문의 결과, 다음과 같이 회신 받음: 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.] 구독권이 유지되는 동안에는 버전 업데이트가 지속적으로 제공되고 업데이트 시기는 보통 3월, 7월, 11월 말이다.[* IDE마다 시기는 다소 상이할 수 있지만, 1년에 버전 업데이트가 3회 제공되는 방식은 JetBrains의 모든 제품에 똑같이 적용된다.] 학생용 무료 라이선스도 존재한다. 특히 학생용 라이선스는 JetBrains의 모든 상용 제품들을 1년간 제약 없이 사용할 수 있으며, 최대 갱신 횟수도 정해져 있지 않다![* JetBrains 웹사이트에 로그인한 뒤 Licenses 페이지를 보면 자신이 사용 중인 학생용 라이선스를 갱신하는 버튼이 있다.] 하지만 이 라이선스는 어디까지나 교육적 목적으로만 제공되기 때문에, 자신이 졸업하거나 아니면 자퇴를 하거나 퇴학을 당했을 경우 사용을 중단해야 한다. == 공식 지원 언어 == * 커뮤니티, 얼티밋 공통 내장 * [[Java]] - JavaFX 지원, Java ME는 얼티밋 전용 * [[Groovy]] * 얼티밋 단독 내장 * [[JSP]] - Java EE, [[Spring(프레임워크)|Spring]] [[프레임워크]] 지원 * [[JavaScript]]/[[TypeScript]] - WebStorm과 기능 동일, [[React(라이브러리)|React]] 라이브러리와 [[Angular]]/[[Bootstrap(프레임워크)|Bootstrap]]/[[Vue.js]] 프레임워크 지원 * [[SQL]] - DataGrip과 기능 동일 * 커뮤니티, 얼티밋 공통 플러그인 * [[Dart(프로그래밍 언어)|Dart]] - [[Flutter(프레임워크)|Flutter]] 프레임워크는 Flutter 플러그인 필요 * [[Kotlin]] * [[Scala]] - Play 프레임워크와 Scala.js 컴파일러는 얼티밋 전용 * [[Python]] - [[PyCharm]] 커뮤니티 또는 프로페셔널과 기능 동일, [[Django]] 프레임워크는 얼티밋 전용 * [[Rust(프로그래밍 언어)|Rust]] - 디버깅은 Native Debugging Support 플러그인 필요 * 얼티밋 전용 플러그인 * [[Ruby]] - RubyMine과 기능 동일, [[Ruby on Rails]] 프레임워크 지원 * [[PHP]] - PhpStorm과 기능 동일[* PhpStorm은 WebStorm의 모든 기능을 포함한다. 참고로 PhpStorm과 WebStorm은 모두 로컬 웹 서버(기본 포트번호 63342)를 내장하고 있다.], [[컴포저]] 프로젝트 지원 * [[Node.js]] - WebStorm과 기능 동일, Express 프레임워크 지원 * [[Go(프로그래밍 언어)|Go]] - GoLand와 기능 동일 == 시스템 요구 사항 == || 운영 체제 || [[Microsoft Windows|Windows]] [[Windows 10|10]]/[[Windows 8.1|8.1]]/[[Windows 8|8]] 64-bit [[macOS]] 10.13 이상 [[Linux]] [[GNOME]] 또는 [[KDE]] 데스크탑 64-bit || || RAM || 최소 2GB, 권장 8GB || || 하드 디스크 || 최소 2.5GB, [[SSD]] 권장 || || 화면 해상도 || 최소 1024 x 768 || == 한국어화 == JetBrains 플러그인 레포지토리에 [[https://plugins.jetbrains.com/plugin/13711-korean-language-pack------|한국어 언어 팩]]이 공식 플러그인으로 등록되었다. 2021년 7월 22일, 한국어와 중국어, 일본어 3개 국어의 현지화가 완료되었다. [[https://blog.jetbrains.com/ko/idea/2021/07/language-packs-public-release/|#]] Yii.Guxing이라는 중국인 프로그래머가 만든 [[https://plugins.jetbrains.com/plugin/8579-translation|Translation]] 플러그인도 유용하니 참고해 보자. 구글 번역을 통해 영단어를 한국어로 번역할 수 있다. == 공식 매뉴얼 == * [[https://www.jetbrains.com/help/idea/|IntelliJ IDEA 도움말 (영문)]] == 기타 == Settings Sync 기능을 활성화한 뒤 JetBrains 계정에 설정 내역을 연동하면 PC를 교체해도 그 설정을 간편하게 불러올 수 있다. 대신 이메일 계정이 변경되지 않아야 한다. 커뮤니티 에디션에서는 이 플러그인을 사용할 수 없다. [[구글]]의 [[안드로이드 스튜디오]]는 바로 이 IntelliJ IDEA를 기반으로 만든 IDE다. IntelliJ IDEA의 Android 관련 플러그인이 안드로이드 스튜디오와 거의 동일한 개발 환경을 제공한다. 다만 안드로이드 스튜디오 쪽이 업데이트가 더 빨라서 IntelliJ IDEA에는 즉시 적용되지 않는 경우가 많고, [[Google Play|플레이 스토어]] 애플리케이션 등록은 안드로이드 스튜디오에서만 가능하다. 공식은 아니지만 서드파티 플러그인을 통해 지원되는 프로그래밍 언어들도 존재한다. [[Clojure]]의 경우 [[https://plugins.jetbrains.com/plugin/8090-cursive|Cursive]]라는 플러그인[* 기본 유료, 비상업적 용도 무료.]으로 개발 환경을 제공하고 있으며, [[Haskell]] 개발 환경을 지원하는 [[https://plugins.jetbrains.com/plugin/8258-intellij-haskell|IntelliJ-Haskell]] 플러그인과 [[D언어]] 개발 환경을 위한 [[https://plugins.jetbrains.com/plugin/8115-d-language|D Language]] 플러그인, Elixir 개발 환경을 제공하는 [[https://plugins.jetbrains.com/plugin/7522-elixir|Elixir]] 플러그인도 있다. [[https://plugins.jetbrains.com/plugin/8327-minecraft-development|Minecraft Development]] 플러그인을 설치하면 IntelliJ 플랫폼의 강력한 코드 편집 기능을 이용하여 [[마인크래프트]] [[마인크래프트/자바 에디션|Java 에디션]]의 모드와 플러그인 개발을 할 수 있다. [[CLion]]처럼 [[UNIX/Microsoft Windows|WSL]] 환경을 지원하지만 어째서인지 빌드를 하려고 하면 오류가 뿜어져 나온다. == 관련 항목 == * [[Visual Studio|비주얼 스튜디오]] * [[넷빈즈]] * [[이클립스(통합 개발 환경)|이클립스]] == 외부 링크 == * [[https://www.jetbrains.com/|JetBrains]] * [[https://www.facebook.com/jetbrainsKR/|JetBrains 코리아 페이스북]] [include(틀:문서 가져옴, title=안드로이드 스튜디오, version=39)] [[분류:JetBrains]][[분류:프로그래밍]][[분류:통합 개발 환경]]저장 버튼을 클릭하면 당신이 기여한 내용을 CC-BY-NC-SA 2.0 KR으로 배포하고,기여한 문서에 대한 하이퍼링크나 URL을 이용하여 저작자 표시를 하는 것으로 충분하다는 데 동의하는 것입니다.이 동의는 철회할 수 없습니다.캡챠저장미리보기