컨텐츠로 건너뛰기
검색
ITWorld 언론사 이미지

비주얼 스튜디오와 VS 코드에서 깃허브 코파일럿 시작하기

ITWorld
원문보기

비주얼 스튜디오와 VS 코드에서 깃허브 코파일럿 시작하기

서울맑음 / -3.9 °

지난 수십 년 동안 소프트웨어가 개발되는 방식에는 몇 번의 큰 변화가 있었다. 어셈블리 언어에서 클라우드 네이티브 개발까지, 모놀리식 아키텍처에서 마이크로서비스까지, 수동 테스트에서 CI/CD 자동화까지, 기업과 개발자의 끊임없이 변화하는 요구를 충족하기 위해 수많은 소프트웨어 아키텍처와 기술, 툴이 등장했다.


최근에는 AI 기반 툴이 소프트웨어 개발에 막대한 영향을 미쳤다. 그중 하나가 깃허브 코파일럿이다. 강력하고 접근성 높은 AI 페어 프로그래머인 깃허브 코파일럿은 비주얼 스튜디오와 비주얼 스튜디오 코드에 매끄럽게 통합된다.


이 기사에서는 깃허브 코파일럿이 무엇인지, 왜 중요한지, 그리고 비주얼 스튜디오 내에서 어떻게 깃허브 코파일럿을 사용해 코드를 생성하고 최적화하는지 알아본다. 또한 코드 문제 수정과 테스트에서 깃허브 코파일럿이 어떤 도움이 되는지도 살펴본다.


깃허브 코파일럿이란 무엇이며, 왜 필요한가?

현대 소프트웨어 개발에서 성공의 기반은 속도와 정확성, 혁신이다. 개발자들은 상용구 코드를 작성하고 API를 통합하거나 소스 코드의 문제를 디버깅하는 데 많은 시간을 소비한다. 이제 AI와 AI 기반 툴 및 기술의 등장으로 이와 같은 모든 시간 소비 작업을 자동화해서 개발자 생산성을 높일 수 있다.


깃허브 코파일럿은 AI 기반 코딩 어시스턴트로, 코드를 생성, 최적화, 문서화하고 문제를 수정하고 테스트를 만들고 풀 요청 초안을 작성하는 등의 작업을 처리함으로써 개발자가 창의적이고 복잡한 문제 해결 작업에 집중할 수 있게 해준다. 오픈AI, 앤트로픽, 구글 등 다양한 모델을 지원하는 깃허브 코파일럿의 역량은 단순한 코드 자동 완성 툴을 훨씬 넘어선다. 고급 AI 모델을 사용해 자연어 주석과 코드 전후의 컨텍스트를 이해하고 코드 스니펫을 생성하고 반복 작업을 자동화하고 오류를 줄이고 소프트웨어 개발 워크플로우의 속도를 높여준다.


전통적인 자동 완성 툴이 구문을 기반으로 코드를 제안하는 데 그쳤다면 깃허브 코파일럿은 코드의 목적, 즉 코드가 달성하고자 하는 바가 무엇인지를 이해하고, 필요에 따라 전체 코드 블록이나 코드 스니펫을 생성한다. 결과적으로 개발자는 모범 사례를 따르고 문제와 버그를 조기에 파악 및 수정함으로써 생산성과 일관성을 높이고 더 양질의 코드를 작성할 수 있게 된다.


깃허브 코파일럿은 소프트웨어 개발자를 어떻게 돕는가?

