기본 콘텐츠로 건너뛰기

2022 08 26 회사 워크샵

인텔리 J(intellJ) 처음 사용자를 위한 약간의 팁 #16 - inlay hints

안녕하세요~

인텔리 j를 써가면서 제가 편하게 쓰는 팁들을 공유하고 싶어서 글을 올립니다... 하여!!

'몰라도 상관없지만 알면 좋은' 팁입니다.

인텔리 j를 시작하시는 분들에게 괜찮은 팁이 되었으면 좋겠습니다.

제가 인텔리 J 라고는 적었지만 인텔리J가 말고 웹스톰 파이참 등.. 젯 브레인에서 제공되는 ide 는 거의 공통으로 사용할 수 있는 팁들입니다~

이번엔 inlay hints 를 알아보겠습니다.!

이번엔 setting[Ctrl+Alt+S (command+,)] 창을 좀 봐야 하니..

한국어 플러그인을 설치하여 살펴보겠습니다.

- java

  
보통 저희(대부분? 아마도?)  함수를 쓰면서 보통은 이런식입니다.
예를 들어서 문자열이 파라미터로 전달하는 함수(ex. StringUtils.replace('','',''))가 있는데 
첫번째, 두번째, 세번째 파라미터가 어떤것인지 알려면  Quick Documents[Ctrl+Q(^+J)] 를 눌러보거나.. 본인의 기억을 끄집어 내던가 해야 합니다..

이럴때 inlay hints 를 사용하면 Quick Documents 를 확인하지 않아도 빠르게 확인할 수 있습니다.

Setting[Ctrl+Alt+s] > Edit > inlay hints 


다음에 대한 힌트 표시를 선택하시고  왼쪽에서 Java 선택해보겠습니다.
[저는 주 언어가 자바로 알아보겠습니다. 코틀린, 타입스크립트, 자바스크립트 등 있으니 본인이 자주 쓰는 것을 선택하시면 될 꺼 같아요]


우선 메개변수 힌트[Parameter hints]를 이미지와 같이 설정을 해보겠습니다.
 확인을 눌러보시면...


아까와 달라진게 보이시나요..??

StringUtils.replace에 첫번째는 inString, 두번째는 oldPattern , 세번쨰는 newPattern 이 나왔습니다!
이젠 굳이 Quick documents를 안써도 어느 파라미터가 어느 것 인지 대략적으로 알 수 있습니다!
근데 제가 만든 returnEmpty를 호출한곳에선 첫번째가 test1 , 두번쨰가 test2 입니다... (저게 뭐야.....)

retrunEmpty 생성한 함수에서 파라미터 변수명을 수정해주면...


제가 생성한 returnEmpty 메소드를  returnEmpty(String oldString,String appendString) 수정하니 inlay hints 도 수정이 되었습니다!  
메소드를 생성하면서 String 함수에 변수명을 잘 지어놓으면 inlay hints로 필요 파라미터를 확인할 수 있습니다.

 - 사용 위치 사용 횟수


힌트는 다른것도 많은데 제가 좀 유용한 힌트 하나만 더 소개 드립니다.

Code Vision 이라는 힌트입니다. 사용 위치[Usages] / 상속자[Inheritors] 를 알 수 있습니다.


지금 보시는 class 는 interface class 입니다. 
getFailResult라는 함수를 6군데서 호출 하였고 1개의 구현이 있다고 나옵니다.
Code vision 은 요런정보를 알려줍니다. 

'6개 사용 위치'을 클릭해보시면..[또는 함수명에서 Ctrl+B(Commad+b)


어디서 사용했는지 확인 가능합니다. 
사용위치가 한군데 라면 바로 사용한 곳으로 이동됩니다.

'1개의 구현'을 클릭[또는 함수명에서 Ctrl+Alt+B(option+command+b)]하면


구현한 곳으로 이동하게 됩니다. 

- 관련 문제 [Related problems]


관련문제에 Show Hints 를 선택하시면..


좀 전에 보셨던 getFailResult 에 파라미터를 추가하니... '5개의 관련 문제'라고 안내해줍니다.
'5개의 관련 문제'를 클릭해보시면..


어디에 문제가 있는지 바로 안내를 해줍니다! 바로 바로 이동해서 수정을 하실 수 있습니다.!

-node 경우 ..


inlay hints를 켜기 전엔 이렇게 보였던게..


이런식으로 파라미터에 정보가 나옵니다.
제가 node 나 다른 언어는 많이 사용해보지 않아서.. 힌트 옵션을 정확히는 파악을 못했습니다만..

힌트 옵션을 수정을 해보시면서 보면 큰 도움이 될꺼라 생각합니다!

이번엔 inlay hints 를 만져봤습니다!

다음엔 또 다른 것을 말씀드려보겠습니다!

댓글