사내 VSCode 확장

IDC Deploy 사용 가이드

IDC 서버(SFTP·FTP)의 파일을 VSCode에서 받아 보고, 편집·저장하면 자동으로 올려주는 사내 전용 확장입니다. 다운로드 없이 미리보고, 필요할 때만 로컬로 받아 편집합니다.

01 — 시작하기빠른 시작

  1. 설정 만들기Cmd/Ctrl + Shift + P → “IDC: 설정 파일 생성”. 열린 .vscode/idc-deploy.json에 서버 정보를 입력합니다.
  2. 서버 선택 — 왼쪽 액티비티 바의 IDC 탭에서 상단 “서버 선택”, 또는 하단 상태바의 IDC: …를 클릭합니다.
  3. 열기 · 편집 — 트리에서 파일 클릭 = 미리보기, “로컬로 다운로드”를 눌러 편집한 뒤 저장하면 서버로 올라갑니다.

02 — 설정서버 설정

프로젝트 루트의 .vscode/idc-deploy.json에 서버를 등록합니다. 서버마다 프로토콜·경로가 달라도 됩니다.

{
  "ignore": [".vscode", "*.map"],
  "uploadMode": "confirm",
  "servers": [
    {
      "name": "IDC-A (운영)",
      "protocol": "sftp",
      "host": "10.0.1.10",
      "port": 22,
      "username": "company",
      "remotePath": "/var/www/html",
      "uploadMode": "confirm",
      "ignore": ["tmp", "*.bak"]
    }
  ]
}

서버 파라미터

각 서버 객체에 넣을 수 있는 값입니다. 필수 표시가 없는 항목은 생략 가능합니다.

파라미터필수값 / 예시설명
name"IDC-A (운영)"서버 표시 이름. “서버 선택” 목록과 상태바에 나옵니다.
protocol"sftp" · "ftp"접속 프로토콜.
host"10.0.1.10"서버 IP 또는 도메인.
username"company"접속 계정. 비밀번호는 최초 접속 시 입력 → 키체인 저장.
remotePath"/var/www/html"원격 루트 경로. 이 경로가 로컬 워크스페이스 루트에 대응됩니다.
port22 / 21포트. 생략 시 SFTP=22, FTP=21.
uploadMode"auto"·"confirm"·"manual"저장 시 업로드 방식(③ 참고). 생략 시 파일 기본값을 따름.
privateKeyPath"/Users/you/.ssh/id_rsa"SFTP 키 인증용 개인키 경로. 지정 시 비밀번호 대신 키로 접속.
securetrue / falseFTP 전용. 명시적 TLS(FTPS) 사용 여부. 기본 false.
ignore["tmp", "*.bak"]이 서버에서 추가로 제외할 glob 패턴(⑦ 참고).

파일 최상위 옵션 (모든 서버 공통)

파라미터값 / 예시설명
servers배열서버 정의 목록. 항목을 추가하면 여러 서버를 등록할 수 있습니다.
uploadMode"confirm"모든 서버의 기본 업로드 방식. 서버별 uploadMode가 있으면 그쪽이 우선.
ignore[".vscode"]모든 서버에 공통 적용할 제외 패턴.

여러 서버 등록

servers 배열에 객체를 더 넣으면 됩니다. 등록 후 “IDC: 서버 선택”에서 전환할 수 있습니다.

"servers": [
  { "name": "IDC-A (운영)",  "protocol": "sftp", "host": "10.0.1.10", "username": "company", "remotePath": "/var/www/html", "uploadMode": "confirm" },
  { "name": "IDC-B (개발)",  "protocol": "ftp",  "host": "10.0.2.20", "username": "company", "remotePath": "/home/www",     "uploadMode": "auto" }
]

경로 매핑

remotePath내용물이 워크스페이스 루트에 그대로 대응됩니다 — 원격 /var/www/html/inc/db.php ↔ 로컬 <워크스페이스>/inc/db.php.

i비밀번호는 설정 파일에 넣지 않습니다. 최초 접속 시 입력창이 뜨고 OS 키체인에 암호화 저장됩니다. SFTP는 privateKeyPath로 키 인증도 가능합니다.

03 — 설정저장 시 업로드 방식

uploadMode로 서버별 동작을 정합니다. 지금 보는 파일의 방식은 우측 하단 상태바에 표시됩니다.

동작
"auto"저장하면 바로 업로드
"confirm"저장 시 확인 후 업로드
"manual"저장해도 안 올라감 (수동 업로드만)

04 — 안전충돌 방지 · 최신 갱신 · 비교

다운로드 시점의 원격 상태(수정시각·크기)를 기록해 두고 비교합니다.

  • 덮어쓰기 사고 방지 — 저장·업로드 직전에 원격을 확인해, 내가 받은 뒤 다른 사람이 수정했으면 덮어쓰기 전에 경고하고 비교(diff)를 제공합니다.
  • 오래된 로컬 갱신 — 파일을 열거나 전환할 때 원격이 더 최신이면 다시 받기를 안내합니다. autoPull을 켜면 로컬 변경이 없을 때 자동으로 갱신됩니다.
  • 직접 비교Cmd/Ctrl + Shift + P → “IDC: 현재 파일 원격과 비교”. 왼쪽=로컬, 오른쪽=원격으로 diff가 열립니다.
i끄기 — 워크스페이스 전체는 설정 idcDeploy.conflictCheck·idcDeploy.checkRemoteOnOpen으로, 서버별로는 idc-deploy.json의 서버 객체 안에 "checkRemoteOnOpen": false 등을 넣어 끕니다(서버 설정 우선).

05 — 설정설정 파일 위치

설정은 프로젝트 폴더의 .vscode/idc-deploy.json에 저장됩니다. “IDC: 설정 파일 생성” 명령으로 만들고, servers 배열에 여러 서버를 등록할 수 있습니다.

06 — 사용열기 · 다운로드

  • 클릭 → 읽기전용 미리보기 (로컬에 파일이 생기지 않음). 탭에 ☁ 뱃지로 로컬과 구분됩니다.
  • 로컬로 다운로드 (미리보기 상단 버튼·우클릭) → 실제 저장 + 편집 가능.
  • 트리 우측 상단 ☁⬇ 버튼 = 서버 전체(remotePath 시작점부터) 다운로드.
  • 폴더 우클릭 → “폴더 전체 다운로드” = 그 폴더만 재귀 다운로드(제외 규칙 적용).
i폴더/서버 다운로드 시 출력(Output) 로그가 자동으로 뜨며 스캔·다운로드되는 파일이 실시간으로 기록됩니다. 트리 상단 출력 버튼으로도 열 수 있어요. · 로컬 파일을 지워도 원격은 영향이 없습니다.

07 — 편집원격 생성 · 삭제 · 업로드

  • 폴더/파일 생성 — 폴더 우클릭 또는 트리 상단 새 폴더 / 새 파일 버튼. 하위 경로도 가능(예: assets/img).
  • 삭제 — 파일·폴더 우클릭 → “원격에서 삭제”. 항상 확인창이 뜨며, 폴더는 하위 전체가 삭제됩니다(되돌릴 수 없음).
  • 바이너리 업로드 — 로컬 탐색기에서 파일/폴더 우클릭 → “IDC: 원격으로 업로드”. 이미지·exe 등도 업로드(여러 개·폴더 재귀 지원).

08 — 설정제외 규칙 (ignore)

트리 표시·업로드·다운로드에서 제외됩니다. 세 곳이 합쳐집니다:

  • 기본node_modules, .git, .svn, .hg, .DS_Store, Thumbs.db, .vscode, *.log
  • 워크스페이스 설정idcDeploy.ignore (모든 서버 공통)
  • 서버별idc-deploy.json의 각 서버 객체 안 ignore (설정 파일 최상위 ignore는 지원 안 함)

패턴: node_modules(어느 깊이든), *.bak(어느 위치든), logs/**(remotePath 기준 하위 전체).

제외 항목 선택 (창)

트리 상단의 제외 선택 아이콘 또는 “IDC: 제외 항목 선택 (창)”모달 창이 열립니다.

  • 실제 서버 디렉터리 트리를 폴더별로 펼쳐가며 체크(폴더 체크 = 하위 전체 제외).
  • 자주 쓰는 프리셋 체크박스 + 직접 추가 입력.
  • 현재 제외 항목은 미리 체크된 상태로 표시 → 저장 시 활성 서버 ignore에 반영·트리 갱신.

09 — 참고자주 묻는 것

질문
로컬 파일을 지우면 원격도 지워지나요?아니요. 저장 시 업로드만 합니다. 원격 삭제는 “원격에서 삭제”로만 됩니다.
큰 파일이 안 받아져요.전송에는 타임아웃이 없습니다. 데이터가 흐르는 한 계속 진행됩니다.
비밀번호는 어디 저장되나요?OS 키체인(SecretStorage)에 암호화 저장. 설정 파일엔 넣지 않습니다.
미리보기에서 편집이 안 돼요.미리보기는 읽기전용입니다. “로컬로 다운로드” 후 편집하세요.
탐색·재접속이 멈춰요.트리 상단 “재접속”을 누르세요. 메타 작업은 20초 후 자동 재시도됩니다.
IDC Deploy · 사내 배포 도구 · 문제 또는 기능 요청은 담당자에게 알려주세요.