# Github Copilot

## Github Copilot

---

## Copilot

- Copilot은 Microsoft가 2023년 3월에 출시한 인공지능 기반 서비스

- Visual Studio Code와 RStudio 등에서 사용 가능하다

코파일럿은 크게 3가지 기능을 제공한다.

- **Code**: 코드 자동 완성

    - **코드 작성**: 함수의 목적에 맞게 함수 이름/주석을 작성하면 코드 제안

    - **주석 작성**: 주석에 대한 내용을 이해하고 주석에 대한 코드를 제안

- **Questions**: 질문에 대한 답변

- **Comments**: 주석

### Copilot 시작

![Image](https://upload.cafenono.com/image/slashpagePost/20250117/214003_Fz9hwv1y17i5qfJupX?q=80&s=1280x180&t=outside&f=webp)

`Settings > Copilot` 에서 `Start free trial` 버튼을 클릭한다.

![Image](https://upload.cafenono.com/image/slashpagePost/20250117/214145_fBDPIVucyEP28Ofli3?q=80&s=1280x180&t=outside&f=webp)

학생 계정의 경우 왼쪽과 같은 창으로 Get access to GitHub Copilot 버튼을 클릭한다. 

일반 계정의 경우 원하는 결제 방법을 클릭 후 Get access to GtiHub Copilot 버튼을 클릭한다. 이후 결제를 할 카드 정보를 작성한다.

![Image](https://upload.cafenono.com/image/slashpagePost/20250117/214154_hlOp1tKL0ivgpcgpzT?q=80&s=1280x180&t=outside&f=webp)

Select an option에서 `Allowed`를 선택하고 `Save and complete setup` 버튼을 선택한다. 

![Image](https://upload.cafenono.com/image/slashpagePost/20250117/214225_0R0NAWQc73Z475koKT?q=80&s=1280x180&t=outside&f=webp)

다시 GitHub Copilot 페이지를 확인하면 다음과 같이 변경되어 있는 것을 확인할 수 있다.

## RStudio

---

### RStudio 연동

![Image](https://upload.cafenono.com/image/slashpagePost/20250117/214415_r0ZMrmgX6tKCyFCT9I?q=80&s=1280x180&t=outside&f=webp)

RStudio에서 `Tools > Global Options`를 클릭한다.

![Image](https://upload.cafenono.com/image/slashpagePost/20250117/214441_0PVwk76N7JsBl52dqR?q=80&s=1280x180&t=outside&f=webp)

`Enable GitHub Copilot`을 체크하면 GitHub Copilot Install Agent 창이 뜬다. `Install`을 클릭한다. 만약 나중에 Copilot을 사용하고 싶지 않다면 Enable GitHub Copilot의 선택을 해제하면된다. 

![Image](https://upload.cafenono.com/image/slashpagePost/20250117/214510_loYdjuQUs5ZIH9GVPL?q=80&s=1280x180&t=outside&f=webp)

설치가 완료되면 Sign In과 Refresh 버튼이 생긴다. `Sign In`을 클릭한다.

![Image](https://upload.cafenono.com/image/slashpagePost/20250117/214521_bxJsic5Yhi0VZm7yOh?q=80&s=1280x180&t=outside&f=webp)

![Image](https://upload.cafenono.com/image/slashpagePost/20250117/214534_MzFJPNf6whqaa0ir0A?q=80&s=1280x180&t=outside&f=webp)

GitHub Copilot: Sign in 창의 링크에 들어가 Verficiaton code를 입력 후 Continue를 클릭한다. Authorize GitHub Copilot Plugin을 클릭한다.

![Image](https://upload.cafenono.com/image/slashpagePost/20250117/214553_N8sWtvvPNwEx2k89Pc?q=80&s=1280x180&t=outside&f=webp)

권한이 부여되었다면 sign In 버튼이 Sign Out으로 변경된다. 

### GitHub Copilot 사용하기

Copilot은 `Ghost text`라는 방법으로 사용자 코드의 자동 완성 스타일을 제안한다. 

RStudio에서 제공하는 기존 자동 완성과 다른 점은 자동완성이 아닌 생성된 제안이라는 점이다. 

![Image](https://upload.cafenono.com/image/slashpagePost/20250117/214709_woooDfnJ67GtSiMVb0?q=80&s=1280x180&t=outside&f=webp)

코파일럿은 주석과 코드의 일부분을 작성하면 나머지 부분을 밝은 회색의 고스트 텍스트로 표시하여 코드를 제안한다. 회색으로 보여준 코드는 `tab` 으로 완성할 수 있다. 

우측 하단에는 코파일럿의 상태가 표시된다. 코파일럿은 `waiting on a response to be generated` (대기), `a completion response has been received` (코드 제안 완료), `no completions are available` (제안 없음) 등의 상태를 보여준다. 

![Image](https://upload.cafenono.com/image/slashpagePost/20250117/214719_5tAZKyKYPD1gAPzlvn?q=80&s=1280x180&t=outside&f=webp)

![Image](https://upload.cafenono.com/image/slashpagePost/20250117/214741_fztpSEXhbsMqQg0CAt?q=80&s=1280x180&t=outside&f=webp)

현재 프로젝트의 다른 R, Python 도구 혹은 SLQL 파일도 색인하고 읽어도록 설정할 수 있습니다. `Tools > Global Options > Copilot > Copilot Indexing` 으로 설정을 변경할수 있습니다.

![Image](https://upload.cafenono.com/image/slashpagePost/20250117/214802_husBPacB1HWJ5V8XBH?q=80&s=1280x180&t=outside&f=webp)

RStudio의 자동 완성과 Copilot이 충돌하는 경우도 있다. 이 때는 `ctrl + space` 로 코파일럿의 제안이 아닌 일반 자동 완성을 표시할 수 있다. 또는 `ctrl+shift+p`에서 `Copilot: Toggle Automatic Completions` 로 코파일럿을 켜고 끌 수 있다.

![Image](https://upload.cafenono.com/image/slashpagePost/20250117/214811_plWD5bUMca8YE91zTQ?q=80&s=1280x180&t=outside&f=webp)

`Tools > Global Options > Code > Completion section` 에서 자동 완성을 사용할 것인지 설정할 수도 있다.

## VSCode 연동

---

![Image](https://upload.cafenono.com/image/slashpagePost/20250117/200204_O39gsGvJ7saEO9m18l?q=80&s=1280x180&t=outside&f=webp)

![Image](https://upload.cafenono.com/image/slashpagePost/20250117/200309_FrVSfF8eyK6TwKHkIG?q=80&s=1280x180&t=outside&f=webp)

![Image](https://upload.cafenono.com/image/slashpagePost/20250117/200210_i7WHbsd1XFOSAPedGS?q=80&s=1280x180&t=outside&f=webp)

![Image](https://upload.cafenono.com/image/slashpagePost/20250117/200356_20ziqKCfFHFRHeNWCO?q=80&s=1280x180&t=outside&f=webp)

- GitHub Copilot과 GitHub Copilot Chat을 차례로 설치

- 우측 하단에 있는 로고를 클릭하여 로그인

- chatting을 사용하여 질의응답 가능

- 코드를 작성할 때 자동 완성 기능 제공

For the site tree, see the [root Markdown](https://slashpage.com/yerim-devnote.md).
