본문 바로가기

Study/Java

Copilot4Eclipse 사용해 보기

반응형

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 -> Copilot4EclipseAutomatically 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를 젤 위에 작성하여 병행 사용하는 식으로 사용하려고 한다.

반응형