Skip to content

Instantly share code, notes, and snippets.

@Curookie
Last active May 1, 2019 10:44
Show Gist options
  • Save Curookie/445dafe4d31e7be36e5764209217f71b to your computer and use it in GitHub Desktop.
Save Curookie/445dafe4d31e7be36e5764209217f71b to your computer and use it in GitHub Desktop.
IDE, 개발환경, IntelliJ

설치

Toolbox App를 통해 설치하는것 추천(다른 앱 설치하기 편함, Settings에서 힙사이즈나 Update 일반릴리즈, 프리뷰릴리즈 정할 수 있다.)
Community 버전 Web에 관련된건 기능은 지원없다. (서블릿, 톰캣, 스프링, 스프링부트, 자바스크립트 사용은 할 수 있으나 지원X)
Ultimate 버전은 웹 관련된것을 다 지원한다.


실행

모든 경우 Maven이나 Gradle로 프로젝트로 만드는 게 좋다.
Gradle>
GroupId = 프로젝트 이름 ex) com.curookie.aproj
ArtifactId = 프로젝트의 하위 모듈 ex)text-feature

Project name 그대로
Project location 관리하고 있는 위치로 디렉토리 변경 ex) git>aproj>text-feature

Gradle build > 필요한 환경 받는 것.
Enable-Auto-Import 누르면 gradle 입력 된 것 자동으로 받아줌

플러그인 추가 하는 창에서 Browse-Repository 들어가면 전체 플러그인이 검색된다.

src/main/java 폴더 생성 됨. java에서 com.curookie.aproj.text-feature 하면 패키지 생성됨 com.curookie.aproj.text-feature 패키지에서 Main.Class 생성함

왼쪽 초록색 > 버튼 클릭하면 Run이나 Debug 가능함


정규 표현식을 사용해서 검색/바꾸기

Find/Replace in Path (Ctrl+Shift+F/R)로 찾은다음 Regex 체크박스 체크하고 정규표현식을 사용하면 된다.
정규표현식을 쓰고 괄호로 감싸면 $1,$2 이런식으로 사용할 수 있다.
/jojoldu/main/app.js
/jojoldu/board/app.js
/jojoldu/comment/app2.js
/jojoldu/member/app2.js
이런 상황일 때 1,2라인의 jojoldu -> inf로 바꾸고싶으면

\/jojoldu\/([A-Za-z]*)\/app\.js  
\/inf\/$1\/app.js  

디버깅시에 조건 브레이크 포인트 걸기

Break Point 오른쪽 클릭해서 Conditional Breakpoint를 지정해줄 수 있다.
ex) "자바 ORM 표준 JPA 프로그래밍".equals(book.title) 이런식으로 정해두면
book.title이 "자바 ORM 표준 JPA 프로그래밍"일 때만 Break한다.


디버깅시에 사용해볼 수 있는 모든 코드를 즉시 실행해보기

Evaluate 사용해서가능 (테스트 코드나 체크할 때 유용한 기능) 일시적으로 볼 때 사용해야한다.
디버그 모드에서 계산기 아이콘(Evaluate Expression)을 클릭하면 창이 뜨는데 거기다 코드=표현식을 쓰면 된다.
안경+모양 아이콘(New Watch)를 클릭해서 지역변수를 선언해서 계속적인 변화를 볼 수도 있다.


빠른 코드 입력 - 라이브 템플릿(코드 템플릿)

  1. Ctrl+J (맥 Cmd+J)
    라이브 템플릿 자동완성 (Insert Live Template)

psvm > public static void main 메서드 생성하는 것
sout > system out println("?") 커멘드 프린트 생성
ifn > if null 을 가지고 있는 조건문 생성
foreach > foreach 생성
fori > for문 int i 생성
inn > if not null 조건문 생성
St > String
prsf > private static final
psf > public static final

커스텀 라이브템플릿 추가하기 위해선
Preferences에서 Live Template 란에 Other에 +버튼에 1.Live Template > Abbreviation 축약어 정하고, Descrition 설명, Template Text에 원하는거 적어두고 Define 눌러서 원하는 곳에 적용되게(Java만 원하면 Java 클릭) 그리고 사용하면 됨.


GitHub 연동하기

