Copilot4Eclipse 소개
Github Copilot
은 IDE에서 코드 작성 시 AI를 이용해 코드 작성을 도와주는 생산성 도구이다.
2024년 12월 18일부터 무료 플랜을 제공하기 시작했다.
https://github.blog/news-insights/product-news/github-copilot-in-vscode-free/
VS code에는 자동으로 통합되어 업데이트만 하면 바로 사용이 가능하지만 Eclipse 사용자의 경우 Copilot4Eclipse plugin( 무료 plugin)을 marketplace에서 검색하여 설치하면 Github Copilot을 Eclipse에서 바로 사용할 수 있다.
Github Copilot을 써본 적이 없어서 불편함을 느끼지 못했던 터라 사용해 볼 생각을 안 하고 있었는데 무료 플랜이 나온 김에 한번 써보았다.
Copilot4Eclipse 설치하기
Eclipse의 경우 Copilot4Eclipse plugin을 사용하면 Github Copilot을 사용할 수 있다.
https://www.genuitec.com/products/copilot4eclipse/
Marketplace에서 Copilot4Eclipse를 추가해 주면 IDE 오른쪽 하단에 사람 머리 모양의 아이콘이 생긴 것을 확인할 수 있다.
Github 로그인만 해주면 바로 무료 플랜이 적용된다.
로그인 하는 방법은 아래 페이지를 참고하면 된다.
https://www.genuitec.com/products/copilot4eclipse/docs/basics/signin
단축키
Preference -> Keys
에서 Copilot4Eclipse
를 검색하면 관련 단축키와 단축키 사용 가능 한 항목들을 확인할 수 있고 개인 취향에 따라 변경할 수 있다.
기본 설정된 단축키는 다음과 같다.
이 중 Ctrl + Right
, Ctrl + Alt + Right
가 기존 단축키와 겹치기 때문에 어떤 걸 선호해서 해당 단축키로 사용할지 고민이 필요할 듯싶다.
내 경우 기존 단축키를 더 많이 사용하여 Copilot 단축키는 비활성화 하였다.
단축키 | 설명 |
---|---|
Alt + \ |
inline completion 표시 |
Alt + ] |
다음 inline completion 표시 |
Alt + [ |
이전 inline completion 표시 |
Tab |
inline completion 수락 |
Ctrl+ Right |
completion 수락 - 다음 단어 |
Ctrl + Alt + Right |
completion 수락 - 라인 끝 |
ESC |
completion 취소 |
제공하는 기능 소개
Code Suggestions
https://www.genuitec.com/products/copilot4eclipse/docs/basics/completions/
코드 작성 시 대략 아래 3가지 경우에 대해 코드 제안을 한다.
0 ~ 2개 (또는 3개)의 선택지가 있을 수 있다고 한다.
inline completion은 하나가 아닌 여러 개가 있을 수도 있다
이런 경우 IDE 하단 아이콘 옆에 [현재 보여주고 있는 제안]:[제안 총 개수]를 보여주고 위에 소개한 단축키 Alt + ] , Alt + [ 로 제안을 확인할 수 있다.
만약 제안할 내용이 없으면 *
로 표시된다.
여러 제안 중 원하는 제안이 선택된 상태에서 'Tab을 누르면 Ghost-Text에서 코드로 적용되게 된다
Inline Completion "Ghost-Text"
코드를 작성하면 이후 작성이 예상되는 코드를 흐릿하게 미리 보여준다 (Ghost-Text라고 부른다.).
이때 해당 Tab
키를 사용하면 해당 코드를 반영하게 된다.
주석으로도 작성하길 원하는 내용을 설명하면 해당 주석을 기준으로 예상되는 Ghost-Text를 제안한다.
.
Automatically Showing Completions
Code Suggestion은 기본적으로 자동으로 동작하도록 활성화되어 있다.
Chat
eclipse 내에서 chat을 통해 질문을 할 수 있다.
Commit Message Generation
commit 창에 있는 아이콘을 누르면 변경 내역을 정리하여 commit message를 만들어준다.
개인적인 사용 소감
Code Suggestions
코드 작성뿐만 아니라 주석도 미리 설명을 작성해 주었는데 간단한 기능은 알아서 분석해서 미리 작성해 주어 편한 부분이 있었는데 상세한 의도까지 파악하지는 못하기 때문에 보조적인 수준의 역할만 가능하지 않을까 싶다.
의도를 예측하고 ghost text로 미리 보여주어 내 작업 시간을 단축해주려고 하지만 아무래도 아직은 그리 똑똑하지 않아 오히려 실수로 제안된 코드를 허락했다가 지우는 시간이나 ghost text가 자꾸 제안되어 코드 작성을 방해가 되는 경우가 더 많았던 듯하다.
심지어 properties 파일 작성할 땐 key에 대한 값을 내가 원하는 값을 작성하려 하는데 ghost text로 코드 제안하면서 자꾸 작성을 훼방해서 짜증을 유발하기도 했다.
아무 생각 없이 code suggestion의 내용을 수락했는데 시간 지나고 보니 잘못된 경우도 꽤 있었다.
개인적으로 느낄 때 ghost text가 도움이 되는 경우보다 방해가 되는 경우가 더 많기 때문에 무조건 모든 구간에서 code suggestion을 하지 않고 내가 원할 때만 제안해 주면 좋지 않을까 싶다.
이렇게 사용하려면 Preference -> Copilot4Eclipse
의 Automatically show Copilot completions
를 체크 해제하고 내가 원하는 위치에서 Alt + \
로 code suggestion을 요구하면 된다.
(이렇게 사용하니 오히려 어느 정도 쓰기 편하다는 생각이 들었다. )
Chat
chat 기능은 있어도 그냥 웹에서 다른 최근 가장 괜찮은 ai를 찾아 물어보는 게 더 나았다.
Commit Message Generation
가장 쏠쏠하게 사용해 본 건 Commit Message Generation이었던 것 같다.
commit message 작성하기 귀찮아서 .
하나 찍고 보내는 경우가 많았는데 이걸 사용하니 오히려 나 대신 정리해 줘서 편했다.
반면에 나중에 git commit history에서 내가 했었던 특정 작업을 찾아보려고 할 때는 오히려 commit message를 작성한 기억이 없으니 찾기가 어려워졌다.
장단점이 있는 듯해서 .
찍을 바엔 제안된 commit message로 작성하고 중요한 commit message는 제안된 commit message와 내가 따로 기록하려는 message를 젤 위에 작성하여 병행 사용하는 식으로 사용하려고 한다.
'Study > Java' 카테고리의 다른 글
Window 개발 환경에서 https로 Spring Boot Application 개발하기 (1) | 2025.01.04 |
---|---|
Mybatis에서 custom MapTypeHandler 사용해 보기 (0) | 2024.12.29 |
ApplicationContextRunner에서 Condition Evaluation Report 확인하기 (0) | 2024.12.29 |
Spring Boot 3.4 Release Notes (0) | 2024.12.03 |
hibernate SqlType.JSON (json data) 사용해 보기 (0) | 2024.11.18 |
Spring Cloud Context의 @RefreshScope를 사용하여 properties 설정 갱신하기 (0) | 2024.11.17 |
springdoc swagger ui에 authorize 사용해 보기 (0) | 2024.11.07 |
JDK 23 New Features (0) | 2024.10.07 |
spring-boot-properties-migrator로 custom property report 하기 (0) | 2024.06.16 |
Antora 사용해 보기 (0) | 2024.06.12 |