티스토리 뷰

Study

IntelliJ 알아보기

니용 2019. 9. 25. 17:43
반응형

 

Author: 주니용

 

개발을 알고 지낸지 어느덧 10년이 되었다.

요즘 회사에서 사용하는 없어서는 안되는 툴이 있다.

 

바로 JetBrains사에서 출시한 IntelliJ이다.

(읽는건 인텔리제이라고 읽어요)

JetBrains사는 2009년 출범하여 현재까지 런칭중인 회사로

현재 구글에서 공식 지원하는 안드로이드 개발 툴인 Android Studio를 비롯하여 

각기 다양한 언어의 툴을 지원해주는 IDE를 개발하고 지원한다.

(안드로이드 개발은 전적으로 JetBrains으로 넘어갔다고 합니다)

JetBrains사의 공식 지원 IDE 리스트

 

기존에는 윈도우만을 기반으로 지원이 가능했지만,

이제는 매킨도시/리눅스 모두 지원 가능하다고 한다.

 

개발을 시작했을 때에는 Eclipse를 기본으로 시작하였고, 

Eclipse가 없었던 시절(있었는데 몰랐을 수도 있음)에는 기본 노트패드를 토대로 개발을 진행했던 때가 있었다.

덕분에 많은 개발자들의 생산성이 이전에 노트패드와 같은 IDE를 썼을 때보다 많이 증가하였다. (그 중 포함되는 1인)

 

지금은 개발에 필요로 하는 거의 모든 기능 및 외부 라이브러리(또는 플러그인)을 지원하고 있어서,

인터넷만 연결이 되어 있다면 그냥 애드온식으로 설치해서 사용하면 된다.

 

 


설치법

 

먼저, 당연히 툴을 사용하기 전 사용 언어는 설치되어 있으리라는 가정하에

홈페이지에서 사용자의 운영체제 및 비트 수에 맞게 다운로드 받는다.

https://www.jetbrains.com/idea/

 

IntelliJ IDEA: The Java IDE for Professional Developers by JetBrains

A Capable and Ergonomic Java IDE for Enterprise Java, Scala, Kotlin and much more...

www.jetbrains.com

여기서 Ultimate버전은 부분 유료로, 90일 기한이 종료되면 유료로 전환된다.

개인적으로는 사무실에서 사용하고 있는 입장으로 이 금액이 아깝지 않다고 생각한다!

https://www.jetbrains.com/idea/buy/#personal?billing=monthly

 

IntelliJ IDEA Ultimate: JetBrains Toolbox subscription

Code-centric IDE, focused on your productivity. Full Java EE support, deep code understanding, best debugger, refactorings, everything right out of the box...

www.jetbrains.com

(설치하는 데는 문제 없지만, 이후에 유료버전으로 넘어가면 사용 불가)

 

월 약 15달러 := 18,000원 정도(기업 사용가는 더 비쌈)

아니면 한정적으로 사용이 가능한 프리버전(Community)로 사용해도 무방하다. (입문자 추천)

Java라면 8버전까지 무료로 지원이 가능하고, 이후 버전에 있어선 오라클 홈페이지에서 유료로 구매한 사용자에 한하여 사용 가능하다.

 

 

설치하는 것은 다른 글에도 유익한 내용이 많으니 바로 사용법으로 넘어가보자!

 


사용법

설치 후 첫화면(캡쳐를 위해 모든 프로젝트 삭제..ㅠ)

기본 설정 및 설치가 성공적으로 완료되었으면 다음과 같이 창이 출력된다.

현재 Import 되어 있는 프로젝트가 없는 경우 Create New Project를

 

있는 경우 Import Project를 클릭하여 저장된 프로젝트를 가져온다.

Create New Project를 누르면 위와 같이 출력되고 용도에 맞게 선택해서 프로젝트를 생성한다.

개인적으로 콘솔로 확인하기 위한 용도면 맨 위 Java를,

안드로이드 프로젝트는 Android를 (SDK는 별도 설치 필요),