깃허브 코파일럿은 다음과 같은 방법으로 개발자를 돕는다.


  • - 생산성 향상 : 깃허브 코파일럿은 상용구 코드, 반복적이거나 장황한 코드를 몇 초 만에 작성할 수 있다. 따라서 개발자는 이러한 단순 작업에 시간을 소비하지 않고 아키텍처 구축, 비즈니스 로직 작성, 데이터 액세스 코드 작성에 집중할 수 있다.
  • - 인지 부하 경감 : 깃허브 코파일럿은 작업을 자동화하고 복잡한 비즈니스 로직 작성을 돕고 컨텍스트 전환 필요성을 줄여 인지 부하를 낮추고 번아웃 예방에 도움을 준다.
  • - 효율적인 코드 작성 : 개발자는 자연어 프롬프트를 사용해서 가독성이 높고 체계적, 일관적인 모듈형 코드를 생성할 수 있다. 또한 깃허브 코파일럿은 리팩터링, 버그 수정, 베스트 프랙티스 적용에도 도움이 된다.
  • - 빠른 학습 촉진 : 초보자와 숙련된 개발자 모두 깃허브 코파일럿이 생성하는 라이브 예제를 통해 새로운 라이브러리와 API, 프레임워크를 더 빠르게 익힐 수 있다.
  • - 테스트 및 검증 강화 : 깃허브 코파일럿은 테스트를 생성하고 엣지 케이스를 탐색하고 해결책을 제시하고 코드의 문제를 수정하는 데 도움이 된다.

비주얼 스튜디오에 깃허브 코파일럿 설치하기

비주얼 스튜디오 설치 프로그램을 사용해 깃허브 코파일럿을 설치하려면 아래 단계에 따른다.


  1. - 비주얼 스튜디오 설치 프로그램을 실행한다.
  2. - 사용할 비주얼 스튜디오 설치 항목을 선택한다.
  3. - 수정(Modify)을 클릭해서 다음 화면을 열어 워크로드를 수정한다(그림 1 참조)
  4. - 수정할 워크로드를 선택한다.
  5. - 깃허브 코파일럿을 선택하고 수정을 클릭해 설치를 시작한다.

그림 1Foundry

그림 1Foundry


이렇게 하면 비주얼 스튜디오 IDE 내에 깃허브 코파일럿이 설치되고 통합된다. 비주얼 스튜디오 코드에도 설치할 수 있지만 이 기사에서는 비주얼 스튜디오를 사용한다. 비주얼 스튜디오를 사용하든 비주얼 스튜디오 코드를 사용하든 깃허브 코파일럿은 빠르고 쉽게 시작할 수 있다.


깃허브 코파일럿을 사용해 코드 생성하기

깃허브 코파일럿을 사용하면 자연어 지시를 통해 새 코드를 생성할 수 있다. 비주얼 스튜디오의 코드 편집기에서 마우스 오른쪽 버튼을 클릭하고 “코파일럿에 요청하기(Ask Copilot)”를 선택한 다음 지시를 입력하면 된다. 예를 들어 1부터 100까지의 모든 소수를 표시하는 코드를 생성하도록 코파일럿에 요청할 수 있다(그림 2 참조).


그림 2Foundry

그림 2Foundry


깃허브 코파일럿을 사용해 코드의 버그 수정하기

깃허브 코파일럿은 코드의 버그를 수정하는 데도 유용하다. 간단한 예제로 다음 코드를 보자.


string str = null;
for(int i=65; i<90; i++)
{
    str = str + (char)i;
}   
Console.WriteLine(str);
Console.ReadKey();

위 코드의 목적은 A부터 Z까지 모든 알파벳 문자를 표시하는 것이다. 그러나 첫 번째 문에 문제가 있다. 문자열 객체에 null을 할당한 다음 문자열을 추가하려고 시도하면 컴파일러에서 “null 리터럴을 null이 허용되지 않는 참조 타입 또는 제한되지 않는 타입 매개변수로 변환할 수 없습니다(Cannot convert null literal to non-nullable reference or unconstrained type parameter)”라는 오류가 발생한다. C# 8부터 모든 참조 타입이 기본적으로 null을 허용하지 않기 때문이다.


그림 3에서 깃허브 코파일럿이 코드를 어떻게 수정하는지 볼 수 있다.


그림 3Foundry

그림 3Foundry


