Skip to main content

다중 루트 작업공간 지원

Careti 다중 루트(Multiroot) 기능 (실험적 - 2025년 10월 1일) 은 VSCode의 다중 루트 작업공간과 원활하게 작동하여, 단일 작업공간에서 여러 프로젝트 폴더를 관리할 수 있습니다.

다중 루트 작업공간이란?​

하나의 프로젝트 폴더에 제한되는 대신, Careti VSCode 작업공간의 모든 폴더에서 파일을 읽고, 코드를 작성하고, 명령을 실행할 수 있습니다. 모노레포, 마이크로서비스 또는 관련 프로젝트를 동시에 작업할 때 유용합니다.

시작하기​

다중 루트 작업공간 설정​

  1. 작업공간에 폴더 추가:

    • VSCode에서 파일 > 작업 영역에 폴더 추가 사용
    • 또는 여러 폴더 경로가 있는 .code-workspace 파일 생성
    • 파일 탐색기로 폴더를 드래그 앤 드롭
    • 새 작업공간을 열 때 여러 폴더 선택
  2. Careti 사용 시작 - Careti 자동으로 모든 작업공간 폴더를 감지하고 필요에 따라 상호작용합니다.

다중 루트 작업공간 설정에 대한 자세한 지침은 Microsoft 공식 가이드를 참조하세요.

Careti 여러 작업공간을 처리하는 방법​

여러 폴더가 있으면 Careti 자동으로:

  • 모든 작업공간 폴더 감지
  • 다른 프로젝트 간 파일 작업
  • 올바른 컨텍스트에서 명령 실행
  • 경로 해석을 지능적으로 처리

작업공간 간 작업​

Careti 탐색하게 하거나 정확하게 안내하기​

프롬프트에서 다양한 작업공간을 자연스럽게 참조할 수 있습니다:

"프론트엔드 폴더의 package.json을 읽고 백엔드 의존성과 비교해줘"
"공유 유틸리티 함수를 만들고 클라이언트와 서버 모두 이것을 사용하도록 업데이트해줘"
"모든 작업공간 폴더에서 TODO 주석을 검색해줘"

일반적인 사용 사례​

모노레포 개발​

하나의 리포지토리에 관련 프로젝트가 있을 때 완벽합니다:

my-app.code-workspace
├── web/ (React 프론트엔드)
├── api/ (Node.js 백엔드)
├── mobile/ (React Native)
└── shared/ (공통 유틸리티)

Careti게 물어보세요: "새 백엔드 라우트와 일치하도록 웹과 모바일 앱 모두에서 API 엔드포인트를 업데이트해줘"

마이크로서비스 아키텍처​

하나의 작업공간에서 여러 서비스 관리:

services.code-workspace
├── user-service/
├── payment-service/
├── notifications/
└── infrastructure/

풀스택 개발​

분리를 유지하면서 모든 것을 함께 유지:

fullstack.code-workspace
├── client/ (프론트엔드)
├── server/ (백엔드 API)
├── docs/ (문서)
└── deploy/ (스크립트 & 설정)

자동 승인 통합​

다중 루트 작업공간은 자동 승인과 함께 작동합니다:

  • 작업공간 폴더 내 작업에 대한 권한 활성화
  • 작업공간 외부 파일에 대한 자동 승인 제한
  • 다른 작업공간 폴더에 대해 다른 수준 구성

작업공간 간 작업​

Careti 여러 작업공간에 걸친 작업을 완료할 수 있습니다:

  • 리팩토링: 프로젝트 간 임포트 및 참조 업데이트
  • 기능 개발: 여러 서비스에서 변경이 필요한 기능 구현
  • 문서화: 여러 폴더의 코드를 참조하는 문서 생성
  • 테스트: 모든 작업공간에서 테스트 빌드 및 실행, 결과 분석

대규모 다중 루트 작업공간으로 작업할 때는 Agent 모드에서 시작하여 Careti 변경하기 전에 프로젝트 구조를 이해하도록 하세요.

모범 사례​

작업공간 구성​

  1. 관련 프로젝트 그룹화: 조정된 변경이 자주 필요한 프로젝트
  2. 일관된 폴더 구조 사용: 가능한 경우 작업공간 간에
  3. 폴더 이름 명확하게: Careti 프로젝트 구조를 이해할 수 있도록

효과적인 프롬프트 및 팁​

다중 루트 작업공간으로 작업할 때 다음 접근 방식이 가장 효과적입니다:

  • 중요할 때 작업공간 구체적으로 지정: "백엔드 작업공간에서 사용자 모델 업데이트해줘"
  • 관계 참조: "프론트엔드는 공유 작업공간의 API 타입을 사용해"
  • 작업공간 간 작업 설명: "이 변경사항은 웹과 모바일 앱 모두에 반영되어야 해"
  • 검색 범위 지정: 대규모 코드베이스를 다룰 때: "프론트엔드 작업공간에서만 'TODO' 검색해줘"
  • 큰 작업 분해: 가능한 경우 작업공간별 작업으로
  • 큰 폴더 제외 고려: 작업공간 검색 범위에서 node_modules 같은 폴더 제외

자주 묻는 질문​

Q: 작업공간마다 다른 설정을 사용할 수 있나요? A: 네, 각 작업공간 폴더는 자체 .vscode/settings.json을 가질 수 있습니다.

Q: Careti 어떤 작업공간에서 작업하는지 어떻게 알 수 있나요? A: Careti 프롬프트의 컨텍스트를 기반으로 자동으로 감지하거나, 작업공간 이름을 명시적으로 지정할 수 있습니다.

Q: 성능에 영향이 있나요? A: 여러 작업공간은 더 많은 파일을 의미하므로 초기 인덱싱이 느려질 수 있지만, 일단 설정되면 성능은 유사합니다.


질문이나 피드백이 있으신가요? GitHub Discussions에서 연락주세요.