기본적인 서버를 위해서는 Spring Initializr를 선택한다.

(이 안에서 Maven, Gradle의 설정이 가능하다)

 

Spring Initializr 는 https://abbo.tistory.com/4

 

Spring Framework & Spring Boot

스프링 프레임워크. 웹 개발자를 시작하면서 들어보았고 시중에도 관련 서적들이 정말 많이 나온 프레임워크 중 하나이다. 또, 일부 사람들은 알다시피 eGov Framework(전자정부프레임워크)도 Spring을 기반으로..

abbo.tistory.com

글에서 언급한 프로젝트 생성기와 같다.

그럼 이제 본격적으로 사용법에 대해 알아보아야겠다.

 

개발자들은 기본적으로 코드를 볼 때의 가독성이 정말 중요하다.

가독성을 위해서 기본적으로 제공해주는 테마 외에도 다른 테마를 설정할 수 있다.

 

테마 / 폰트 설정

 

Preference & Settings

Mac: IntelliJ IDEA -> Preference -> Appearance & Behavior

Windows: File > Settings -> Appearance & Behavior

로 들어가게 되면 위와 같은 창이 출력되고

 

Theme 에서 기본 테마의 변경을 하고 아래의 Use custom font에서 글꼴 및 글꼴 사이즈 선택이 가능하다.

Background Image... 에서 소스 코드의 배경 이미지 커스터마이징도 가능하다.

마음에 드는 테마가 없다면 Preference -> Plugins의 Marketplace에서

theme 로 검색하면 정말 많은 종류의 테마가 나오고

원하는 테마를 Install하여 재기동시키면 선택이 가능하도록 출력된다.

 

 

개발의 편의성을 위해 단축키를 정말 많이 사용하는 편이다.

사용하면서 생산성이 향상되고 깊이가 깊어 찾기 어려운 소스를 쉽게 찾아내어 개발이 가능하며,

하나의 프로젝트에서 협업을 할 시 용이하게 사용할 수 있다.

 

단축키 설정

Mac: IntelliJ IDEA -> Preference -> 검색창에 Keymap

Windows: File > Settings -> 검색창에 Keymap

 

자주 사용하는 단축키는 아래에 정리해보았다.

1. Editor Actions

1-1. Delete Line

(선택한 한 줄 삭제)

 

1-2. Duplicate Line or Selection

(선택한 한 줄 복사)

 

1-3. Column Selection Mode

(코드를 직사각형 형태로 선택 가능, 해당 모드는 on/off여서 켜진 상태에서 코드를 드래그하면 직사각형 모양으로 입력/수정/삭제가 가능하다, 쿼리 편집시 또는 switch case에 자주 사용)

 

2. Main Menu

2-1. File > Close Project

(열려있는 프로젝트만 닫기, 2개 이상의 프로젝트 사용 시 유용)

 

2-2. Edit > Undo/Redo

(취소하기/되돌리기)  

 

2-3. Edit > Find > Find / Replace

(열려있는 소스 파일 내 검색/교체)

 

* 2-4. Edit > Find > Find in Path

(전체 프로젝트/파일 시스템에서 찾기, 이 기능 덕분에 개발 속도가 많이 빨라졌다.)

 

2-5. Edit > Code > Optimize Imports

(선택적 라이브러리 임포트)

 

2-6. Refactor > Refactor / Rename

(소스 리팩터 / 소스 이름 변경, 이 소스를 참조하고 있는 모든 소스에 영향도가 가므로 주의 필요)

 

2-7. Build > Build Project/Build Module

(프로젝트 빌드/모듈 빌드)

*프로젝트는 Start Configuration에 잡힌 main 함수를 실행시키는 것이고,

*모듈은 프로젝트 내 특정 서비스 또는 기능을 위해 실행시키는 것의 차이가 있다. 

 

2-8. Run > Run

(프로젝트 실행)

 

2-9. Tools > Start SSH Session

(저장된 Terminal 실행)

 

2-10. Window > Close Active Tab

(활성화된 소스 코드 탭 닫기)

 