깃허브 코파일럿을 사용해 코드 최적화하기

다음 코드에는 CustomerDataManager라는 두 개의 클래스가 있다. Customer는 일반적인 POCO 클래스(일반 CLR 객체)지만 DataManagerCreate라는 메서드를 사용해서 Customer 클래스의 인스턴스를 생성한다. 이 메서드는 고객 세부 정보(즉, 클래스의 모든 속성 값)를 매개변수로 받는다.


class Customer
{
    public Guid Id { get; set; }
    public string FirstName { get; set; }
    public string LastName { get; set; }
    public string Address { get; set; }
    public string Email { get; set; }
}
class DataManager
{
    public Customer Create(Guid Id, string firstName, string lastName, string address, string email)
    {
        Customer customer = new Customer
        {
            Id = Guid.NewGuid(),
            FirstName = firstName,
            LastName = lastName,
            Address = address,
            Email = email
        };
        return customer;
    }
}

깃허브 코파일럿을 사용해 코드를 최적화하려면 코드 편집기에서 소스 코드 블록을 선택한 다음 마우스 오른쪽 버튼을 클릭하고 “코파일럿에 요청하기”를 선택하고 입력 상자에 “최적화”를 입력하면 된다(그림 4 참조).


그림 4Foundry

그림 4Foundry


입력 상자 옆의 화살표 버튼을 클릭해 “최적화” 프롬프트를 코파일럿에 전달하면 그림 5와 같이 최적화된 코드가 생성된다.


그림 5Foundry

그림 5Foundry


깃허브 코파일럿을 사용해 단위 테스트 만들기

테스트는 신뢰할 수 있는 소프트웨어를 위한 핵심이다. 깃허브 코파일럿을 사용하면 소프트웨어 테스트를 더 빠르고 쉽게 할 수 있다. 깃허브 코파일럿은 탐지한 로직을 기반으로 함수나 클래스에 대한 상용구 테스트 코드를 생성할 수 있다. 또한 코파일럿은 엣지 케이스를 포함한 다양한 시나리오에 걸쳐 단위 테스트 케이스를 제안할 수 있으며, 더 빠른 테스트를 위해 종속성에 대한 목(mock) 또는 스텁(stub)을 생성하는 데도 유용하다.


깃허브 코파일럿으로 단위 테스트를 생성하려면 비주얼 스튜디오의 코드 편집기에서 마우스 오른쪽 버튼을 클릭한 다음 “코파일럿에 요청하기”를 클릭하고, 입력 상자에 “DataManager 클래스의 모든 메서드에 대한 단위 테스트를 작성해”와 같은 지시를 입력하면 된다(그림 6 참조).


그림 6Foundry

그림 6Foundry


입력 상자 옆의 화살표 버튼을 클릭하면 코파일럿이 프로젝트에 DataManagerTests.cs라는 새 파일을 만들고 DataManager 클래스에 대한 단위 테스트를 생성한다(그림 7 참조).


그림 7Foundry

그림 7Foundry


이와 같이 깃허브 코파일럿은 상용구 테스트 코드를 작성하는 데 드는 시간을 줄여주고 테스트 케이스와 관련된 생산성을 높여준다.


요약

깃허브 코파일럿은 코딩 프로세스의 속도를 높여주고 버그를 수정하고 테스트를 작성해서 개발자가 중요한 일, 즉 고품질의 소프트웨어를 만드는 데 집중할 수 있게 해준다. 엔터프라이즈 규모의 분산 시스템 구축, 새로운 아이디어의 빠른 프로토타이핑 등 다양한 작업에서 깃허브 코파일럿을 사용하면서 소프트웨어 개발 워크플로우가 어떻게 개선되는지 확인해볼 것을 권한다.


dl-itworldkorea@foundryco.com



Joydip Kanjilal editor@itworld.co.kr
저작권자 Foundry & ITWorld, 무단 전재 및 재배포 금지