주의! 아래 글을 Github Copilot 이 베타테스트를 하던 무렵에 쓰여진 글입니다.
Github Copilot 사용 방법은 https://docs.github.com/ko/copilot/quickstart 을 참조해주세요.
베타테스트 시절의 사용기라 하더라도 후기는 그럭저럭 참고하실만 할 것 같습니다.

 

Github Copilot 은 VSCode 혹은 IntelliJ 에서 코드를 자동으로 작성하도록 도와주는 AI 도구입니다.

추천해주는 코드들은 Github 에 공개되어 있는 코드 기반의 결과물이라 GPL 라이선스 코드가 들어갈 수 있다는 논란이 있습니다.

그럼에도 대체 Copilot 이란 놈은 어떤 녀석인지 호기심이 발동하여 설치해보았습니다.

 

0. Copilot 신청 및 설치

Copilot Homepage (https://copilot.github.com/) 에서 SignUp 을  클릭 후,

아래 화면에서 github 로그인, 약관 동의를 하고, 한동안 잊고 있으면, Copilot 을 설치하라는 메일이 옵니다.

 

https://copilot.github.com/
SignUp > github 로그인 후 동의 화면
마지막 화면

 

저도 언제 신청을 했었는지 완전히 잊어버렸기 때문에 얼마나 대기시간이 필요한지는 잘 모르겠습니다.

못해도 2~3 달 정도는 걸리지 않았나 싶습니다.

 

Github Copilot 메일

 

이런 메일을 받고난 뒤, Install  GitHub Copilot 을 클릭하면, https://github.com/github/copilot-docs  으로 이동합니다.

 

https://github.com/github/copilot-docs  

 

참고로 저는 IntelliJ - Kotlin 사용자로, Plug-in 설치 이후, Github 로그인을 해주면, Plug-in 을 활성화 할 수 있습니다.

 

아래는 10분사용기 입니다.

 

1-0. 의도

스트링 파일명에 바로 텍스트를 덧붙이는 함수를 만드려고 했습니다.

 

1-1. 타이핑한 코드

fun String.append2File(s:String)

 

1-2. 결과 - 추천해준 코드

 

 

2-0. 의도

위 코드는 약간 아쉬웠습니다. appendln() 같은 느낌이 필요했습니다.

그래서, 스트링의 마지막을 보고 개행문자가 아니면 개행문자를 추가하려고 했습니다.

 

2-1. 타이핑한 코드

fun String.append2File(s:String){
    s.last()
    val file = File(this)
    file.appendText(s)
}

 

2-2. 결과 -  추천해준 코드

 

 

3. 마치며

append2File() 을 만들때는 그래도 뭐랄까 함수명을 잘 정한건가 싶다는 생각이 들었는데,

한편으로는 last() 를 사용하는 경우에, 개행문자를 추가하는 코드들이 많아서 일지도 모르겠다는 생각이 들기는 합니다.

심지어 코드에 오류가 있음에도 불구하고, s.last() 를 타이핑하고 나서는 마치 제 생각을 읽고 있는 것 같아서 많이 당황했습니다.

 

 

4. 덧붙임

4-1. 주석 부분도 추천해줍니다.

4-2. 주석을 잘 써놓으면, data class 그냥 만들어 줍니다.

아래 그림은 주석을 써놓은 뒤, "data class Human"  을 타이핑하자 추천해준 코드

 

4-3. 코딩을 글쓰기에 비유하자면, 글에서 기-승-전-결 이 있는 글을 쓴다고 하면,

기-승 정도를 타이핑하면, 전-결 에 해당하는 코드를 추천해줍니다.

 

 

'Software Develop' 카테고리의 다른 글

CSV (Comma-Seperated values) 파일  (0) 2021.07.16
Github Badge - 깃헙 뱃지, 그리고, SVG  (0) 2020.10.20
Code Kata  (0) 2020.04.23