편리하고 스마트한 개발 환경

심도 있는 코드 분석

IntelliJ IDEA는 코드를 분석하여 전체 프로젝트 파일과 언어에 있는 심볼 사이의 연결을 찾아냅니다. 그리고 이 정보를 이용해 강력한 코딩 지원, 빠른 탐색, 스마트한 오류 분석, 리팩토링을 제공합니다.

스마트 완성

Ctrl+Shift+Space를 누르면 현재 컨텍스트에 적용할 수 있는 가장 적합한 심볼 목록이 표시됩니다. 이 기능을 비롯한 모든 완성 기능은 사용자 행동을 지속적으로 학습하여, 가장 자주 사용되는 클래스와 패키지의 멤버를 최상위 제안 목록으로 올려 놓기 때문에 사용자가 더 빨리 선택할 수 있습니다.

체인 완성

스마트 완성보다 자세히 분석하여, 현재 컨텍스트에서 메소드나 게터로 액세스할 수 있으며 적용 가능한 심볼 목록을 표시합니다. 예를 들어 Project 값을 찾으려 하는데 module이라는 모듈 선언만 가지고 있는 경우, 다른 작업을 할 필요 없이 Ctrl+Shift+Space를 두 번 눌러 module.getProject()를 얻을 수 있습니다.

정적 멤버 완성

정적 메소드와 상수를 간편하게 사용할 수 있습니다. 입력 내용에 맞는 심볼 목록이 제공되고 필요한 import 문이 자동으로 추가됩니다.

데이터 흐름 분석

IntelliJ IDEA는 데이터 흐름을 분석하여 가능한 런타임 심볼 유형을 추측하고 해당 정보에 따라 선택지를 개선해 클래스의 형 변환을 자동으로 추가합니다.

언어 삽입

사용자가 평소에 이용하던 코드 지원의 이점이 그대로 지원되어, 선택한 언어를 다른 언어의 표현식과 문자열 리터럴에 사용할 수 있습니다. 예를 들어 SQL, XPath, HTML, CSS 또는 JavaScript 코드의 일부를 Java 문자열에 삽입할 수 있습니다.

교차 언어 리팩토링

IntelliJ IDEA는 심볼의 사용 위치를 모두 파악하기 때문에 매우 효과적이며 완벽한 리팩토링을 제공합니다. 예를 들어 JPA 구문에 있는 클래스의 이름을 변경하는 경우, JPA 엔티티 클래스부터 모든 JPA 표현식까지 해당 클래스가 사용되고 있는 모든 요소를 빠짐없이 업데이트합니다.

중복 탐지

중복된 코드 부분을 바로 찾아냅니다. 변수나 상수, 메소드만 추출하려고 하는 경우에도 IntelliJ IDEA는 작업 중인 코드를 대체할 수 있는 유사한 코드가 있음을 알려줍니다.

검사 및 빠른 수정

IntelliJ IDEA에서 사용자의 실수를 탐지할 때마다 에디터에 작은 전구를 표시합니다. 전구를 클릭하거나 Alt+Enter를 누르면 오류 수정을 위해 선택할 수 있는 액션 목록이 열립니다.

인체 공학적인 개발 환경

IntelliJ IDEA의 모든 기능은 인체 공학적 측면을 염두에 두고 설계되었습니다. IntelliJ IDEA는 개발자가 작업 흐름의 매 순간이 가치 있으며 이러한 흐름을 깨는 요소는 좋지 않으므로 차단해야 한다는 원칙에 따라 설계되었습니다.

에디터 중심의 환경

대부분의 작업 시간 동안 화면에는 에디터와 코드만 표시되며 코딩과 관계없는 일 때문에 에디터를 나갈 필요가 없습니다.

빠른 팝업을 이용하면 작업 중인 컨텍스트를 벗어나지 않고도 추가 정보를 확인할 수 있습니다. Ctrl+Shift+I를 누르면 캐럿 위치에 있는 심볼의 정의가 표시됩니다.

코드 생성을 위해 복잡한 마법사를 진행하거나 방대한 양식을 채워 넣을 필요도 없습니다.

모든 작업을 단축키로 실행

IntelliJ IDEA에는 빠른 선택이나 도구 창과 에디터 전환 등 거의 모든 작업별로 전용 키보드 단축키가 있습니다.

단축키로 도구 창에 액세스하면 입력 포커스가 그 창으로 이동하기 때문에 해당 컨텍스트에서 모든 키보드 명령어를 사용할 수 있습니다. 에디터로 돌아가야 할 경우, Esc를 누르기만 하면 됩니다.

Project(프로젝트) 도구 창을 사용 중인 경우 기존 항목을 탐색할 수 있을 뿐만 아니라 간단히 Alt+Ins를 눌러 새 항목을 만들 수도 있습니다.

인체 공학적 사용자 인터페이스

