Skip to content
| Marketplace
Sign in
Visual Studio Code>Other>Callstack Code InserterNew to Visual Studio Code? Get it now.
Callstack Code Inserter

Callstack Code Inserter

bgjo

|
8 installs
| (0) | Free
변경된 PHP 함수에 callstack 로깅 코드를 자동으로 삽입하는 VS Code 확장
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info

Callstack Code Inserter

PHP 파일의 변경된 함수에 디버그 코드를 자동으로 삽입하고 Test Scope 보고서를 생성하는 VS Code 확장 프로그램입니다.

주요 기능

  • Git diff를 기반으로 변경된 PHP 함수 식별
  • 변경된 함수에 callstack 추적 코드 자동 삽입
  • 🆕 Git 명령어 기반 유연한 커밋 분석: 사용자 정의 git 명령어를 통한 동적 커밋 추출
  • 🆕 Test Scope 보고서 생성: Jira 연동 및 슬랙 알림을 통한 영향범위 보고서 자동 생성
  • 🆕 제외 패턴 필터링: 테스트 디렉토리(12r/program/tests/) 자동 제외
  • 디버그 코드 제거 기능 제공
  • 변경된 파일 자동 저장

사용 방법

SCM 패널에서 접근

VS Code의 소스 제어 패널에서 🤖 아이콘을 클릭하여 모든 명령어에 쉽게 접근할 수 있습니다.

1. Commit 간 변경 함수에 로깅 코드 Insert

  1. SCM 패널의 🤖 아이콘 클릭 또는 명령 팔레트에서 [solup] Commit 간 변경 함수에 로깅 코드 Insert 실행
  2. 비교할 커밋 ID 입력 (기본값: master와의 merge base)
  3. 확장 프로그램이 변경된 PHP 함수를 분석하고 디버그 코드를 자동 삽입

2. 🆕 영향범위 보고서 생성

  1. SCM 패널의 🤖 아이콘 클릭 또는 명령 팔레트에서 [solup] 영향범위 보고서 생성 실행
  2. 입력 정보:
    • Jira Key: 프로젝트 키 (예: PROJ-1234)
    • 개발 브랜치: 분석할 브랜치명 (예: feature/PROJ-1234)
    • 전송 채널: QA 공식 채널 또는 개인 DM 선택
    • Diff 정보 (선택사항): Git 명령어를 통한 커밋 추출
      git log --no-merges --author="bgjo" --pretty=format:"%H %s" 4cc47310..50510a5c | grep "ECHOSTING-123456"
      
  3. 자동으로 변경사항을 분석하고 Test Scope 보고서를 생성하여 선택한 채널로 전송

3. 선택한 파일의 모든 함수에 로깅 코드 Insert

  1. 개별 파일 또는 폴더 선택
  2. 선택한 범위의 모든 PHP 함수에 디버그 코드 삽입

4. 로깅 코드 제거

  1. 변경된 PHP 파일에서 삽입된 모든 디버그 코드를 자동 제거

🔧 고급 기능

Git 명령어 기반 분석

1.0.0 버전부터 더욱 유연한 커밋 분석이 가능합니다:

# 특정 작성자의 커밋만 분석
git log --author="username" --pretty=format:"%H %s" | grep "JIRA-123"

# 특정 기간의 커밋 분석
git log --since="2024-01-01" --until="2024-12-31" --pretty=format:"%H %s"

# 특정 범위의 커밋에서 키워드 필터링
git log --no-merges --pretty=format:"%H %s" abc123..def456 | grep "hotfix"

제외 패턴

다음 디렉토리는 자동으로 분석에서 제외됩니다:

  • 12r/program/tests/ 하위의 모든 파일

설정

확장 프로그램 설정에서 다음 옵션을 구성할 수 있습니다:

SFTP 설정 (선택사항)

  • callstack-inserter.sftp.enabled: SFTP 전송 활성화 여부 (기본값: false)
  • callstack-inserter.sftp.host: SFTP 서버 호스트
  • callstack-inserter.sftp.port: SFTP 서버 포트 (기본값: 22)
  • callstack-inserter.sftp.username: SFTP 사용자 이름
  • callstack-inserter.sftp.password: SFTP 비밀번호
  • callstack-inserter.sftp.remotePath: SFTP 원격 기본 경로

설치 요구 사항

  • Visual Studio Code 1.85.0 이상
  • Git이 설치되어 있어야 합니다.
  • 프로젝트가 Git 저장소여야 합니다.
  • 환경 변수 설정 (Test Scope 보고서 생성 시):
    • .env 파일에 필요한 API 키 및 설정 정보

삽입되는 디버그 코드

// [CALLSTACK-INSERTER] DEBUG START: Added by code inserter
$backtrace = debug_backtrace(2);
libCallstackWriter::write($backtrace, __FILE__);
// [CALLSTACK-INSERTER] DEBUG END

🚀 버전 1.0.0의 새로운 기능

  • Git 명령어 기반 분석: 복잡한 커밋 패턴도 유연하게 분석 가능
  • Test Scope 보고서: Jira 연동 및 자동 슬랙 알림
  • 제외 패턴 필터링: 테스트 파일 자동 제외로 정확한 분석
  • 통합 diff 엔진: 여러 커밋의 변경사항을 종합 분석
  • 향상된 UI/UX: 더 직관적인 입력 방식과 검증

개발 및 테스트

개발 환경 설정

  1. 저장소 클론

    git clone https://github.com/your-username/callstack-code-inserter.git
    cd callstack-code-inserter
    
  2. 의존성 설치

    npm install
    
  3. 환경 변수 설정

    cp .env.example .env
    # .env 파일에 필요한 API 키 등을 설정
    

테스트 실행

테스트는 VS Code의 확장 테스트 프레임워크와 Mocha를 사용합니다.

npm test

테스트는 다음 영역을 다룹니다:

  • 확장 프로그램 활성화와 명령 등록
  • Git 명령어 상호작용 및 커밋 해시 추출
  • PHP 함수 파싱 및 디버그 코드 삽입
  • 파일 처리 및 제외 패턴 필터링
  • Test Scope 보고서 생성 로직

라이선스

MIT

  • Contact us
  • Jobs
  • Privacy
  • Manage cookies
  • Terms of use
  • Trademarks
© 2025 Microsoft