오늘은 쉘에서 github copilot을 사용하는 방법에 대하여 작성해보려고 한다. 리눅스의 자주 쓰는 커맨드들은 익숙해졌지만, 아직도 헷갈리는 것들도 많고 조금이라도 복잡한 건 잘 몰라서 매번 검색해 보면서 사용해 왔다.
그런데 github copilot에 cli에서 바로 질문을 해서 찾을 수 있는 방법이 있다길래, 마침 copilot도 사용하고 있었기에 설치해 봤다.
우선 당연하게도 github copilot 구독이 되어있는 유저만 가능하다. 한 달에 약 10,000 정도로 비싸지도 않고, 241108 기준 지금 claude도 합쳐졌으므로, 기존에도 뛰어났는데 더 좋아진 것 같다.
1. Github CLI 설치
위 링크에 들어가서 `Install for Linux`를 눌러주면 가이드가 매우 잘 나와있기는 하지만 그냥 기록용으로 작성해두려고 한다.
(type -p wget >/dev/null || (sudo apt update && sudo apt-get install wget -y)) \
&& sudo mkdir -p -m 755 /etc/apt/keyrings \
&& wget -qO- https://cli.github.com/packages/githubcli-archive-keyring.gpg | sudo tee /etc/apt/keyrings/githubcli-archive-keyring.gpg > /dev/null \
&& sudo chmod go+r /etc/apt/keyrings/githubcli-archive-keyring.gpg \
&& echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/githubcli-archive-keyring.gpg] https://cli.github.com/packages stable main" | sudo tee /etc/apt/sources.list.d/github-cli.list > /dev/null \
&& sudo apt update \
&& sudo apt install gh -y
위 명령어를 통해서 패키지를 설치해 준다. (위 명령어는 Ubuntu 기준, 나머지 OS는 가이드를 참조하자)
2. Github 인증
설치를 완료했으면, 아래 명령어들을 통해서 Github 인증을 진행해 준다.
gh auth login --web -h github.com
gh extension install github/gh-copilot --force
첫 번째 커맨드를 입력하면 `https`나 `ssh`중 어떤 것으로 접속하냐고 뜨고 다음으로는 인증번호를 주고 웹 화면이 켜지면, github에서 인증을 진행하면 된다.
두 번째 커맨드로 익스텐션을 업데이트해준다.
3. 사용법
사용법은 크게는 2가지 정도가 있는데, `gh copilot suggest`와 `gh copilot explain`이다.
말 그대로 suggest는 명령어 헷갈리거나 이럴 때 물어보면 되고, explain은 설명해 주는 기능인데, 아래에서 살펴보자
3-1. gh copilot suggest
우선 위와 같이 `gh copilot suggest "{질문}"`을 작성하면 어떤 유형의 커맨드를 물어보는 것인지가 먼저 나온다.
그냥 리눅스 커맨드인지, github copilot 커맨드인지, git 커맨드인지.
다음으로는 해당 명령어를 제안해 주고, 그 명령어를 클립보드복사 혹은 설명, 실행, 수정 등이 나온다.
3-2. gh copilot explain
다음으로 explain 명령어는 말 그대로 명령어를 설명해 준다.
위와 같이 친절하게 설명해 주기 때문에 쉽게 알아들을 수 있다.
3-3. alias 설정
저렇게 두 명령어를 계속 쓰게 되는데 사실 gh copilot ~까지 쓰기에도 귀찮다. github도 그것을 알았는지 친절하게 alias를 설정해 놨다.
여기에 가이드가 잘 나와있는데, 나는 zsh와 bash 쉘만 쓰기 때문에 이 두 가지 명령어만 작성해 놓겠다.
echo 'eval "$(gh copilot alias -- zsh)"' >> ~/.zshrc
source ~/.zshrc
echo 'eval "$(gh copilot alias -- bash)"' >> ~/.bashrc
source ~/.bashrc
위와 같이 alias 설정을 해주고 쉘을 재시작하면 이제 `ghcs` = `gh copilot suggest`가 되고, `ghce`는 `gh copilot explain`이 된다.
추가로 alias를 쓸 때는 질문에 ""로 감싸주지 않아도 된다.
3-4 사용자 설정
gh copilot config
위 명령어를 통해서 사용자 설정을 할 수 있는데, 두가지 항목밖에 없다. 하나는 정보수집동의 하난느 제안된 코드를 바로 적용할지 안할지 default 설정.
개인정보는 이미 회원가입들을 하느라 이미 다 털렸겠지만, 그래도 이런 정보수집동의는 왠만해선 거부하기 때문에 거부해준다.
+) 이런거 물어볼 때는 영어가 편하긴하지만 한글도 잘 대답하는 듯 하다.
'알쓸신잡' 카테고리의 다른 글
Gradio paste not working (0) | 2024.11.14 |
---|---|
Gradio FileExplorer refresh (0) | 2024.11.11 |
[pgAdmin error] Your account is locked. Please contact the Administrator. (0) | 2024.10.18 |
Unable to install extension 'ms-toolsai.jupyter' as it is not compatible with VS Code (0) | 2024.09.27 |
ERROR: ON CONFLICT DO UPDATE command cannot affect row a second timeHint: Ensure... (0) | 2024.09.11 |