init하기: 액션검색> Share github > Token이나 Login계정으로 연결 > repo 설정 등등 > push 성공하면 연동됨.
clone하기: 프로젝트 여는 창> Check out from Version Control> Git > Clone Repository URL 쳐서 받기 > gradle 이면 Use gradle 'wrapper' task configuration 선택하기


자동완성

  1. Ctrl+Space (맥 Ctrl+Space)
    기본 자동완성 (Completion -> Basic): 모든 경우를 보여주는 자동완성

  2. Ctrl+Shift+Space (맥 Ctrl+Shift+Space)
    스마트 자동완성 (Completion -> SmartType): 적절한 경우만 보여주는 자동완성(파라미터 단에서도 사용가능)

  3. Alt+Enter (맥 Alt+Enter)
    제안서 (Show Intention Actions): 오류 수정이나 해결하기 위한 제안 제시

  4. Ctrl+Space 두번 (맥 Ctrl+Space 두번)
    스태틱 메서드 자동완성 (Completion -> StaticMethod)

  5. Alt+Insert (맥 Cmd+N)
    생성자나 Getter Setter 자동완성 (New): 원하는 멤버변수 선택해서 자동생성 가능.

  6. Ctrl+I (맥 Ctrl+I)
    오버라이드 할 메서드 자동완성 (Implement Methods): 원하는 추상메서드들을 선택해서 자동완성 할 수 있다.

  7. Ctrl+J (맥 Cmd+J) 라이브 템플릿 자동완성 (Insert Live Template)