IntelliJ IDEA의 모든 목록과 트리, 팝업을 통해 입력된 텍스트가 있는 항목 모음으로 바로 이동할 수 있는 빠른 검색 기능이 제공됩니다.

어떤 IDE 작업이든 호출 한 번으로 가장 기대하던 결과를 얻을 수 있습니다. 더 자세한 결과가 필요한 경우 단축키를 다시 누르면 IntelliJ IDEA에서 필요한 정보를 상세하게 찾아 줍니다.

인라인 디버거

코드를 디버그할 때 소스 코드에서 변수가 사용된 위치 바로 옆에 변숫값이 표시됩니다.

변수 위에 마우스를 올리거나 Debug(디버그) 도구 창의 Variables(변수) 창으로 전환할 필요도 없습니다.

변숫값이 변경되면 IntelliJ IDEA에서 해당 변수를 다른 색상으로 강조 표시하므로 코드의 상태 변화를 손쉽게 파악할 수 있습니다.

기본 제공 개발자 도구

IntelliJ IDEA는 효율적인 워크플로를 위해 디컴파일러, 바이트코드 뷰어, FTP 등 최고의 도구 모음을 제공합니다.

버전 관리

IntelliJ IDEA는 Git, SVN, Mercurial, CVS, Perforce, TFS 등의 주요 버전 관리 시스템을 위한 통합 인터페이스를 제공합니다. IntelliJ IDEA에서는 변경 기록 확인, 브랜치 관리, 충돌 병합 등을 수행할 수 있습니다.

빌드 도구

IntelliJ IDEA는 Maven, Gradle, Ant, Gant, SBT, NPM, Webpack, Grunt, Gulp 및 기타 빌드 도구를 지원합니다. 원활하게 통합된 이 도구들은 자동 컴파일, 패키징, 테스트 실행, 배포 등의 작업에 도움이 됩니다.

테스트 러너 및 커버리지

IntelliJ IDEA를 사용하면 유닛 테스트를 간편하게 수행할 수 있습니다. IntelliJ IDEA에는 JUnit, TestNG, Spock, Cucumber, ScalaTest, spec2, Karma 등 주요 테스트 프레임워크에 사용할 수 있는 테스트 러너 및 커버리지 도구가 포함되어 있습니다.

디컴파일러

IntelliJ IDEA에는 Java 클래스용 디컴파일러가 기본 제공됩니다. 라이브러리에 해당되는 소스 코드가 없는 경우에도 타사 플러그인을 사용하지 않고 라이브러리의 내용을 살펴볼 수 있습니다.

터미널

GoLand에는 터미널이 기본 제공됩니다. 사용 중인 플랫폼에 따라 명령줄 프롬프트, Far, Powershell 또는 Bash로 작업할 수 있으며 Alt+F12를 누르면 IDE를 벗어날 필요 없이 터미널을 열고 명령어를 실행할 수 있습니다.

데이터베이스 도구

SQL을 편집할 때 지능적인 코딩 지원 기능을 활용해 보세요. 실시간 데이터베이스 연결, 쿼리 실행, 데이터 검색 및 내보내기를 수행할 수 있을 뿐만 아니라 시각적 인터페이스를 통해 GoLand에서 바로 데이터베이스 구성까지 관리할 수 있습니다.

자세히 알아보기

애플리케이션 서버

IntelliJ IDEA는 주요 애플리케이션 서버(Tomcat, JBoss, WebSphere, WebLogic, Glassfish 등)를 지원합니다.

따라서 IDE 내에서 바로 애플리케이션 서버로 아티팩트를 배포하고 배포된 애플리케이션을 디버그할 수 있습니다.

자세히 알아보기

Docker

IntelliJ IDEA는 별도의 플러그인을 통해 로컬에서 실행되는 Docker 시스템에 연결하는 전용 도구 창을 제공하므로 이미지, 컨테이너, Docker Compose 서비스를 관리할 수 있습니다.

자세히 알아보기

Polyglot 환경

IntelliJ IDEA는 Java 외에도 주요 JVM 및 비 JVM 프레임워크와 언어를 별도 설정 없이 바로 사용할 수 있도록 최고 수준의 지원을 제공합니다.

주요 프레임워크에 최고 수준의 지원 제공

IntelliJ IDEA는 가장 많이 사용되는 서버 측 및 프런트엔드 프레임워크를 지원합니다.

Spring, Java EE, Grails, Play, Android, GWT, Vaadin, Thymeleaf, React, AngularJS 등의 프레임워크에서 확장된 코딩 지원을 활용해 보세요.

여러 언어를 지원하는 하나의 IDE

IntelliJ IDEA는 Java용 IDE이지만 Groovy, Kotlin, Scala, JavaScript, TypeScript, SQL 등의 다른 많은 언어도 이해합니다.

IntelliJ IDEA는 턴키 솔루션이지만 추가 기능이 필요한 경우 풍부한 플러그인 에코시스템을 사용할 수 있습니다.

에디션 선택