VS Code에서 프로젝트 작업
Offering: GitLab.com, GitLab Self-Managed, GitLab Dedicated
GitLab for VS Code 확장 프로그램을 사용하여 GitLab 프로젝트로 작업합니다: 확장 프로그램을 사용하면 이러한 작업의 대부분을 VS Code에서 직접 완료할 수 있습니다. GitLab for VS Code 확장 프로그램을 통해 프로젝트 작업 중 GitLab Duo Agent Platform 및 GitLab Duo(비에이전틱)를 사용할 수 있습니다.
GitLab for VS Code 확장 프로그램을 사용하여 GitLab 프로젝트로 작업합니다:
- 이슈에서 작업을 계획하고 추적합니다.
- GitLab Duo를 사용하여 AI 기반 계획 및 코딩을 수행합니다.
- 머지 리퀘스트에서 변경 사항을 검토하고 논의합니다.
- 브랜치를 비교하고 GitLab에서 파일을 확인합니다.
- 스니펫으로 코드를 저장하고 공유합니다.
확장 프로그램을 사용하면 이러한 작업의 대부분을 VS Code에서 직접 완료할 수 있습니다. 일부 작업은 확장 프로그램이 브라우저에서 GitLab을 열어줍니다.
사전 요구사항#
- 확장 프로그램을 인증하고 GitLab의 저장소에 연결합니다.
- GitLab Duo의 경우 구성 요구사항을 검토합니다.
작업 중 GitLab Duo 사용#
GitLab for VS Code 확장 프로그램을 통해 프로젝트 작업 중 GitLab Duo Agent Platform 및 GitLab Duo(비에이전틱)를 사용할 수 있습니다.
GitLab Duo Agent Platform#
GitLab Duo Agentic Chat, 에이전트, 플로우를 사용하려면:
- 왼쪽 사이드바에서 GitLab Duo Agent Platform ([duo-agentic-chat])을 선택합니다.
- Agentic Chat과 상호 작용하려면 채팅 탭을 선택하고 프롬프트를 입력합니다.
- 에이전트로 작업하려면 채팅 탭을 선택한 다음 새 채팅 ([duo-chat-new]) 드롭다운 목록을 사용하여 작업할 기본 또는 커스텀 에이전트를 선택합니다.
- Software Development Flow를 사용하려면 플로우 탭을 선택한 다음 프롬프트를 입력합니다.
GitLab Duo Code Suggestions를 사용하려면:
- 하단 상태 표시줄에서 Duo ([tanuki-ai])를 선택하여 기능 상태를 확인합니다.
- 코드를 작성하면서 인라인 코드 제안을 검토하고 수락합니다.
GitLab Duo#
히스토리
- GitLab 19.0의 일부로 2026년 5월 21일에 GitLab Duo Core 고객의 GitLab Duo 비에이전틱 Chat 액세스가
no_duo_classic_for_duo_core_users기능 플래그와 함께 제거됨. 기본적으로 활성화됨.
GitLab Duo Non-Agentic Chat을 사용하려면:
- 왼쪽 사이드바에서 GitLab Duo Chat ([duo-chat])을 선택합니다.
- 메시지 상자에 질문을 입력하고 Enter를 누르거나 전송을 선택합니다.
GitLab Duo Code Suggestions를 사용하려면:
- 하단 상태 표시줄에서 Duo ([tanuki-ai])를 선택하여 기능 상태를 확인합니다.
- 코드를 작성하면서 인라인 코드 제안을 검토하고 수락합니다.
이슈 생성#
현재 프로젝트에서 이슈를 생성하려면:
- 명령 팔레트를 엽니다:
- macOS의 경우 Command+Shift+P를 누릅니다.
- Windows 또는 Linux의 경우 Control+Shift+P를 누릅니다.
- 명령 팔레트에서 GitLab: Create New Issue on Current Project를 검색하고 Enter를 누릅니다.
GitLab이 기본 브라우저에서 새 이슈 페이지를 엽니다.
머지 리퀘스트 생성#
현재 프로젝트에서 머지 리퀘스트를 생성하려면 하단 상태 표시줄에서 Create MR ([merge-request-open])을 선택합니다.
또는 명령 팔레트를 사용할 수 있습니다:
- 명령 팔레트를 엽니다:
- macOS의 경우 Command+Shift+P를 누릅니다.
- Windows 또는 Linux의 경우 Control+Shift+P를 누릅니다.
- 명령 팔레트에서 GitLab: Create New Merge Request on Current Project를 검색하고 Enter를 누릅니다.
GitLab이 기본 브라우저에서 새 머지 리퀘스트 페이지를 엽니다.
이슈 및 머지 리퀘스트 조회#
특정 프로젝트의 이슈 및 머지 리퀘스트를 조회하려면:
- VS Code의 왼쪽 사이드바에서 GitLab ([tanuki])을 선택합니다.
- 이슈 및 머지 리퀘스트 섹션을 펼칩니다.
- 프로젝트를 선택하여 펼칩니다.
- 항목 목록을 검토하려면 다음 옵션 중 하나를 선택합니다:
- Issues assigned to me
- Issues created by me
- Merge requests assigned to me
- Merge requests I'm reviewing
- Merge requests created by me
- All project merge requests
- 커스텀 쿼리
- 이슈 또는 머지 리퀘스트를 선택하여 새 VS Code 탭에서 엽니다.
이슈 및 머지 리퀘스트 검색#
필터링 검색 또는 고급 검색을 사용하여 VS Code에서 직접 프로젝트의 이슈 및 머지 리퀘스트를 검색합니다. 필터링 검색은 미리 정의된 토큰을 사용하여 검색 결과를 구체화합니다. 고급 검색은 전체 GitLab 인스턴스에서 더 빠르고 효율적인 검색을 제공합니다.
사전 요구사항:
- GitLab 프로젝트의 멤버여야 합니다.
프로젝트를 검색하려면:
- VS Code에서 명령 팔레트를 엽니다:
- macOS의 경우 Command+Shift+P를 누릅니다.
- Windows 또는 Linux의 경우 Control+Shift+P를 누릅니다.
- 원하는 검색 유형을 선택합니다:
- GitLab: Search Project Issues (Supports Filters)
- GitLab: Search Project Merge Requests (Supports Filters)
- GitLab: Advanced Search (Issues, Merge Requests, Commits, Comments...)
- 프롬프트에 따라 검색 값을 입력하고 검색을 구체화합니다.
GitLab이 브라우저 탭에서 결과를 엽니다.
검색 결과를 필터링하는 토큰#
대규모 프로젝트에서의 검색은 필터를 추가하면 더 나은 결과를 반환합니다. 확장 프로그램은 머지 리퀘스트와 이슈를 필터링하기 위해 다음 토큰을 지원합니다:
| 토큰 | 예시 | 설명 |
|---|---|---|
| assignee | assignee: sjones |
@ 없이 담당자의 사용자 이름. |
| author | author: zwei |
@ 없이 작성자의 사용자 이름. |
| label | label: frontend 또는 label:frontend label: Discussion |
단일 레이블. 여러 번 사용 가능하며 labels와 함께 사용 가능. |
| labels | labels: frontend, Discussion, performance |
쉼표로 구분된 여러 레이블. label과 함께 사용 가능. |
| milestone | milestone: 18.1 |
% 없이 마일스톤 제목. |
| scope | scope: created-by-me |
이슈 또는 머지 리퀘스트의 범위. 값: created-by-me(기본값), assigned-to-me 또는 all. |
| title | title: discussions refactor |
제목 또는 설명에서 일치할 단어. 문구에 따옴표를 추가하지 마십시오. |
토큰 구문 및 가이드라인:
- 각 토큰 이름 뒤에는
label:과 같이 콜론(:)이 필요합니다.- 콜론 앞에 공백이 있으면(
label :) 유효하지 않으며 파싱 오류가 반환됩니다. - 토큰 이름 뒤의 공백은 선택 사항입니다.
label: frontend와label:frontend모두 유효합니다.
- 콜론 앞에 공백이 있으면(
label과labels토큰을 여러 번, 함께 사용할 수 있습니다. 이러한 쿼리는 동일한 결과를 반환합니다:labels: frontend discussion label: performancelabel: frontend label: discussion label: performancelabels: frontend discussion performance(결합된 최종 쿼리)
단일 검색 쿼리에서 여러 토큰을 결합할 수 있습니다. 예를 들어:
title: new merge request widget author: zwei assignee: sjones labels: frontend, performance milestone: 17.5
이 검색 쿼리는 다음을 찾습니다:
- 제목:
new merge request widget - 작성자:
zwei - 담당자:
sjones - 레이블:
frontend및performance - 마일스톤:
17.5
머지 리퀘스트 검토#
VS Code에서 머지 리퀘스트를 검토, 코멘트, 승인하려면:
-
왼쪽 사이드바에서 GitLab ([tanuki])을 선택합니다.
-
이슈 및 머지 리퀘스트 섹션을 펼치고 프로젝트를 선택합니다.
-
검토할 머지 리퀘스트를 선택합니다.
-
머지 리퀘스트의 번호와 제목 아래에서 Overview를 선택하여 머지 리퀘스트에 대해 자세히 읽습니다.
-
파일에 대한 제안된 변경 사항을 검토하려면 목록에서 파일을 선택하여 VS Code 탭에서 표시합니다. GitLab은 탭에 인라인으로 diff 코멘트를 표시합니다. 목록에서 삭제된 파일은 빨간색으로 표시됩니다:

diff를 사용하여:
- 토론을 검토하고 생성합니다.
- 이러한 토론을 해결하고 다시 엽니다.
- 개별 코멘트를 삭제하고 편집합니다.
빠른 작업 사용#
이슈 및 머지 리퀘스트에서 GitLab 빠른 작업을 사용하려면:
- VS Code에서 이슈 또는 머지 리퀘스트를 보는 지침을 따릅니다.
- 스크롤하여 코멘트 섹션을 찾습니다.
- 새 코멘트에 빠른 작업을 입력하고 Enter를 누릅니다. 예를 들어 이슈에
bug레이블을 추가하려면/label bug를 입력합니다.
기본 브랜치와 비교#
머지 리퀘스트를 생성하지 않고 프로젝트의 기본 브랜치와 브랜치를 비교하려면:
- 명령 팔레트를 엽니다:
- macOS의 경우 Command+Shift+P를 누릅니다.
- Windows 또는 Linux의 경우 Control+Shift+P를 누릅니다.
- 명령 팔레트에서 GitLab: Compare Current Branch with Default Branch를 검색하고 Enter를 누릅니다.
확장 프로그램이 새 브라우저 탭을 엽니다. 브랜치의 가장 최근 커밋과 프로젝트의 기본 브랜치의 가장 최근 커밋 사이의 diff를 보여줍니다.
GitLab UI에서 현재 파일 열기#
특정 줄이 강조 표시된 상태로 GitLab UI에서 현재 GitLab 프로젝트의 파일을 열려면:
- VS Code에서 원하는 파일을 엽니다.
- 강조 표시할 줄을 선택합니다.
- 명령 팔레트를 엽니다:
- macOS의 경우 Command+Shift+P를 누릅니다.
- Windows 또는 Linux의 경우 Control+Shift+P를 누릅니다.
- 명령 팔레트에서 GitLab: Open Active File on GitLab을 검색하고 Enter를 누릅니다.
스니펫 생성#
다른 사용자와 코드 및 텍스트 비트를 저장하고 공유하기 위해 스니펫을 생성합니다. 스니펫은 선택 영역 또는 전체 파일이 될 수 있습니다.
VS Code에서 스니펫을 생성하려면:
- 스니펫의 내용을 선택합니다:
- 전체 파일을 사용하여 스니펫을 생성하려면 파일을 엽니다.
- 파일의 선택 영역을 사용하여 스니펫을 생성하려면 파일을 열고 포함할 줄을 선택합니다.
- 명령 팔레트를 엽니다:
- macOS의 경우 Command+Shift+P를 누릅니다.
- Windows 또는 Linux의 경우 Control+Shift+P를 누릅니다.
- 명령 팔레트에서 GitLab: Create Snippet을 검색하고 Enter를 누릅니다.
- 스니펫의 공개 수준을 선택합니다:
- Private 스니펫은 프로젝트 멤버만 볼 수 있습니다.
- Public 스니펫은 모든 사람이 볼 수 있습니다.
- 스니펫의 범위를 선택합니다:
- Snippet from file은 활성 파일의 전체 내용을 사용합니다.
- Snippet from selection은 활성 파일에서 선택한 줄을 사용합니다.
GitLab이 새 브라우저 탭에서 새 스니펫 페이지를 엽니다.
패치 파일 생성#
머지 리퀘스트를 검토할 때 여러 파일 변경을 제안하려는 경우 스니펫 패치를 생성합니다.
- 로컬 컴퓨터에서 변경을 제안할 브랜치를 체크아웃합니다.
- VS Code에서 변경할 모든 파일을 편집합니다. 변경 사항을 커밋하지 마십시오.
- 명령 팔레트를 엽니다:
- macOS의 경우 Command+Shift+P를 누릅니다.
- Windows 또는 Linux의 경우 Control+Shift+P를 누릅니다.
- 명령 팔레트에서 GitLab: Create Snippet Patch를 검색하고 Enter를 누릅니다.
이 명령은
git diff명령을 실행하고 프로젝트에 GitLab 스니펫을 생성합니다. - 패치 이름을 입력하고 Enter를 누릅니다. GitLab은 이 이름을 스니펫 제목으로 사용하고
.patch가 추가된 파일명으로 변환합니다. - 스니펫의 공개 수준을 선택합니다:
- Private 스니펫은 프로젝트 멤버만 볼 수 있습니다.
- Public 스니펫은 모든 사람이 볼 수 있습니다.
VS Code가 새 브라우저 탭에서 스니펫 패치를 엽니다. 스니펫 패치의 설명에는 패치 적용 방법에 대한 지침이 포함되어 있습니다.
스니펫 삽입#
멤버인 프로젝트의 기존 단일 파일 또는 다중 파일 스니펫을 삽입하려면:
- 스니펫을 삽입할 위치에 커서를 놓습니다.
- 명령 팔레트를 엽니다:
- macOS의 경우 Command+Shift+P를 누릅니다.
- Windows 또는 Linux의 경우 Control+Shift+P를 누릅니다.
- GitLab: Insert Snippet을 검색하고 Enter를 누릅니다.
- 스니펫이 포함된 프로젝트를 선택합니다.
- 적용할 스니펫을 선택합니다.
- 다중 파일 스니펫의 경우 적용할 파일을 선택합니다.
