2025년 2월 12일 | Brigit Murtaugh, Burke Holland
이번 Visual Studio Code 릴리스에서는 GitHub Copilot의 세 가지 미리보기 기능을 추가했습니다.
- Next Edit Suggestions (NES)
- Copilot Edits의 에이전트 모드
- 비전
이번 포스트에서는 Next Edit Suggestions(NES) 기능을 중점적으로 다루며, AI 기반 코드 자동 완성의 새로운 발전 가능성을 살펴보겠습니다.
Next Edit Suggestions (NES)
GitHub Copilot의 코드 자동 완성 기능(일명 Ghost Text)은 매우 강력합니다. Copilot이 머릿속에서 생각한 코드를 자동으로 제안해 줄 때의 경험은 매우 만족스럽습니다. 그러나 프로그래밍 작업에서는 새로운 코드를 작성하는 것 뿐만 아니라 기존 코드를 수정하는 것도 중요한 요소입니다. 이제 Copilot의 자동 완성 기능을 기존 코드 수정에도 적용할 수 있습니다.
이 기능을 Next Edit Suggestions(NES) 라고 부릅니다. 혹시 이 세글자 약자를 볼 때 게임기 콘솔이 떠오르나요? 😏 안심하세요, 혼자가 아닙니다! 😄
NES 시작하기
Copilot NES를 사용하려면 VS Code 설정에서 github.copilot.nextEditSuggestions.enabled
옵션을 활성화하세요.
이후에는 기존의 코드 자동 완성기능처럼 그냥 코딩을 시작하면 됩니다!
NES 화살표 아이콘이 나타나면 Tab 키를 사용하여 확인하고, 다시 Tab 키를 눌러 수락하면 됩니다. 더 이상 관련 파일이나 참조를 수동으로 검색할 필요 없이 Copilot NES가 다음 편집 위치를 자동으로 추적합니다.
파일 옆 여백(gutter)에 화살표 아이콘이 나타나면 NES에서 제안사항이 있다는 것을 의미합니다. 아이콘 위에 마우스를 올리면 키보드 단축키와 설정 구성 옵션을 포함한 메뉴가 나타납니다.
NES 제안 사항 부분을 지나쳤다구요? 화살표 아이콘이 위아래로 바뀌면서 NES의 위치를 알려줍니다.
NES의 제안사항은 단일 심볼, 한 줄, 또는 여러 줄에 걸쳐 나타날 수 있고, 이는 변경 사항의 범위에 따라 달라집니다.
참고: NES 설정을 적용하려면 VS Code를 다시 시작하세요.
만약 회사에서 Copilot Business 또는 Enterprise 구독을 사용하고 있다면 관리자가 "Editor Preview Features"를 활성화시켜야 NES 기능을 사용할 수 있습니다.
이와 관련해서는 조직에서 Copilot에 대한 정책 관리 문서를 확인해 보세요.
예제 시나리오
Copilot NES는 파일 또는 프로젝트 전체에서 연쇄적으로 영향을 미칠 수 있는 변경 사항을 처리하는 데 유용합니다. 다음과 같은 다양한 시나리오에서 NES의 성능이 돋보입니다.
1. 실수 감지 및 수정
코드를 작성하다보면 실수는 아주 빈번하게 일어나며, 이때 Copilot NES는 이를 자동으로 감지하여 수정할 수 있도록 도와줍니다.
예를 들어, 오타 수정 같은 게 있겠죠? 빠르게 코딩하는 과정에서 const
대신 conts
라고 잘못 입력했을 경우, NES가 이를 자동으로 감지하고 수정할 것을 제안합니다.
또한, 논리적 오류 수정에도 도움이 됩니다. 예를 들어, **역순 조건문 오류(inverted ternary expression)**를 감지하여 올바르게 수정할 것을 제안합니다.
실제로 NES를 개발하던 중에 개발팀의 한 엔지니어가 다음과 같은 경험을 공유했습니다:
if (something !== 'a' || something !== 'b')
NES는 이 코드가 항상 true
로 평가될 것임을 감지하고, De Morgan의 법칙을 적용하여 ||
을 &&
으로 변경하도록 제안했습니다.
2. 코드 의도 변경 감지
코드를 변경하면, 이에 맞춰 다른 코드도 업데이트해야 하는 경우가 많습니다. 예를 들어, 클래스명을 Point
에서 Point3D
로 변경하면 NES가 자동으로 z
변수를 추가하고, 거리 계산 로직을 수정하라고 제안합니다.
3. 새로 추가한 변수 및 로직 활용
NES는 코딩 과정에서 새로 추가한 코드도 자동으로 반영합니다. 예를 들어, 새 메서드 매개변수를 정의하면, NES가 자동으로 이를 호출하도록 제안할 수 있습니다.
또한, VS Code 확장 프로그램 개발 시 NES는 다음과 같이 동작할 수 있습니다. 만약 extension.ts
파일에 새 명령어를 추가했다면, NES는 먼저 extension.ts
에서 정리할 부분을 제안합니다. 그리고 package.json
파일을 열었을 때, NES가 해당 명령어를 등록하도록 자동으로 제안합니다.
4. 리팩토링 지원
새로운 네이밍 패턴을 사용하면, Copilot NES는 연계한 모든 코드에서 동일한 스타일을 유지하도록 자동으로 제안합니다.
NES 관련 자세한 내용은 공식 문서를 참고하세요.
여러분의 피드백을 공유해 주세요
Copilot NES는 빠르게 발전하고 있으며, 여러분의 피드백이 기능 개선에 큰 도움이 됩니다. GitHub 리포지토리에 이슈를 남겨 주시면 개선에 적극 반영하겠습니다.
VS Code 인사이더와 프리뷰 버전의 GitHub Copilot Chat 확장기능을 사용하면 가장 최신의 기능 개선사항을 확인할 수 있습니다. 프리뷰 버전의 확장기능을 설치하는 방법은 이 문서를 참고하세요.
Copilot NES 관련한 더 자세한 내용은 이 공식 문서를 참조하세요.
GitHub Copilot을 통해 여러분이 무슨 코딩을 하려는지 예측을 할 수 있다는 것이 너무 자랑스럽습니다. 심지어 이를 위해 프롬프트를 작성하지 않아도 된다니요! 여러분도 우리만큼 짜릿하리라 믿습니다. 또한 여러분이 GitHub Copilot을 이용해 어떤 애플리케이션을 만들지 너무너무 궁금합니다!
에이전트 모드 및 Vision 기능 추가
에이전트 모드
VS Code 인사이더 최신 릴리스부터 Copilot Edits에 "에이전트 모드"를 추가했습니다.
Copilot Edits에 들어간 에이전트 모드는 자신의 코드에 대해 자동으로 반복(iterate)확인 하면서, 오류를 감지하고 수정하며, 필요한 터미널 명령을 실행하고, 실행 중 발생하는 오류를 자동으로 해결할 수 있습니다. 즉, 사용자가 요청한 작업뿐만 아니라 그 요청한 작업을 완성하기 위해 숨겨진 추가 작업까지도 예측하여 처리할 수 있습니다.
GitHub Copilot에서 제공하는 이 에이전트 모드는 엄청난 가능성을 내포하고 있습니다. 에이전트 모드는 매일 개선되고 있으며, 앞으로 몇 주 동안 더 많은 기능이 추가될 예정입니다. 여러분의 피드백 공유를 바탕으로 계속해서 기능을 개선할 예정입니다. 비록 현재는 VS Code 인사이더에서만 쓸 수 있지만 곧 VS Code 정식 버전에서도 활용할 수 있도록 하겠습니다!
자세한 내용은 공식 문서를 참고하세요.
Vision
이번 VS Code 인사이더 릴리스에는 GitHub Copilot Vision 기능도 지원합니다!
가끔은 GitHub Copilot에게 이미지라든가 하는 UI 관련 내용을 계속해서 설명하고 설명하는 경우가 생기는데, 이 과정이 곤혹스러울 수 있습니다. 이제 Copilot에게 설명할 필요 없이 스크린샷을 첨부하여 문제를 해결할 수 있습니다.
가능한 작업:
- 클립보드에서 붙여넣기
- 탐색기에서 이미지 드래그 앤 드롭
- 현재 VS Code 창의 스크린샷 첨부
이제 Vision을 활용하면 다양한 시나리오로 확장할 수 있습니다.
- GitHub Copilot에게 목업을 전달한 후 UI 코드를 생성하도록 한다.
- 뭔가 이상한 UI 스크린샷을 주고 GitHub Copilot이 이를 수정할 수 있도록 한다.
- 이미지의 alt 텍스트를 HTML 또는 마크다운으로 생성하도록 한다.
- 에러 스크린샷을 주고 문제를 해결하도록 한다.
VS Code 인사이더에서 누구나 Vision을 사용할 수 있습니다. 다만 현재는 GPT-4o 모델만 지원하며, 향후 더 많은 모델을 추가할 예정입니다. 또한 현재 지원하는 이미지 포맷은 jpeg/jpg, png, gif, webp 입니다.
새로운 한 해, 새로운 Copilot
2025년은 단지 GitHub Copilot이 무료로 사용할 수 있다는 것을 넘어서서 Copilot이 AI 페어 프로그래머로서 한 단계 더 도약하는 해가 될 것입니다.
멈추지 않고 계속해서 VS Code의 기능을 향상시키고 있습니다. 그러니 최신 릴리스 노트를 항상 확인해서 새 기능을 꼭 활용해 보세요. VS Code가 여러분의 가장 완벽한 코드 에디터이자 AI 페어 프로그래머로서 자리매김할 수 있도록 노력하고 있습니다.
AI 기술이 빠르게 발전하는 만큼, X/Bluesky/LinkedIn을 팔로우하면 최신 정보를 놓치지 않을 겁니다!
항상 해피 코딩!
Brigit & Burke
Updated Feb 14, 2025
Version 1.0justinyoo
Microsoft
Joined June 30, 2020
Microsoft Developer Community Blog
Follow this blog board to get notified when there's new activity