Callstack Code Inserter
PHP 파일의 변경된 함수에 디버그 코드를 자동으로 삽입하고 선택적으로 SFTP로 서버에 업로드하는 VS Code 확장 프로그램입니다.
주요 기능
- Git diff를 기반으로 변경된 PHP 함수 식별
- 변경된 함수에 callstack 추적 코드 자동 삽입
- 디버그 코드 제거 기능 제공
- 변경된 파일 자동 저장
- SFTP를 통한 서버 업로드 지원
사용 방법
디버그 코드 삽입
- 명령 팔레트(F1 또는 Ctrl+Shift+P)를 열고
PHP: Insert Debug Code to Changed Functions 명령을 실행합니다.
- 확장 프로그램은 현재 브랜치의 변경 사항을 분석하고 변경된 PHP 파일의 함수에 자동으로 디버그 코드를 삽입합니다.
- SFTP 설정이 활성화된 경우 파일을 서버에 자동으로 업로드합니다.
디버그 코드 제거
- 디버그 코드가 포함된 PHP 파일을 엽니다.
- 명령 팔레트(F1 또는 Ctrl+Shift+P)를 열고
PHP: Remove Debug Code from Current File 명령을 실행합니다.
- 확장 프로그램은 현재 열린 파일에서 모든 디버그 코드를 찾아 제거합니다.
설정
확장 프로그램 설정에서 다음 옵션을 구성할 수 있습니다:
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 저장소여야 합니다.
삽입되는 디버그 코드
// [CALLSTACK-INSERTER] DEBUG START: Added by code inserter
$backtrace = debug_backtrace(2);
libCallstackWriter::write($backtrace, __FILE__);
// [CALLSTACK-INSERTER] DEBUG END
개발 및 테스트
개발 환경 설정
저장소 클론
git clone https://github.com/your-username/callstack-code-inserter.git
cd callstack-code-inserter
의존성 설치
npm install
테스트 실행
테스트는 VS Code의 확장 테스트 프레임워크와 Mocha를 사용합니다.
npm test
테스트는 다음 영역을 다룹니다:
- 확장 프로그램 활성화와 명령 등록
- Git 명령어 상호작용
- PHP 함수 파싱 및 디버그 코드 삽입
- 파일 처리 및 SFTP 업로드
라이선스
MIT
| |