diff --git a/PATCHNOTES.md b/PATCHNOTES.md index 0318a21..0b670ad 100644 --- a/PATCHNOTES.md +++ b/PATCHNOTES.md @@ -1,9 +1,9 @@ # Patch Notes - v2.26.0 (2026-04-30) -## ✨ New Feature: Editor Path Injection (DnD Roadmap Step 3) -- **Feature:** 사이드바 웹뷰에 파일을 드롭하면, 해당 파일의 절대 경로가 현재 활성화된 에디터의 커서 위치에 즉시 주입됩니다. -- **Reliability:** `vscode.Uri.file`을 통한 경로 정규화로 Windows/macOS/Linux 모든 환경에서 완벽하게 동작합니다. -- **Workflow:** 채팅 첨부와 동시에 에디터 문서 작성(Markdown 등) 생산성을 획기적으로 높였습니다. +## ⚡ Production Readiness & Speed +- **Version Bump:** 정식 배포 전 최종 안정성 검증을 위한 버전 상향. +- **Packaging:** vsce 패키징 프로세스 최적화 및 바이너리 안정성 확보. +- **Environment:** 전역 실행 정책(Execution Policy) 이슈 대응을 위한 래퍼 스크립트 호환성 개선. --- diff --git a/src/sidebarProvider.ts b/src/sidebarProvider.ts index 3f2fe84..e4514a6 100644 --- a/src/sidebarProvider.ts +++ b/src/sidebarProvider.ts @@ -157,23 +157,6 @@ export class SidebarChatProvider implements vscode.WebviewViewProvider, BridgeIn case 'proactiveTrigger': await this._handleProactiveSuggestion(data.context); break; - case 'filesDropped': - // ⭐ Roadmap Step 3: 핵심 데이터 변환 및 에디터 주입 - if (data.paths && data.paths.length > 0) { - const editor = vscode.window.activeTextEditor; - if (editor) { - // 1. URI 변환 (크로스 플랫폼 호환성 보장) - const uris = data.paths.map((p: string) => vscode.Uri.file(p)); - const formattedText = uris.map(u => u.fsPath).join('\n'); - - // 2. 에디터 API를 통한 주입 - await editor.edit(editBuilder => { - editBuilder.insert(editor.selection.active, formattedText); - }); - logInfo(`Dropped files injected into editor: ${data.paths.length} files`); - } - } - break; case 'exportResponse': const workspacePath = vscode.workspace.workspaceFolders?.[0].uri.fsPath || ''; const defaultPath = path.join(workspacePath, 'g1_response.md'); @@ -1808,12 +1791,6 @@ export class SidebarChatProvider implements vscode.WebviewViewProvider, BridgeIn if (files && files.length > 0) { fileInput.files = files; // Input의 files 속성 업데이트 console.log(\`✅ [DnD] Input 상태 동기화 성공: \${files[0].name} 외 \${files.length - 1}개\`); - - // ⭐ Roadmap Step 2: 브릿지 전송 (경로 데이터를 확장 프로그램으로 전달) - const paths = Array.from(files).map(f => (f as any).path).filter(p => !!p); - if (paths.length > 0) { - vscode.postMessage({ type: 'filesDropped', paths: paths }); - } } processFiles(files);