단축키

  1. Ctrl+Shift+A (맥 Cmd+Shift+A)
    액션검색 (Find Action): 인텔리제이에서 사용할 수 있는 모든 이벤트와 특정 액션을 실행하는 창.
    Rename 이름 전체 변경 이벤트
    Theme: 치면 테마 수정하는 창 뜸
    plugins 치면 플러그인 설치하는 창 뜸

  2. Alt+Insert (맥 Cmd+N)
    생성 (New): 디렉토리나 파일등을 생성하는 단축키

  3. Ctrl+Shift+F10 (맥 Ctrl+Shift+R)
    포커스 실행 (Run 'Main.main()'): 현재 포커스에서 메서드 실행하는 단축키

  4. Shift+F10 (맥 Ctrl+R)
    이전 실행 (Prev Run Main): 이전에 실행했던 메인메서드 실행하는 단축키 (오른쪽 위 드롭박스에 선택된 것이 이전에 실행한 클래스 Run/Debug Configuration)

  5. Ctrl+D (맥 Cmd+D)
    현재 라인 한줄 복사 (Duplicate Line)

  6. Ctrl+Y (맥 Cmd+Del or Cmd+BackSpace)
    현재 라인 한줄 삭제 (Delete Line)

  7. Ctrl+Shift+J (맥 Ctrl+Shift+J)
    현재 라인 아래 줄과 합체 (Join Lines): 주석이나 +되어있는 문자열 합칠 때 유용

  8. Alt+Shift+Up/Down (맥 Opt+Shift+Up/Down)
    현재 라인 옮기기 (Move Line): 문법 상관없이 한줄 씩 옮김

  9. Ctrl+Shift+Up/Down (맥 Cmd+Shift+Up/Down)
    현재 라인 옮기기 (Move Statement): 구문 안에서 구문 단위로 옮김

  10. Ctrl+Alt+Shift+Left/Right (맥 Opt+Cmd+Shift+Left/Right)
    현재 엘리먼트 위치 옮기기 (Move Element)

  11. Ctrl+P (맥 Cmd+P)
    현재 정의된 함수의 매개변수 리스트 보기 (Parameter Info): 들어가보지 않아도 정의된 함수,생성자의 매개변수를 볼 수 있다.

  12. Ctrl+Shift+I (맥 Opt+Space)
    현재 정의된 정보 들어가지 않고 미리보기 (Quick Definition): 들어가보지 않아도 현재 커서의 정의된 내용을 미리 볼 수 있다.
    (Ultimate에선 웹 관련 정보도 나옴)

  13. Ctrl+Q (맥 F1)
    현재 라이브러리의 정보(Quick Documentation): 라이브러리(클래스,함수,맴버변수,상수 등)의 정보 보기
    (Ultimate에선 자바스크립트 정보도 나옴)

  14. Ctrl+Left/Right (맥 Opt+Left/Right)
    단어별로 이동 (Move Caret to Next Word)

  15. Ctrl+Shift+Left/Right (맥 Opt+Shift+Left/Right)
    단어별로 이동하면서 선택 (Move Caret to Next Word with Selection)

  16. Home/End (맥 Fn+Left/Right)
    라인 맨 처음이나 끝으로 가기 (Move Caret to Line)

  17. Shift+ Home/End (맥 Fn+Shift+Left/Right)
    라인 맨 처음이나 끝으로 가면서 선택 (Move Caret to Line with Selection)

  18. Page Up/Down (맥 Fn+Up/Down)
    페이지 단위로 이동 (Move Caret to Page)

  19. Ctrl+W/Ctrl+Shift+W (맥 Opt+Up/Down)
    선택 확장/축소 (Extend Selection/Shrink Selection): 선택 코드실행순서 단위로 확장/축소

  20. Ctrl+Alt+Left/Right (맥 Cmd+[/])
    커서 포커스 이전/이후 위치로 전환 (Navigate->Back/Forward)

  21. Ctrl+Ctrl+Up/Down (맥 Opt+Opt+Up/Down)
    멀티 커서 포커스 (Multi Focus, Clone Caret Above/Below)

  22. F2 (맥 F2)
    에러 라인으로 커서 포커스 이동 (Navigate->Next Highlighted Error)

  23. Ctrl+F (맥 Cmd+F)
    찾기 (Find)

  24. Ctrl+R (맥 Cmd+R)
    바꾸기 (Replace)

  25. Ctrl+Shift+F (맥 Cmd+Shift+F)
    프로젝트 전체에서 찾기 (Find in Path)

  26. Ctrl+Shift+R (맥 Cmd+Shift+R)
    프로젝트 전체에서 바꾸기 (Replace in Path)

  27. Ctrl+Shift+N (맥 Cmd+Shift+O)
    파일 검색 (Navigate -> File): 패키지 명까지 검색 가능

  28. Ctrl+Alt+Shift+N (맥 Cmd+Opt+O)
    메서드 검색 (Navigate -> Symbol)

  29. Ctrl+E (맥 Cmd+E)
    최근 열었던 파일 (Recent Files)

  30. Ctrl+Shift+E (맥 Cmd+Shift+E)
    최근 수정했던 파일 (Recently Changed Files)

  31. Ctrl+F5 (맥 Cmd+R)
    다시 실행/디버그 (Rerun)

  32. Alt+9 (맥 Cmd+9)
    SVN 버전관리 창 (Version Control)

  33. Alt+Back Qute(`) (맥 Ctrl+V)
    깃 옵션 팝업 (VCS Operation Popup): 빠른 깃 사용가능

  34. Ctrl+K (맥 Cmd+K)
    커밋하기 (Commit)

  35. Ctrl+Shift+K (맥 Cmd+Shift+K)
    푸쉬하기 (Push)

  36. Alt+F12 (맥 Opt+F12)
    터미널 (Terminal)


리팩토링

  1. Ctrl+Alt+V (맥 Cmd+Opt+V)
    변수 추출 (Extract -> Variable)

  2. Ctrl+Alt+P (맥 Cmd+Opt+P)
    파라미터 추출 (Extract -> Parameter)

  3. Ctrl+Alt+M (맥 Cmd+Opt+M)
    메서드 추출 (Extract -> Method)

  4. F6 (맥 F6)
    이너클래스 추출, 이동하기 (Extract -> InnerClass, Move): import 경로도 변경해준다.

  5. Shift+F6 (맥 Shift+F6)
    이름 일괄 변경 (Rename): 프로젝트 단에서 모든 이름 변경

  6. Ctrl+Shift+F6 (맥 Cmd+Shift+F6)
    타입 일괄 변경 (Type Migration): 프로젝트 전체에서 변경하거나 적절한 범위내에서 변경할 수 있도록 가능하다.

  7. Ctrl+Alt+O (맥 Ctrl+Opt+O)
    사용하는 Import만 추가하기 (Optimize Imports): Preference에서 optimize import on -> Auto Import 부분을 Off->On으로 두면 단축키 쓸 필요없다.

  8. Ctrl+Alt+L (맥 Cmd+Opt+L)
    코드전체 자동 정렬 (Reformat Code)


디버깅

  1. Ctrl+F8 (맥 Cmd+F8)
    라인 브레이크 포인트 토글 (Toggle Line BreakPoint): 디버그모드 중지점 설정

  2. 없음 (맥 Ctrl+Shift+D)
    현재 포커스에서 디버그 모드로 실행 (Debug 'A()')

  3. Shift+F9 (맥 Ctrl+D)
    이전에 실행한 메서드 디버그 모드로 실행 (Prev Debug 'A()')

  4. F9 (맥 Cmd+Opt+R)
    다음 브레이크 포인트로 이동 (Resume)

  5. F8 (맥 F8)
    다음 한줄로 이동 (Step Over)

  6. F7 (맥 F7)
    다음 메서드로 이동 (Step Into): 생성자나 메소드의 구현부분으로 들어갈 수 있다.

  7. Shift+F8 (맥 Shift+F8)
    현재 메서드의 밖으로 이동 (Step Out): 생성자나 메소드의 구현부분에서 나올 수 있다.

  8. Alt+F8 (맥 Opt+F8)
    브레이크된 상태에서 일시적 코드 사용하기(Evaluate Expression)


플러그인

Sort By: downloads 순으로 정렬하면 받을만한 것을 찾을 수 있다.

Presentation Assistant
단축키 어떤걸 썼는지 OS별 어떤 키인지? 알 수 있는 플러그인

.ignore
VCS에서 이그노어 파일 자동완성 지원, 이그노어 대상 회색 빛으로 자동변경, 프레임워크 단에서 자동 프리셋 지원

BashSupport
shell(.sh) 파일을 만들 때 유용

Meterial Theme UI
테마 변경. 메터리얼 디자인으로

Translator - jojoldu
Opt+1(Alt+1) 번역된 걸 확인
Opt+2(Alt+2) 번역된 걸 적용
Opt+3(Alt+3) 문장 번역할 수 있는 팝업


20190226기준 JAVA,Python - IntelliJ / C# - Visual Code
요즘은 텍스트 에디터와 IDE 경계가 모호해지고 있다.
언어별로 적절한 에디터를 사용하는게 좋아 보인다.
JAVA관련 웹개발, 파이썬을 할 경우 IntelliJ
C#은 Visual Code를 사용하는 걸 추천한다.
Source/Text Editor로는 Visual Code, Atom을 추천한다.
마크다운 편집용으론 Typora를 설치하기 바란다.
Git GUI 툴로는 Git Kraken이 짱이다.
[IntelliJ 설치법]
돈이 없다면 무료 IDEA Community 있다면 IDEA Ultimate 지원하는게 다르고 플러그인이 다 깔려져 나오기에 Ultimate이 좋지만,
IntelliJ 초심자는 반드시 Community를 설치해 불편함을 경험하고 플러그인의 사용법을 숙지하기 바란다.
참고 자료
- https://github.com/jojoldu/intellij-development
1. IDEA 설치
2. Trello 연동 - Tools > Tasks > Servers +버튼 눌러서 Trello 추가하고 Where can I get authorization token? 눌러서
Access > 토큰 복붙해주고 Board 지정해주면 된다.
- 사용법: ctrl+shift+N으로 Task를 설정하는 창을 꺼낼 수 있다.
3. Git Flow Integration 플러그인 설치 - 깃의 기능을 축약화 해놓은 Git Flow를 사용할 수 있게 해주는 플러그인이다.
- 사용법: 오른쪽 아래에 Gitflow Actions로 Init Repo 확인해주면 (git init)만들어지고,
Task를 선택하면 Task관리와 브랜치 관리가 한번에 등장한다. 여기서 Start Feature를 원하는 브랜치명으로 등록하면 브랜치가 자동 생성됩니다.
그냥 git flow 사용법을 숙지해두면 쉬움
4. .http 사용 (postman 대체) - postman이 상위호환이나 가볍게 http전송을 테스트할 수 있는 플러그인을 사용해보자.
API 요청 확인 용으로 사용한다. 2017.3 버전부터 지원하게 된 기능. 모든 요청이 .http파일로 관리되기 때문에 Git으로 관리할 수 있다.
- 사용법: ctrl+n new > HTTP Request .http 파일 생성
파일의 첫줄에는 HTTP Method와 URL을,
둘째줄부터는 RequestHeader 부분을 작성하면 된다.
Run 하면 바로 화면 하단에 결과 출력.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment