기본 콘텐츠로 건너뛰기

[2025-08-24] vscode로 프로젝트 초기 설정 가이드

vscode로 프로젝트 초기 설정 가이드

안녕하세요. 클스 입니다.

우리가 서비스를 개발할때, front-end, back-end, batch 등 여러 하위 시스템들로 구성하는 경우가 많습니다.
이때 project 폴더를 만들고 하위에 폴더를 구성합니다.

full-stack을 혼자 다해야 하는 개발자는 vscode를 3개를 실행해서 편집하는 경우가 대부분입니다.

테미널도 3개를 띄워서 쓰는 경우가 있습니다. 이를 간단하게 해결하는 방법입니다.


1. 개요

솔루션, 서비스를 개발할때 project folder를 생성하고, 하위에 여러 기능들을 추가한다.
api, batch, user web, admin web, monitoring web...

이때 vscode의 workspace를 열면 자동으로 터미널까지 셋팅하게 할 수 있다.

2. 환경 설정(workspace)

  • project folder 생성
    $ mkdir myproject
    $ cd myproject
    $ mkdir .vscode
    $ code .
    
  • .vscode 폴더에서 tasks.json 작성
    {
      "version": "1.0.0",
      "tasks": [
        {
          "label": "admin-web",
          "type": "shell",
          "command": "${env:SHELL}",                   // macOS/Linux
          "windows": { "command": "powershell.exe" },  // Windows
          "options": {
            "cwd": "${workspaceFolder}/nginx-proxy" 
          },
          "presentation": {
            "panel": "dedicated",
            "group": "MyService",          //     group  
            "reveal": "always",
            "showReuseMessage": false
          },
          "problemMatcher": [],
          "runOptions": { "runOn": "folderOpen" }
        },
        {
          "label": "web-user",
          "type": "shell",
          "command": "${env:SHELL}",
          "windows": { "command": "powershell.exe" },
          "options": {
            "cwd": "${workspaceFolder}/web-user/trunk" 
          },
          "presentation": {
            "panel": "dedicated",
            "group": "MyService",
            "reveal": "always",
            "showReuseMessage": false
          },
          "problemMatcher": [],
          "runOptions": { "runOn": "folderOpen" }
        },
        {
          "label": "user-web-api",
          "type": "shell",
          "command": "${env:SHELL}",
          "windows": { "command": "powershell.exe" },
          "options": {
            "cwd": "${workspaceFolder}/web-user-api/trunk" 
          },
          "presentation": {
            "panel": "dedicated",
            "group": "MyService",
            "reveal": "always",
            "showReuseMessage": false
          },
          "problemMatcher": [],
          "runOptions": { "runOn": "folderOpen" }
        }
      ]
    }
    
  • 하위 프로젝트 폴더를 생성하고 workspace로 저장한다.
    {
      "folders": [
        {
          "path": ".",
          "name": "MyService",
          "editor.tabSize": 2,
        }
      ],
      "settings": {
        "files.exclude": {
          "**/.git": true,
          "**/.venv": true,
          "**/.nvmrc": true,
          "**/.quasar": true,
          "**/.files": true,
          "**/node_modules": true,
          "**/.DS_Store": true,
          "**/__pycache__": true
        }
      }
    }
    
  • tasks.json 파일 변경시 적용
1. 편집기 재실행 (간단하지만 확실한 방법)
   창 전체 Reload : 단축키: Ctrl+Shift+P → “Developer: Reload Window” 실행
   VS Code 창이 재시작되며 모든 설정(tasks.json 포함)이 새로 로드됩니다.

2. 워크스페이스 재열기
   메뉴: File > Close Folder 한 뒤 다시 Open Folder
   폴더 열기 시 runOn: "folderOpen" 옵션이 있는 태스크가 자동으로 실행됩니다.
  • svn ignore 설정하기
    # .svnignore 파일 생성
    .git
    .venv
    .nvmrc
    .quasar
    .files
    node_modules
    .DS_Store
    __pycache__
    
  • 커밋하기
    # 1) .svnignore 파일을 svn:ignore 속성으로 설정
    svn propset svn:ignore -F .svnignore .
    
    # 2) 변경 사항 커밋
    svn commit -m "Add svn:ignore based on VSCode files.exclude" 
  • code로 workspace 열기
    • workspace를 프로젝트 폴더에 생성했다면 myservice.code-workspace 파일이 있다.
    • $ code myservice.code-workspace 로 열면 필요한 Terminal이 한번에 열리게 된다.

3. 친절한 README.md 파일

  • project 폴더에 README.md : 개발자가 빠르게 개발, 빌드환경을 설정할 수 있도록 상세하게 적는다.
    하위 여러개의 프로젝트가 있으므로 전체를 기술한다. 그리고 각 프로젝트 폴더별 README.md를 생성하고 자세하게 필요한 내용을 가이드 한다. 전체 실행 방법, 테스트 계정등을 포함하면 좋다.
  • 신입 팀원이 들어와도 개발 환경 구축 부터 빠르게 할 수 있게 된다.
# web-user

## quasar 초기 설정
```bash
pnpm setup --global ===> .zshrc에 pnpm path 를 추가
pnpm add -g @quasar/cli
pnpm add -D vite@^6.0.0 => 프로젝트는 이 버전을 쓰네
```

## 모듈 설치
```bash
pnpm install --frozen-lockfile
```

## 로컬 구동
```bash
./start.sh
# or
nvm use
pnpm start:local-pwa
```

## 빌드
```bash
# 개발
pnpm build:dev-pwa

# 운영
pnpm build:prd-pwa
```

## Tips
```bash
# config 임시파일 삭제
pnpm quasar clean --qconf
```

댓글

이 블로그의 인기 게시물

[quaser.dev][2014-09-14] 윈도우즈(10, 64bit)에 개발환경 설정하기

[quaser.dev][2014-09-14] 윈도우즈(10, 64bit)에 개발환경 설정하기

[2024-10-19] iPhone, iPad에서 ChatGPT로 PDF 생성시 한글 깨짐 해결 방법

iPhone, iPad에서 ChatGPT로 PDF 생성 시 한글 깨짐 해결 방법

[2025-04-16(수)] OpenAI gpt-4.1 시리즈 발표, Anthropic Claude에 대한 생각

OpenAI gpt-4.1 시리즈 발표, Anthropic Claude에 대한 생각 안녕하세요. 클스 입니다. 4/15일자로 openai가 gpt-4.1 시리즈를 발표 했습니다. 현재는 api로만 사용가능합니다. 점차 웹/앱 사용자에게 오픈 될거라 생각 됩니다. 비용상 문제로 4.1-mini, nano를 사용해서 chatbot을 만들어 보고 있습니다. 4o 시리즈 보다는 확실히 빠르고, 답변의 정확도는 올라간 것 같습니다. 앤트로픽 클로드와 비교를 많이 하는데, 업무 시스템 혹은 AI 솔루션을 개발하는 입장에서는 어떤 생태계를 제공하는가가 주요한 결정 입니다. AI관련 인력을 충분히 보유한 회사의 경우는 어떤걸 사용해도 좋을 결과를 가지겠지만 일반적인 챗봇 개발 절차를 보면 다음과 같이 볼 수 있습니다. 1. 문서를 준비한다. 대부분 pdf, text, markdown 2. 문서를 파싱해서 vectordb에 올린다.     - 별도 벡터디비 구성 필요. 어떤 db를 선택할지 고민 필요     - 어떤 Parser를 사용할지, 텍스트 오버래핑은 얼마가 적당한지 고민 필요        (회사의 문서가 워낙 많고, 다양하면 하나하나 테스트 해서 좋은걸 선택하는 것이 어렵다)     - 유사도 측정은 어떤 알고리즘을 써야할지 고민 필요     - llamaindex도 고민해야 함. 3. RAG flow를 만든다.     - langchain을 쓸지, 각 AI 벤더에서 제공하는 sdk를 쓸지 고민 필요       (대부분 락인이 되지 않으려면 langchain을 사용하면 좋지만, 벤더에 특화면 기능 적용이 늦음) 4. 챗봇 UI 앱을 만든다.     - 답변이 text 로 구성되다 보니. 그래프, 이미지등 복합적인 컨텐츠를 재배치 하여 표현하기 상당히 어렵네요. (이건 제가 실력이 모자라서 .. 패스) ...