2-11. Window > Maximize Tool Window

(열려있는 소스 코드 창 최대화, 탭 마우스 더블 클릭과 같음)

 

2-12. Window > Editor Tabs > Close All (열려있는 모든 소스 코드 탭 닫기)

<-> Reopen Closed Tab (방금 닫은 소스 탭 열기) 

 

2-13. Window > Editor Tabs > Split Vertically(or Horizontally) (한 화면에 가로(or 세로)로 2개 이상의 탭 열기)

 

3. Version Control Systems (Git의 설명은 해당 링크로 이동하시면 됩니다.)

3-1. Git > Commit File

(수정된 소스 커밋, Commit and Push로 소스 푸시도 가능하다)

 

3-2. Git > Compare with Branch...

(현재 로컬의 소스와 브랜치의 소스를 비교)

 

3-3. Git > Show History

(현재 활성화된 소스의 변경 이력 확인)

 

3-4. Git > Revert

(최근 커밋된 소스로 복구)

 

3-5. Git > Repository > Branches... 

(현재 로컬에서 연결되어 있는 브랜치 목록 확인)

 

3-6. Git > Repository > Merge Changes...

(로컬 브랜치를 현재 브랜치의 HEAD 이력위에 병합,Commit and Push도 같이 진행)

 

3-7. Git > Repository > Stash Changes...

(로컬 브랜치를 현재 브랜치의 HEAD 이력위에 임시 저장, Add만 진행)

 

3-8. Git > Repository > Pull...

(HEAD 브랜치의 소스로 로컬 소스 업데이트)

 

3-9. Git > Repository > Push...

(Commit 내역을 remote branch로 전송)

 

이 외에도 다양한 단축키가 있으나, 사용자가 어떤 프로젝트를 진행하느냐에 따라 다르다.

또, 단축키 설정값은 사용하는 PC가 변경되어 IntelliJ를 재설치하거나

다른 사용자가 사용하던 곳에서도 바로 가져올 수 있도록

File > Export Settings... 에서 설정값 저장을 하고

File > Import Settings... 에서 저장한 설정값을 가져와 사용할 수 있다.

 

플러그인

플러그인은 기본적으로 설치한 라이브러리 외에

Lombok, Android, PHP, EduTools 등의 라이브러리를 사용하고 싶을 때 Install하여 사용이 가능하도록 

IntelliJ에서 제공해주는 기본 기능으로 다른 웹사이트의 이용 없이 바로 장착이 가능한 기능이다.

위의 사용한 Keymap 세팅 아래 존재하며

 

IntelliJ Plugin

Marketplace : 현재 JetBrains에 등록되어 있는 모든 플러그인을 검색/설치

Installed : 현재 사용중인 IntelliJ IDEA에 설치되어 있는 플러그인 목록

Updates : 사용중인 IDE에서 플러그인의 신규 버전 업데이트 목록

으로 나누어진다.

 

Lombok의 경우 플러그인 설치 후

Preference > Build, Execution, Deployment > Compiler > Annotation Processors의 

Enable annotation processing을 체크해야 사용이 가능하다.

그 외에도 프로그래밍 언어(php, Scala, NodeJS 등)

템플릿 엔진(Mustache, Handlebars 등)

템플릿(React Template, Angular Template 등)

도구(MyBatisBuilder, Bootstrap 4, Font awesome, Translate 등)

등등 여러 플러그인이 있으니 자기 취향에 맞게 설치하여 사용하길 바란다!

 

참고: https://onsil-thegreenhouse.github.io/programming/java/2017/11/16/install_intellij/

반응형

'Study' 카테고리의 다른 글

개발자와 프레임워크  (0) 2020.06.14
개발자 일상 오픈!!  (0) 2020.06.12
Slack 활용법  (0) 2020.06.03
IntelliJ의 생산성을 높이는 방법  (0) 2020.02.05
개발 사이트 모아보기  (0) 2019.12.04
로드 밸런싱과 CDN  (0) 2019.11.13
댓글
공지사항