2016년 7월 30일 토요일

맥 - 마우스 우클릭 단축키 만들기 (windows context menu key)

일반 배열 키보드나 맥북이 아닌 대다수의 노트북 키에는 있는
Context Menu Key(보통 우측 alt 키 또는 우측 윈도우키 오른쪽에 위치) 가 있고 이 키는 마우스 우클릭 했을때의 기능을 한다.
이미지 출처 : http://scls.typepad.com/.a/6a00d8341d32e053ef010536ce6920970b-800wi
이미지 출처 : 구글이미지검색 http://i.stack.imgur.com/szIYh.png


하지만 맥에서는 딱히 이 기능을 가진 키도 없고 단축키도 없다.

위 기능을 구현하는 방법중에 하나는 karabiner 를 사용하면 된다.
karabiner 의 private.xml (http://blog.vjvj.net/2016/05/os-x_16.html) 에

<autogen>__KeyToKey__ KeyCode::RETURN, ModifierFlag::OPTION_R, PointingButton::RIGHT</autogen>

위 코드를 추가하면
우측  option 키 + return 를 치면 context menu key 의 역할을 하는 단축키를 만들어 낼수 있다.


--- 추가
너무 쉽게 생각한듯하다.
위 방법은 포커스가 가 있는 곳의 우클릭 기능을 하지 않고
현재 마우스 위치 있는곳에서 우클릭 기능을 한다.

가령 포커스는 파인더에 가 있어도 마우스 커서는 크롬에가 있다면
마우스 우클릭 기능은 크롬에서의 마우스 우클릭을 한것처럼 된다.

그래서 alfred 에서 관련 workflow 를 만들어논 것을 찾았다.
http://www.alfredforum.com/topic/3147-rightclick-%E2%80%94-do-a-right-click-on-finder-files-with-the-keyboard/

option + \  키로 맵핑했다.
위 워크플로우는 finder 에서는 잘되는데 다른곳에는 잘 안된다.


그래서 당분간 더 좋은 방법을 찾기전까진 두 방법을 상호보완적으로 사용해야할것 같다.




2016년 7월 13일 수요일

[Intellij] Always Select Opend File / 구 Auto Scroll from Source (eclipse Link With Editor 와 유사한 기능)


eclipse Link With Editor
이클립스 에디터에서 소스를 작성하거나 할때 navigation 이 에디터의 소스 위치로 이동하는 기능



이미지 출처 : http://ddoong2.com/739

------------------

intellij 에서도 위와 유사한 기능을 제공하고 있다.

2019.3 이후 명칭
Always Select Opened File


-------------------

2019.3 이전 명칭
Autoscroll from Source


navigation 에서 상단 톱니바퀴 모양의 아이콘을 클릭하면 위와 같은 패널이 나오고
위 패널의 메뉴중 "Autoscroll from Source" 를 선택하면 설정이 완료된다.

2016년 7월 12일 화요일

intellij 단축키 Jump to Source

Intellij Project Navigation (단축키 cmd + 1) 에서 파일을
열때 보통 enter 키로 여는데 이렇게 열면 커서(포커스)가 계속  Project Navigation 에 남아 있는다.
이게 유용할때도 있지만(연속적으로 파일을 훑어볼때..) 파일을 열고 코딩을 하려면 최소 esc키를 한번 누른 후 또는 Project Navigation을 닫은 후에 코드를 작성할 수 있다.



파일을 열고 바로 코드를 작성하려 할때 이때 사용하는 단축키가
Main menu > View > Jump to Source 이다
기본 단축키는 cmd  + ↓  or f4 키 이지만 좀더 활용도를 높이기 위해 cmd + enter 추가했다.
cmd + enter 키는 다른 단축키에 할당이 되어있지만 project navigation 상에는 할당되어 있지않아
사용가능하다.

2016년 7월 7일 목요일

intellij context menu shortcut (마우스 우클릭 단축키)

일반 키보드는 우측에 Context Menu 를 바로 호출 할 수 있는 키가 있다.
하지만 맥북이나 해피해킹에는 없다.
(참고로 윈도우 계열에선 shift + f10 이 마우스 우클릭에 해당하는 키)
다른 응용프로그램을 사용할 때는 거의 사용 안하지만
 intellij 에서 종종 사용하기 때문에 마우스 우클릭에 해당하는 단축키를 지정해 사용한다.

Keymap
Other > Show Context Menu
^C  (control + c) 로 지정해 사용한다.



2016년 7월 4일 월요일

intellij code format (Line Breaks and Wrapping)

이클립스에선 코드 포멧을 실행하면 line length 에 따라 코드 정리가 실행 되는데
intellij 에선 line length 에 따라 정리가 되는게 기본옵션이 아니라 되지 않는다.
stack overflow 에서 그 방법을 찾아 남긴다.

Format existing code

  1. Ensure right margin is not exceeded
    File > Settings > Editor > Code Style > Java > Wrapping and Braces > Ensure right margin is not exceeded
    File Settings Ensure right margin
  2. Reformat code
    Code > Reformat code...
    Reformat code
    or press Ctrl + Alt + L

2016년 6월 21일 화요일

intellij 단축키


mac windows eclipse
한줄삭제 : command + delete ctrl + y

현재 커서 이후 삭제 (custom)
cmd + ctrl + delete

현재 커서 이전 삭제 (custom)
cmd + ctrl + opt + delete
코드줄이동 : command + shift + 상하 방향키 command + shift + 상하 방향키
포함하는괄호로이동 :  alt + command + [ or ]  CTRL +  ] OR [
    — 유사 단축키 (가까운 괄호로 이동) :     ctrl + m CTRL + SHIFT + M
확장하며 선택 :  option + 상 or 하 방향키
자동완성템플릿 :
(sout = System.out.println)
command + j CTRL + J
code completion :    shift + command + space ctrl + space
메소드 이동 :  ctrl + 위 아래 방향키 alt + 위 아래 방향키
파일찾기 :  command + shift + o CTRL + SHIFT + N : 파일찾기 CT + SH + R
파일전환(탭전환) :  alt + [ or ] alt + 좌우 방향키
코드 포멧 정리 :  command + alt + L ctrl + alt + l shift + ctrl + f
search everywhere :  shift 더블클릭
파일 이름 바꾸기 :  shift + f6  (shift + option_r + 6) shift + f6
run : control + r shift + f10
run … :  option + control + r
new line  shift + enter 
현재 문장 자동 완료 : 
(빈공간이 있을경우 빈공간으로 커서이동)
shift + command + enter  Ctrl + Shift + Enter
현재 커서 이전 new line command + alt + enter
line end :  control + e
line start :  control + a 
move code block :  option + control + [ or ]
대소문자 변환 : command + shift + u control + shift + u
한줄 잘라내기 :  command + x (shift 로 미선택시) shift + delete
한줄 복사 : command + c (shift 미선택시)
import :  ctrl + option + o ctrl + alt + o
hide tool window :   shift + esc
max tool window :  command + shift + ‘
tool resize :  command + shift + 방향키
tool tab 이동 :  option + [ or ]
quick document :  f1  Ctrl + Q : view javadoc at popup f2
전체화면 : command + shift + f12 ctrl + shift + f12
freemode :  command + option + ctrl + f (custom set)
close :  command + w - 현재 소스닫기
close all :  command + shift + w
단어선택 :  ctrl + g ctrl + w
   (누를때마다 같은 파일에 있는 같은 단어 선택됨)
find next :  command + g f3
코드폴딩 :  command + (+) or (-) ctrl + (+) or (-)
코드 전체 폴딩 :  command + shift + (+) or (-) ctrl + shift +  (+) or (-)
show context menu (마우스 우클릭 - custom key) ctrl + c
implement method
(상속 메소드 구현)
ctrl + i ctrl + i
파라미터 정보 :  command + p ctrl + p
override method :  ctrl + o CTRL + O : OVERRIDE
에러부분 찾기 Navigating to Next/Previous Error  :  F2 (SHIFT+F2) 
quick-fixes :   option (alt) + Enter  CTRL + 1
editor focus :  ESC  f12
마지막에 열린창으로 돌아가기 : f12
사용 가능한 메소드 자동 추가 getter, setter :  command + n ( 소스코드 상에서 ) alt + insert ALT+SHFIT+S, R
파일안에서 찾기 (단어) :  command + f CTRL + F
프로젝트안에서 찾기 (단어) :  command + shift + f CTRL + SHIFT + F
클래스내 메소드 검색 (클래스 구조) :  command + f12 CTRL + F12
최근 수정한곳 찾기 :  command + [ or ] CTRL + ALT + 좌 OR 우
(인텔 그래픽 카드 관련 서비스 중지 services.msc)
마지막 수정한곳으로 :  command + shift + backspace  CTRL + SHIFT + BACKSPACE

코드(메소드등) 프로젝트내에서 시용하는곳 찾기

opt + f7 ,   (custom) opt+7
alt + f7
코드(메소드등 ) 
프로젝트내에서 사용하는곳 찾기 - 레이어팝업 : 

opt + cmd + f7 , (custom) opt+cmd+7
alt + ctrl + f7 
코드(메소드등 ) 현재파일에서 사용하는곳 찾기 :

cmd + f7 , (custom) ctrl+cmd+7
ctrl + f7
코드(메소드등 ) 현재 파일에서 사용하는 곳 highlighting :

shift + cmd + f7 , (custom) shift+cmd+7
shift + ctrl + f7
코드(메소드등 ) 사용하는곳 
찾기 (scope 사용자설정) : 

shift + opt + cmd + f7 , (custom) shift+opt+cmd+7
shift + alt + ctrl + f7

2016년 5월 23일 월요일

intellij Editor Tabs (창분할 관련)

intellij 또는 eclipse 로 개발하다가 소스화면을 분할해서 봐야 할 경우가 생길때
해당 소스의 상단 탭에서 마우스 우클릭하면 탭 분할과 관련된 기능을 선택할 수 있다.






























또는 아래와 같이 창 분할과 관련된 메뉴에 단축키를 지정해서 사용할 수 있다.
다음은 현재 지정해서 사용하는 단축키와 해당 기능들의 간략한 설명이다

Preferences.. [단축키 Command + , ] > Keymap


[tab 관련 단축키 지정]

Split Vertically : [ ctrl + ' ]  - 현재 소스 우측에 새로이 새탭을 연다 (동일소스)
Split Horizontally : [ ctrl + / ] - 현재 소스 하단에 새롭게 새탭을 연다 (동일소스)
Move Right : [ ctrl + command + ‘ ] - 현재소스를 새로운 탭(우측방향)으로 이동
     (현재 분할창에 하나의 소스만 있을 경우 동작안함)
Move Down : [ ctrl + command + / ] - 현재소스를 새로운 탭(하단방향)으로 이동
     (현재 분할창에 하나의 소스만 있을 경우 동작안함)

Unsplit : [ ctrl + u ] - 현재 분할창 닫기 (현재탭 소스가 부모창으로 이동되고 분할창만 닫힘)
      - 포커스가 부모창에 있을경우 자식창 닫힘 (창 통합)
Unsplit all : [ ctrl + command + u ] - 모든 분할창 하나의 창으로 닫힘

Goto Next Spliter : [ ctrl + ] ] - 다음 분할창으로 포커스 이동
Goto Previous Spliter : [ ctrl +  ] - 이전 분할창으로 포커스 이동

Select Next Tab : [ ctrl + command + ]    or Shift + Command +  ]  - 탭이동 (같은 분할창 내에서 탭 이동)
Select Previous Tab : [ ctrl + command + [    or Shift + Command +  ] - 탭이동 (같은 분할창 내에서 탭 이동)

Move To Opposite Group : [ ctrl + ;  or option + m ] - 분할창 이동 (현재소스가 다른 분할창으로 이동, 다른 분할 창이 있을 경우에만)
Open In Opposite Group : [ ctrl + command + ; or option + c ] - 분할창 복사 (현재 소스탭을 다른 분할창으로 복사, 다른 분할 창이 있을 경우에만)


Intelij 설정 및 plugin

1. preferences... (settings...) Appearance & Behavior > Appearance - Window Options        ✓   Show memory indicator Editor ...